MCPcopy Create free account
hub / github.com/nodejs/node / TestEquality

Function TestEquality

deps/v8/test/mjsunit/harmony/private.js:123–160  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

121
122
123function TestEquality() {
124 // Every symbol should equal itself, and non-strictly equal its wrapper.
125 for (var i in symbols) {
126 assertSame(symbols[i], symbols[i])
127 assertEquals(symbols[i], symbols[i])
128 assertTrue(Object.is(symbols[i], symbols[i]))
129 assertTrue(symbols[i] === symbols[i])
130 assertTrue(symbols[i] == symbols[i])
131 assertFalse(symbols[i] === Object(symbols[i]))
132 assertFalse(Object(symbols[i]) === symbols[i])
133 assertTrue(symbols[i] == Object(symbols[i]))
134 assertTrue(Object(symbols[i]) == symbols[i])
135 assertTrue(symbols[i] === symbols[i].valueOf())
136 assertTrue(symbols[i].valueOf() === symbols[i])
137 assertTrue(symbols[i] == symbols[i].valueOf())
138 assertTrue(symbols[i].valueOf() == symbols[i])
139 }
140
141 // All symbols should be distinct.
142 for (var i = 0; i < symbols.length; ++i) {
143 for (var j = i + 1; j < symbols.length; ++j) {
144 assertFalse(Object.is(symbols[i], symbols[j]))
145 assertFalse(symbols[i] === symbols[j])
146 assertFalse(symbols[i] == symbols[j])
147 }
148 }
149
150 // Symbols should not be equal to any other value (and the test terminates).
151 var values = [347, 1.275, NaN, "string", null, undefined, {}, function() {}]
152 for (var i in symbols) {
153 for (var j in values) {
154 assertFalse(symbols[i] === values[j])
155 assertFalse(values[j] === symbols[i])
156 assertFalse(symbols[i] == values[j])
157 assertFalse(values[j] == symbols[i])
158 }
159 }
160}
161TestEquality()
162
163

Callers 1

private.jsFile · 0.70

Calls 5

ObjectFunction · 0.85
assertSameFunction · 0.50
assertEqualsFunction · 0.50
assertTrueFunction · 0.50
assertFalseFunction · 0.50

Tested by

no test coverage detected