]>
git.saurik.com Git - apple/javascriptcore.git/blob - tests/stress/equals-masquerader.js
1 function equalsNull(o
) {
7 function notEqualsNull(o
) {
11 noInline(notEqualsNull
);
13 function strictEqualsNull(o
) {
17 noInline(strictEqualsNull
);
19 function strictNotEqualsNull(o
) {
23 noInline(strictNotEqualsNull
);
25 function equalsUndefined(o
) {
29 noInline(equalsUndefined
);
31 function notEqualsUndefined(o
) {
35 noInline(notEqualsUndefined
);
37 function strictEqualsUndefined(o
) {
41 noInline(strictEqualsUndefined
);
43 function strictNotEqualsUndefined(o
) {
47 noInline(strictNotEqualsNull
);
49 function isFalsey(o
) {
55 function test(func
, iteration
, object
, outcome
) {
56 var result
= func(object
);
57 if (result
!= outcome
)
58 throw new Error("Bad result: " + result
+ " on iteration " + iteration
);
61 for (var i
= 0; i
< 10000; ++i
) {
62 test(equalsNull
, i
, null, true);
63 test(equalsNull
, i
, undefined, true);
64 test(equalsNull
, i
, void 0, true);
65 test(equalsNull
, i
, {}, false);
66 test(equalsNull
, i
, makeMasquerader(), true);
69 for (var i
= 0; i
< 10000; ++i
) {
70 test(notEqualsNull
, i
, null, false);
71 test(notEqualsNull
, i
, undefined, false);
72 test(notEqualsNull
, i
, void 0, false);
73 test(notEqualsNull
, i
, {}, true);
74 test(notEqualsNull
, i
, makeMasquerader(), false);
77 for (var i
= 0; i
< 10000; ++i
) {
78 test(strictEqualsNull
, i
, null, true);
79 test(strictEqualsNull
, i
, undefined, false);
80 test(strictEqualsNull
, i
, void 0, false);
81 test(strictEqualsNull
, i
, {}, false);
82 test(strictEqualsNull
, i
, makeMasquerader(), false);
85 for (var i
= 0; i
< 10000; ++i
) {
86 test(strictNotEqualsNull
, i
, null, false);
87 test(strictNotEqualsNull
, i
, undefined, true);
88 test(strictNotEqualsNull
, i
, void 0, true);
89 test(strictNotEqualsNull
, i
, {}, true);
90 test(strictNotEqualsNull
, i
, makeMasquerader(), true);
93 for (var i
= 0; i
< 10000; ++i
) {
94 test(equalsUndefined
, i
, null, true);
95 test(equalsUndefined
, i
, undefined, true);
96 test(equalsUndefined
, i
, void 0, true);
97 test(equalsUndefined
, i
, {}, false);
98 test(equalsUndefined
, i
, makeMasquerader(), true);
101 for (var i
= 0; i
< 10000; ++i
) {
102 test(notEqualsUndefined
, i
, null, false);
103 test(notEqualsUndefined
, i
, undefined, false);
104 test(notEqualsUndefined
, i
, void 0, false);
105 test(notEqualsUndefined
, i
, {}, true);
106 test(notEqualsUndefined
, i
, makeMasquerader(), false);
109 for (var i
= 0; i
< 10000; ++i
) {
110 test(strictEqualsUndefined
, i
, null, false);
111 test(strictEqualsUndefined
, i
, undefined, true);
112 test(strictEqualsUndefined
, i
, void 0, true);
113 test(strictEqualsUndefined
, i
, {}, false);
114 test(strictEqualsUndefined
, i
, makeMasquerader(), false);
117 for (var i
= 0; i
< 10000; ++i
) {
118 test(strictNotEqualsUndefined
, i
, null, true);
119 test(strictNotEqualsUndefined
, i
, undefined, false);
120 test(strictNotEqualsUndefined
, i
, void 0, false);
121 test(strictNotEqualsUndefined
, i
, {}, true);
122 test(strictNotEqualsUndefined
, i
, makeMasquerader(), true);
125 for (var i
= 0; i
< 10000; ++i
) {
126 test(isFalsey
, i
, null, true);
127 test(isFalsey
, i
, undefined, true);
128 test(isFalsey
, i
, void 0, true);
129 test(isFalsey
, i
, {}, false);
130 test(isFalsey
, i
, makeMasquerader(), true);