paulmillr/es6-shim

2014-09-06 00:49:49
✓9.0
✓10.0
✓25.0
✓26.0
✓27.0
✓28.0
✓29.0
✓canary
✓10.0
✓17.0
✓22.0
✓23.0
✓24.0
✓nightly
✓5.1
6.0
✓5.0.5
✓12.0
✓15.0
6.0
6.0
4.2
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
timeout waiting to hear back from safari/6.0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
firefox/nightly
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..503 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Promise ignores non-function .then arguments ok 299 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 300 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 301 clean Object.prototype String repeat() should coerce to an integer ok 302 clean Object.prototype String repeat() should work ok 303 clean Object.prototype String repeat() should work on integers ok 304 clean Object.prototype String repeat() should work on booleans ok 305 clean Object.prototype String repeat() should work on dates ok 306 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 307 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 308 clean Object.prototype String startsWith() should be truthy on correct results ok 309 clean Object.prototype String startsWith() should coerce to a string ok 310 clean Object.prototype String startsWith() should not allow a regex ok 311 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String endsWith() should be truthy on correct results ok 313 clean Object.prototype String endsWith() should coerce to a string ok 314 clean Object.prototype String endsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 316 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 317 clean Object.prototype String contains() should be truthy on correct results ok 318 clean Object.prototype String contains() should be falsy on incorrect results ok 319 clean Object.prototype String .fromCodePoint() throws a RangeError ok 320 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 321 clean Object.prototype String .fromCodePoint() has a length of one ok 322 clean Object.prototype String .fromCodePoint() works ok 323 clean Object.prototype String .fromCodePoint() works with unicode ok 324 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 325 clean Object.prototype String codePointAt() should work ok 326 clean Object.prototype String codePointAt() should work with unicode ok 327 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 328 clean Object.prototype String iterator() should work with plain strings ok 329 clean Object.prototype String iterator() should work with surrogate characters ok 330 clean Object.prototype String .raw() should have a length of 1 ok 331 clean Object.prototype String .raw() String.raw Works with Array ok 332 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 333 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 334 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 335 clean Object.prototype String .raw() String.raw Empty objects ok 336 clean Object.prototype String trim() should trim the correct characters ok 337 clean Object.prototype String trim() should not trim U+0085 ok 338 clean Object.prototype String trim() should trim on both sides ok 339 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 340 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 341 polluted Object.prototype String repeat() should coerce to an integer ok 342 polluted Object.prototype String repeat() should work ok 343 polluted Object.prototype String repeat() should work on integers ok 344 polluted Object.prototype String repeat() should work on booleans ok 345 polluted Object.prototype String repeat() should work on dates ok 346 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 347 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 348 polluted Object.prototype String startsWith() should be truthy on correct results ok 349 polluted Object.prototype String startsWith() should coerce to a string ok 350 polluted Object.prototype String startsWith() should not allow a regex ok 351 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String endsWith() should be truthy on correct results ok 353 polluted Object.prototype String endsWith() should coerce to a string ok 354 polluted Object.prototype String endsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 356 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 357 polluted Object.prototype String contains() should be truthy on correct results ok 358 polluted Object.prototype String contains() should be falsy on incorrect results ok 359 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 360 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 361 polluted Object.prototype String .fromCodePoint() has a length of one ok 362 polluted Object.prototype String .fromCodePoint() works ok 363 polluted Object.prototype String .fromCodePoint() works with unicode ok 364 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 365 polluted Object.prototype String codePointAt() should work ok 366 polluted Object.prototype String codePointAt() should work with unicode ok 367 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 368 polluted Object.prototype String iterator() should work with plain strings ok 369 polluted Object.prototype String iterator() should work with surrogate characters ok 370 polluted Object.prototype String .raw() should have a length of 1 ok 371 polluted Object.prototype String .raw() String.raw Works with Array ok 372 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 373 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 374 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 375 polluted Object.prototype String .raw() String.raw Empty objects ok 376 polluted Object.prototype String trim() should trim the correct characters ok 377 polluted Object.prototype String trim() should not trim U+0085 ok 378 polluted Object.prototype String trim() should trim on both sides ok 379 Promise.all fulfills if passed an empty array ok 380 Promise.all fulfills if passed an empty array-like ok 381 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 382 Promise.all rejects if any passed promise is rejected ok 383 Promise.all resolves foreign thenables ok 384 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 385 Promise.all does not modify the input array ok 386 Promise.all should reject with a TypeError if given a non-iterable ok 387 Promise.all should be robust against tampering (1) ok 388 Promise.all should be robust against tampering (2) ok 389 Promise.all should be robust against tampering (3) ok 390 Promise.all should be robust against tampering (4) ok 391 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 392 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 393 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 394 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 395 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 396 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 397 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 398 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 399 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 400 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 401 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 402 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 403 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 404 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 405 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 406 Promise constructor is provided ok 407 Promise constructor returns a new Promise ok 408 25.4.4.2 Promise.prototype is the Promise prototype object ok 409 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 410 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 411 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 412 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 413 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 414 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 415 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 416 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 417 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 418 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 419 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 420 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 421 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 422 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 423 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 424 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 425 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 426 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 427 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 428 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 429 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 430 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 431 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 432 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 433 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 434 25.4.4.5 Promise.resolve( x ) is a function ok 435 25.4.4.5 Promise.resolve( x ) expects one argument ok 436 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 437 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 438 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 439 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 440 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 441 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 442 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 443 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 444 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 445 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 446 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 447 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 450 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 451 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 452 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 453 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 456 25.4.4.3 Promise.race( iterable ) is a function ok 457 25.4.4.3 Promise.race( iterable ) expects one argument ok 458 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 459 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 460 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 461 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 462 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 463 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 464 25.4.4.3 Promise.race with 1-element array should reject immediately ok 465 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 466 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 467 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 468 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 469 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 470 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 471 Sequencing tests from promises-aplus/issue 61 T1 ok 472 Sequencing tests from promises-aplus/issue 61 T2a ok 473 Sequencing tests from promises-aplus/issue 61 T2b ok 474 25.4.4.1 Promise.all( iterable ) is a function ok 475 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 476 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 477 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 478 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 479 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 480 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 481 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 482 25.4.4.1 Promise.all with 1-element array should reject immediately ok 483 25.4.4.1 with 2-element array should accept an array of two promises ok 484 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 485 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 486 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 487 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 488 25.4.4.4 Promise.reject( x ) is a function ok 489 25.4.4.4 Promise.reject( x ) expects one argument ok 490 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 491 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 492 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 493 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 494 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 495 Promise.race should settle in the same way as the first promise to settle ok 496 Promise.race should never settle when given an empty iterable ok 497 Promise.race should reject with a TypeError if given a non-iterable ok 498 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 499 Promise directly resolving the promise with itself ok 500 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 501 Support user subclassing of Promise should work if you do it right ok 502 Support user subclassing of Promise should throw if you inherit incompletely ok 503 Support user subclassing of Promise should throw if you don't inherit at all # tests 470 # pass 470 # fail 0
1..503 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Promise ignores non-function .then arguments ok 299 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 300 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 301 clean Object.prototype String repeat() should coerce to an integer ok 302 clean Object.prototype String repeat() should work ok 303 clean Object.prototype String repeat() should work on integers ok 304 clean Object.prototype String repeat() should work on booleans ok 305 clean Object.prototype String repeat() should work on dates ok 306 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 307 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 308 clean Object.prototype String startsWith() should be truthy on correct results ok 309 clean Object.prototype String startsWith() should coerce to a string ok 310 clean Object.prototype String startsWith() should not allow a regex ok 311 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String endsWith() should be truthy on correct results ok 313 clean Object.prototype String endsWith() should coerce to a string ok 314 clean Object.prototype String endsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 316 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 317 clean Object.prototype String contains() should be truthy on correct results ok 318 clean Object.prototype String contains() should be falsy on incorrect results ok 319 clean Object.prototype String .fromCodePoint() throws a RangeError ok 320 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 321 clean Object.prototype String .fromCodePoint() has a length of one ok 322 clean Object.prototype String .fromCodePoint() works ok 323 clean Object.prototype String .fromCodePoint() works with unicode ok 324 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 325 clean Object.prototype String codePointAt() should work ok 326 clean Object.prototype String codePointAt() should work with unicode ok 327 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 328 clean Object.prototype String iterator() should work with plain strings ok 329 clean Object.prototype String iterator() should work with surrogate characters ok 330 clean Object.prototype String .raw() should have a length of 1 ok 331 clean Object.prototype String .raw() String.raw Works with Array ok 332 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 333 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 334 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 335 clean Object.prototype String .raw() String.raw Empty objects ok 336 clean Object.prototype String trim() should trim the correct characters ok 337 clean Object.prototype String trim() should not trim U+0085 ok 338 clean Object.prototype String trim() should trim on both sides ok 339 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 340 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 341 polluted Object.prototype String repeat() should coerce to an integer ok 342 polluted Object.prototype String repeat() should work ok 343 polluted Object.prototype String repeat() should work on integers ok 344 polluted Object.prototype String repeat() should work on booleans ok 345 polluted Object.prototype String repeat() should work on dates ok 346 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 347 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 348 polluted Object.prototype String startsWith() should be truthy on correct results ok 349 polluted Object.prototype String startsWith() should coerce to a string ok 350 polluted Object.prototype String startsWith() should not allow a regex ok 351 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String endsWith() should be truthy on correct results ok 353 polluted Object.prototype String endsWith() should coerce to a string ok 354 polluted Object.prototype String endsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 356 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 357 polluted Object.prototype String contains() should be truthy on correct results ok 358 polluted Object.prototype String contains() should be falsy on incorrect results ok 359 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 360 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 361 polluted Object.prototype String .fromCodePoint() has a length of one ok 362 polluted Object.prototype String .fromCodePoint() works ok 363 polluted Object.prototype String .fromCodePoint() works with unicode ok 364 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 365 polluted Object.prototype String codePointAt() should work ok 366 polluted Object.prototype String codePointAt() should work with unicode ok 367 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 368 polluted Object.prototype String iterator() should work with plain strings ok 369 polluted Object.prototype String iterator() should work with surrogate characters ok 370 polluted Object.prototype String .raw() should have a length of 1 ok 371 polluted Object.prototype String .raw() String.raw Works with Array ok 372 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 373 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 374 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 375 polluted Object.prototype String .raw() String.raw Empty objects ok 376 polluted Object.prototype String trim() should trim the correct characters ok 377 polluted Object.prototype String trim() should not trim U+0085 ok 378 polluted Object.prototype String trim() should trim on both sides ok 379 Promise.all fulfills if passed an empty array ok 380 Promise.all fulfills if passed an empty array-like ok 381 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 382 Promise.all rejects if any passed promise is rejected ok 383 Promise.all resolves foreign thenables ok 384 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 385 Promise.all does not modify the input array ok 386 Promise.all should reject with a TypeError if given a non-iterable ok 387 Promise.all should be robust against tampering (1) ok 388 Promise.all should be robust against tampering (2) ok 389 Promise.all should be robust against tampering (3) ok 390 Promise.all should be robust against tampering (4) ok 391 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 392 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 393 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 394 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 395 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 396 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 397 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 398 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 399 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 400 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 401 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 402 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 403 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 404 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 405 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 406 Promise constructor is provided ok 407 Promise constructor returns a new Promise ok 408 25.4.4.2 Promise.prototype is the Promise prototype object ok 409 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 410 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 411 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 412 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 413 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 414 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 415 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 416 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 417 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 418 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 419 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 420 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 421 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 422 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 423 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 424 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 425 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 426 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 427 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 428 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 429 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 430 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 431 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 432 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 433 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 434 25.4.4.5 Promise.resolve( x ) is a function ok 435 25.4.4.5 Promise.resolve( x ) expects one argument ok 436 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 437 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 438 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 439 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 440 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 441 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 442 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 443 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 444 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 445 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 446 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 447 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 450 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 451 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 452 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 453 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 456 25.4.4.3 Promise.race( iterable ) is a function ok 457 25.4.4.3 Promise.race( iterable ) expects one argument ok 458 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 459 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 460 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 461 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 462 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 463 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 464 25.4.4.3 Promise.race with 1-element array should reject immediately ok 465 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 466 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 467 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 468 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 469 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 470 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 471 Sequencing tests from promises-aplus/issue 61 T1 ok 472 Sequencing tests from promises-aplus/issue 61 T2a ok 473 Sequencing tests from promises-aplus/issue 61 T2b ok 474 25.4.4.1 Promise.all( iterable ) is a function ok 475 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 476 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 477 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 478 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 479 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 480 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 481 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 482 25.4.4.1 Promise.all with 1-element array should reject immediately ok 483 25.4.4.1 with 2-element array should accept an array of two promises ok 484 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 485 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 486 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 487 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 488 25.4.4.4 Promise.reject( x ) is a function ok 489 25.4.4.4 Promise.reject( x ) expects one argument ok 490 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 491 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 492 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 493 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 494 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 495 Promise.race should settle in the same way as the first promise to settle ok 496 Promise.race should never settle when given an empty iterable ok 497 Promise.race should reject with a TypeError if given a non-iterable ok 498 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 499 Promise directly resolving the promise with itself ok 500 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 501 Support user subclassing of Promise should work if you do it right ok 502 Support user subclassing of Promise should throw if you inherit incompletely ok 503 Support user subclassing of Promise should throw if you don't inherit at all # tests 470 # pass 470 # fail 0
2014-09-03 22:55:50
✓9.0
✓10.0
✓25.0
✓26.0
✓27.0
✓28.0
✓29.0
✓canary
✓10.0
✓17.0
✓22.0
✓23.0
✓24.0
✓nightly
✓5.1
✓6.0
✓5.0.5
✓12.0
✓15.0
✓6.0
✓6.0
4.2
android-browser/4.2
timeout waiting to hear back from android-browser/4.2
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either in the 'pending' or 'rejected' state # SKIP - ok 407 25.4.3.2 new Promise ( ... argumentsList ) is a constructor call # SKIP - ok 408 25.4.4 Properties of the Promise Constructor has a [[Protoype]] internal slot whose value is the Function prototype object # SKIP - ok 409 25.4.4 Properties of the Promise Constructor has a length property whose value is 1 ok 410 Promise constructor is provided ok 411 Promise constructor returns a new Promise ok 412 25.4.4.2 Promise.prototype is the Promise prototype object ok 413 25.4.4.2 Promise.prototype has attribute [[Writable]]: false # SKIP - ok 414 25.4.4.2 Promise.prototype has attribute [[Enumerable]]: false # SKIP - ok 415 25.4.4.2 Promise.prototype has attribute [[Configurable]]: false # SKIP - ok 416 25.4.5 Properties of the Promise Prototype Object is an ordinary object # SKIP - ok 417 25.4.5 Properties of the Promise Prototype Object is not a Promise # SKIP - ok 418 25.4.5.1 Promise.prototype.catch( onRejected ) is a function # SKIP - ok 419 25.4.5.1 Promise.prototype.catch( onRejected ) expects 'this' to be a Promise # SKIP - ok 420 25.4.5.1 Promise.prototype.catch( onRejected ) takes one argument, a function # SKIP - ok 421 25.4.5.1 Promise.prototype.catch( onRejected ) is equivalent to 'promise.then(undefined, fn)' # SKIP - ok 422 25.4.5.2 Promise.prototype.constructor is an object # SKIP - ok 423 25.4.5.2 Promise.prototype.constructor is a function # SKIP - ok 424 25.4.5.2 Promise.prototype.constructor is the Promise constructor # SKIP - ok 425 25.4.5.3 Promise.prototype.then is a function # SKIP - ok 426 25.4.5.3 Promise.prototype.then expects 'this' to be a Promise # SKIP - ok 427 25.4.5.3 Promise.prototype.then throws TypeError if 'this' is not a Promise # SKIP - ok 428 25.4.5.3 Promise.prototype.then takes two arguments, both optional, both functions # SKIP - ok 429 25.4.5.3 Promise.prototype.then has default on resolve: identity # SKIP - ok 430 25.4.5.3 Promise.prototype.then has default on reject: thrower ok 431 25.4.5.3 Promise.prototype.then does not call either function immediately if promise status is 'pending' # SKIP - ok 432 25.4.5.3 Promise.prototype.then does call onFulfilled immediately if promise status is 'fulfilled' # SKIP - ok 433 25.4.5.3 Promise.prototype.then never calls onRejected if promise status is 'fulfilled' # SKIP - ok 434 25.4.5.3 Promise.prototype.then never calls onFullfilled if promise status is 'rejected' # SKIP - ok 435 25.4.5.3 Promise.prototype.then does call onRejected immediately if promise status is 'rejected' # SKIP - ok 436 25.4.5.3 Promise.prototype.then returns its 'this' argument if it is of type 'Promise' # SKIP - ok 437 25.4.5.3 Promise.prototype.then returns a Promise-wrapped version of 'this' if 'this' is not of type 'Promise' # SKIP - ok 438 25.4.4.5 Promise.resolve( x ) is a function ok 439 25.4.4.5 Promise.resolve( x ) expects one argument ok 440 25.4.4.5 Promise.resolve( x ) passes through a resolved promise created with the same constructor as 'this' ok 441 25.4.4.5 Promise.resolve( x ) passes through an unsettled promise created with the same constructor as 'this' ok 442 25.4.4.5 Promise.resolve( x ) creates a new promise using the supplied constructor ok 443 25.4.4.5 Promise.resolve( x ) throws if 'this' is not a constructor ok 444 25.4.4.5 Promise.resolve( x ) can return a resolved promise ok 445 25.4.4.5 Promise.resolve( x ) can return a pending promise ok 446 25.4.4.5 Promise.resolve( x ) can return a rejected promise ok 447 25.4.4.5 Promise.resolve( x ) can pass through a subclassed promise if passed a subclassed promise # SKIP - ok 448 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.reject ok 449 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': provides a resolve which is not a function ok 450 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.all ok 451 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.race ok 452 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.resolve ok 453 incorrect subclassing: 25.4.1.6.1 step 8 invalid 'resolve': throws TypeError with Promise.then ok 454 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' provides a reject which is not a function ok 455 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.all ok 456 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.race ok 457 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.resolve ok 458 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.reject ok 459 incorrect subclassing: 25.4.1.6.1 step 9 invalid 'reject' throws TypeError with Promise.then ok 460 25.4.4.3 Promise.race( iterable ) is a function ok 461 25.4.4.3 Promise.race( iterable ) expects one argument ok 462 25.4.4.3 Promise.race( iterable ) should immediately reject for non-iterable argument ok 463 25.4.4.3 Promise.race( iterable ) requires 'this' to be a constructor function that supports the parameter conventions of the Promise constructor ok 464 25.4.4.3 Promise.race( iterable ) requires 'this' to provide a 'resolve' method # SKIP - ok 465 25.4.4.3 Promise.race with 0-element array should accept an empty array ok 466 25.4.4.3 Promise.race with 0-element array should return a pending promise ok 467 25.4.4.3 Promise.race with 1-element array should accept an array of one promise ok 468 25.4.4.3 Promise.race with 1-element array should reject immediately ok 469 25.4.4.3 Promise.race with 2-element array should accept an array of two promises ok 470 25.4.4.3 Promise.race with 2-element array should resolve immediately when first resolves ok 471 25.4.4.3 Promise.race with 2-element array should resolve immediately when second resolves ok 472 25.4.4.3 Promise.race with 2-element array should reject immediately when first rejects ok 473 25.4.4.3 Promise.race with 2-element array should fulfill immediately with first fulfilled promise in array ok 474 25.4.4.3 Promise.race with 2-element array should reject immediately when second rejects ok 475 Sequencing tests from promises-aplus/issue 61 T1 ok 476 Sequencing tests from promises-aplus/issue 61 T2a ok 477 Sequencing tests from promises-aplus/issue 61 T2b ok 478 25.4.4.1 Promise.all( iterable ) is a function ok 479 25.4.4.1 Promise.all( iterable ) has a length property whose value is 1 ok 480 25.4.4.1 Promise.all( iterable ) throws if 'this' is not a Promise constructor ok 481 25.4.4.1 Promise.all( iterable ) should immediately reject for non-iterable argument ok 482 25.4.4.1 Promise.all with 0-element array should accept an empty array ok 483 25.4.4.1 Promise.all with 0-element array should return a resolved promise whose result is empty array ok 484 25.4.4.1 Promise.all with 1-element array should accept an array of one promise ok 485 25.4.4.1 Promise.all with 1-element array should resolve immediately ok 486 25.4.4.1 Promise.all with 1-element array should reject immediately ok 487 25.4.4.1 with 2-element array should accept an array of two promises ok 488 25.4.4.1 with 2-element array should not resolve immediately when one of a two-promise array resolves ok 489 25.4.4.1 with 2-element array should should execute 'then' methods in sequence ok 490 25.4.4.1 with 2-element array should reject immediately when the first member of a two-promise array rejects ok 491 25.4.4.1 with 2-element array should reject immediately when the second member of a two-promise array rejects ok 492 25.4.4.4 Promise.reject( x ) is a function ok 493 25.4.4.4 Promise.reject( x ) expects one argument ok 494 25.4.4.4 Promise.reject( x ) always creates a new promise using 'this' as constructor ok 495 25.4.4.4 Promise.reject( x ) throws if 'this' is not a constructor ok 496 25.4.4.4 Promise.reject( x ) always returns a rejected promise ok 497 Promise.race should fulfill if all promises are settled and the ordinally-first is fulfilled ok 498 Promise.race should reject if all promises are settled and the ordinally-first is rejected ok 499 Promise.race should settle in the same way as the first promise to settle ok 500 Promise.race should never settle when given an empty iterable ok 501 Promise.race should reject with a TypeError if given a non-iterable ok 502 Promise sanity check: a fulfilled promise calls its fulfillment handler ok 503 Promise directly resolving the promise with itself ok 504 Promise Stealing a resolver and using it to trigger possible reentrancy bug (83) ok 505 Support user subclassing of Promise should work if you do it right ok 506 Support user subclassing of Promise should throw if you inherit incompletely ok 507 Support user subclassing of Promise should throw if you don't inherit at all # tests 474 # pass 474 # fail 0
1..507 ok 1 clean Object.prototype Array @@iterator uses Symbol.iterator if available ok 2 clean Object.prototype Array Array.from() has a length of 1 ok 3 clean Object.prototype Array Array.from() is not enumerable ok 4 clean Object.prototype Array Array.from() works with primitives ok 5 clean Object.prototype Array Array.from() should create correct array from iterable ok 6 clean Object.prototype Array Array.from() works with arraylike objects ok 7 clean Object.prototype Array Array.from() swallows negative lengths ok 8 clean Object.prototype Array Array.from() works with strings ok 9 clean Object.prototype Array Array.from() should handle empty iterables correctly ok 10 clean Object.prototype Array Array.from() should work with other constructors ok 11 clean Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 12 clean Object.prototype Array Array.from() supports a this arg ok 13 clean Object.prototype Array Array.from() throws when provided null or undefined ok 14 clean Object.prototype Array Array.from() removes holes ok 15 clean Object.prototype Array Array.from() works with this flaky example ok 16 clean Object.prototype Array Array.from() map functions supports a map function ok 17 clean Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 18 clean Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 19 clean Object.prototype Array Array.from() map functions accepts an object thisArg ok 20 clean Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 21 clean Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 22 clean Object.prototype Array Array.of() should create correct array from arguments ok 23 clean Object.prototype Array ArraycopyWithin has the right arity ok 24 clean Object.prototype Array ArraycopyWithin modifies the object in-place ok 25 clean Object.prototype Array ArraycopyWithin works with 2 args ok 26 clean Object.prototype Array ArraycopyWithin works with 3 args ok 27 clean Object.prototype Array ArraycopyWithin works with negative args ok 28 clean Object.prototype Array ArraycopyWithin works with arraylike objects ok 29 clean Object.prototype Array Arrayfind should have a length of 1 ok 30 clean Object.prototype Array Arrayfind should find item by predicate ok 31 clean Object.prototype Array Arrayfind should return undefined when nothing matched ok 32 clean Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 33 clean Object.prototype Array Arrayfind should receive all three parameters ok 34 clean Object.prototype Array Arrayfind should work with the context argument ok 35 clean Object.prototype Array Arrayfind should work with an array-like object ok 36 clean Object.prototype Array Arrayfind should work with an array-like object with negative length ok 37 clean Object.prototype Array Arrayfind should work with a sparse array ok 38 clean Object.prototype Array Arrayfind should work with a sparse array-like object ok 39 clean Object.prototype Array ArrayfindIndex should have a length of 1 ok 40 clean Object.prototype Array ArrayfindIndex should find item key by predicate ok 41 clean Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 42 clean Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 43 clean Object.prototype Array ArrayfindIndex should receive all three parameters ok 44 clean Object.prototype Array ArrayfindIndex should work with the context argument ok 45 clean Object.prototype Array ArrayfindIndex should work with an array-like object ok 46 clean Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 47 clean Object.prototype Array ArrayfindIndex should work with a sparse array ok 48 clean Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 49 clean Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 50 clean Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 51 clean Object.prototype Array Arraykeys should have a length of zero ok 52 clean Object.prototype Array Arraykeys should return 0 on first object ok 53 clean Object.prototype Array Arraykeys should return 1 on second object ok 54 clean Object.prototype Array Arraykeys should return 2 on third object ok 55 clean Object.prototype Array Arraykeys should return 3 on fourth object ok 56 clean Object.prototype Array Arraykeys should set done on completing iteration ok 57 clean Object.prototype Array Arraykeys once done it should stay done ok 58 clean Object.prototype Array Arraykeys should not skip sparse keys ok 59 clean Object.prototype Array Arrayvalues should have a length of zero ok 60 clean Object.prototype Array Arrayvalues should return 5 on first object ok 61 clean Object.prototype Array Arrayvalues should return 10 on second object ok 62 clean Object.prototype Array Arrayvalues should return 15 on third object ok 63 clean Object.prototype Array Arrayvalues should return 20 on fourth object ok 64 clean Object.prototype Array Arrayvalues should set done on completing iteration ok 65 clean Object.prototype Array Arrayvalues once done it should stay done ok 66 clean Object.prototype Array Arrayvalues should not skip sparse values ok 67 clean Object.prototype Array Arrayentries should have a length of zero ok 68 clean Object.prototype Array Arrayentries should return [0, 5] on first object ok 69 clean Object.prototype Array Arrayentries should return [1, 10] on second object ok 70 clean Object.prototype Array Arrayentries should return [2, 15] on third object ok 71 clean Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 72 clean Object.prototype Array Arrayentries should set done on completing iteration ok 73 clean Object.prototype Array Arrayentries once done it should stay done ok 74 clean Object.prototype Array Arrayentries should not skip sparse entries ok 75 clean Object.prototype Array Arrayfill has the right length ok 76 clean Object.prototype Array Arrayfill works with just a value ok 77 clean Object.prototype Array Arrayfill accepts a positive start index ok 78 clean Object.prototype Array Arrayfill accepts a negative start index ok 79 clean Object.prototype Array Arrayfill accepts a negative end index ok 80 clean Object.prototype Array Arrayfill accepts a large start index ok 81 polluted Object.prototype Array @@iterator uses Symbol.iterator if available ok 82 polluted Object.prototype Array Array.from() has a length of 1 ok 83 polluted Object.prototype Array Array.from() is not enumerable ok 84 polluted Object.prototype Array Array.from() works with primitives ok 85 polluted Object.prototype Array Array.from() should create correct array from iterable ok 86 polluted Object.prototype Array Array.from() works with arraylike objects ok 87 polluted Object.prototype Array Array.from() swallows negative lengths ok 88 polluted Object.prototype Array Array.from() works with strings ok 89 polluted Object.prototype Array Array.from() should handle empty iterables correctly ok 90 polluted Object.prototype Array Array.from() should work with other constructors ok 91 polluted Object.prototype Array Array.from() throws when provided a nonfunction second arg ok 92 polluted Object.prototype Array Array.from() supports a this arg ok 93 polluted Object.prototype Array Array.from() throws when provided null or undefined ok 94 polluted Object.prototype Array Array.from() removes holes ok 95 polluted Object.prototype Array Array.from() works with this flaky example ok 96 polluted Object.prototype Array Array.from() map functions supports a map function ok 97 polluted Object.prototype Array Array.from() map functions passes both (and only) the item and the current index to the map function ok 98 polluted Object.prototype Array Array.from() map functions passes both the item and the current index to the map function with a "this" value ok 99 polluted Object.prototype Array Array.from() map functions accepts an object thisArg ok 100 polluted Object.prototype Array Array.from() map functions accepts a primitive thisArg ok 101 polluted Object.prototype Array Array.from() map functions accepts a falsy thisArg ok 102 polluted Object.prototype Array Array.of() should create correct array from arguments ok 103 polluted Object.prototype Array ArraycopyWithin has the right arity ok 104 polluted Object.prototype Array ArraycopyWithin modifies the object in-place ok 105 polluted Object.prototype Array ArraycopyWithin works with 2 args ok 106 polluted Object.prototype Array ArraycopyWithin works with 3 args ok 107 polluted Object.prototype Array ArraycopyWithin works with negative args ok 108 polluted Object.prototype Array ArraycopyWithin works with arraylike objects ok 109 polluted Object.prototype Array Arrayfind should have a length of 1 ok 110 polluted Object.prototype Array Arrayfind should find item by predicate ok 111 polluted Object.prototype Array Arrayfind should return undefined when nothing matched ok 112 polluted Object.prototype Array Arrayfind should throw TypeError when function was not passed ok 113 polluted Object.prototype Array Arrayfind should receive all three parameters ok 114 polluted Object.prototype Array Arrayfind should work with the context argument ok 115 polluted Object.prototype Array Arrayfind should work with an array-like object ok 116 polluted Object.prototype Array Arrayfind should work with an array-like object with negative length ok 117 polluted Object.prototype Array Arrayfind should work with a sparse array ok 118 polluted Object.prototype Array Arrayfind should work with a sparse array-like object ok 119 polluted Object.prototype Array ArrayfindIndex should have a length of 1 ok 120 polluted Object.prototype Array ArrayfindIndex should find item key by predicate ok 121 polluted Object.prototype Array ArrayfindIndex should return -1 when nothing matched ok 122 polluted Object.prototype Array ArrayfindIndex should throw TypeError when function was not passed ok 123 polluted Object.prototype Array ArrayfindIndex should receive all three parameters ok 124 polluted Object.prototype Array ArrayfindIndex should work with the context argument ok 125 polluted Object.prototype Array ArrayfindIndex should work with an array-like object ok 126 polluted Object.prototype Array ArrayfindIndex should work with an array-like object with negative length ok 127 polluted Object.prototype Array ArrayfindIndex should work with a sparse array ok 128 polluted Object.prototype Array ArrayfindIndex should work with a sparse array-like object ok 129 polluted Object.prototype Array ArrayIterator ArrayIteratornext should work when applied to an ArrayIterator ok 130 polluted Object.prototype Array ArrayIterator ArrayIteratornext throws when not applied to an ArrayIterator ok 131 polluted Object.prototype Array Arraykeys should have a length of zero ok 132 polluted Object.prototype Array Arraykeys should return 0 on first object ok 133 polluted Object.prototype Array Arraykeys should return 1 on second object ok 134 polluted Object.prototype Array Arraykeys should return 2 on third object ok 135 polluted Object.prototype Array Arraykeys should return 3 on fourth object ok 136 polluted Object.prototype Array Arraykeys should set done on completing iteration ok 137 polluted Object.prototype Array Arraykeys once done it should stay done ok 138 polluted Object.prototype Array Arraykeys should not skip sparse keys ok 139 polluted Object.prototype Array Arrayvalues should have a length of zero ok 140 polluted Object.prototype Array Arrayvalues should return 5 on first object ok 141 polluted Object.prototype Array Arrayvalues should return 10 on second object ok 142 polluted Object.prototype Array Arrayvalues should return 15 on third object ok 143 polluted Object.prototype Array Arrayvalues should return 20 on fourth object ok 144 polluted Object.prototype Array Arrayvalues should set done on completing iteration ok 145 polluted Object.prototype Array Arrayvalues once done it should stay done ok 146 polluted Object.prototype Array Arrayvalues should not skip sparse values ok 147 polluted Object.prototype Array Arrayentries should have a length of zero ok 148 polluted Object.prototype Array Arrayentries should return [0, 5] on first object ok 149 polluted Object.prototype Array Arrayentries should return [1, 10] on second object ok 150 polluted Object.prototype Array Arrayentries should return [2, 15] on third object ok 151 polluted Object.prototype Array Arrayentries should return [3, 20] on fourth object ok 152 polluted Object.prototype Array Arrayentries should set done on completing iteration ok 153 polluted Object.prototype Array Arrayentries once done it should stay done ok 154 polluted Object.prototype Array Arrayentries should not skip sparse entries ok 155 polluted Object.prototype Array Arrayfill has the right length ok 156 polluted Object.prototype Array Arrayfill works with just a value ok 157 polluted Object.prototype Array Arrayfill accepts a positive start index ok 158 polluted Object.prototype Array Arrayfill accepts a negative start index ok 159 polluted Object.prototype Array Arrayfill accepts a negative end index ok 160 polluted Object.prototype Array Arrayfill accepts a large start index ok 161 Collections map iteration ok 162 Collections set iteration ok 163 Collections Map should exist in global namespace ok 164 Collections Map should have the right arity ok 165 Collections Map should has valid getter and setter calls ok 166 Collections Map should accept an iterable as argument ok 167 Collections Map should not be callable without "new" ok 168 Collections Map should be subclassable ok 169 Collections Map treats positive and negative zero the same ok 170 Collections Map should map values correctly ok 171 Collections Map should map empty values correctly ok 172 Collections Map should has correct querying behavior ok 173 Collections Map should allow NaN values as keys ok 174 Collections Map should not have [[Enumerable]] props ok 175 Collections Map should allow common ecmascript idioms ok 176 Collections Map should has unique constructor ok 177 Collections Map Map.prototype.size should throw TypeError ok 178 Collections Map should have keys, values and size props ok 179 Collections Map should have an iterator that works with Array.from ok 180 Collections Map forEach should be iterable via forEach ok 181 Collections Map forEach should iterate over empty keys ok 182 Collections Map forEach should support the thisArg ok 183 Collections Map forEach should have a length of 1 ok 184 Collections Map forEach should not revisit modified keys ok 185 Collections Map forEach visits keys added in the iterator ok 186 Collections Map forEach visits keys added in the iterator when there is a deletion ok 187 Collections Map forEach does not visit keys deleted before a visit ok 188 Collections Map forEach should work after deletion of the current key ok 189 Collections Map forEach should convert key -0 to +0 ok 190 Collections Set should exist in global namespace ok 191 Collections Set should have the right arity ok 192 Collections Set should accept an iterable as argument ok 193 Collections Set accepts an array as an argument ok 194 Collections Set should not be callable without "new" ok 195 Collections Set should be subclassable ok 196 Collections Set should has valid getter and setter calls ok 197 Collections Set should work as expected ok 198 Collections Set should has size ok 199 Collections Set should has clear method ok 200 Collections Set should allow NaN values as keys ok 201 Collections Set should not have [[Enumerable]] props ok 202 Collections Set should allow common ecmascript idioms ok 203 Collections Set should has unique constructor ok 204 Collections Set Set.prototype.size should throw TypeError ok 205 Collections Set should throw proper errors when user invokes methods with wrong types of receiver # SKIP - ok 206 Collections Set has an iterator that works with Array.from works with the full set ok 207 Collections Set has an iterator that works with Array.from works with Setkeys() ok 208 Collections Set has an iterator that works with Array.from works with Setvalues() ok 209 Collections Set has an iterator that works with Array.from works with Setentries() ok 210 Collections Set forEach should be iterable via forEach ok 211 Collections Set forEach should iterate over empty keys ok 212 Collections Set forEach should support the thisArg ok 213 Collections Set forEach should have a length of 1 ok 214 Collections Set forEach should not revisit modified keys ok 215 Collections Set forEach visits keys added in the iterator ok 216 Collections Set forEach visits keys added in the iterator when there is a deletion (slow path) ok 217 Collections Set forEach visits keys added in the iterator when there is a deletion (fast path) ok 218 Collections Set forEach does not visit keys deleted before a visit ok 219 Collections Set forEach should work after deletion of the current key ok 220 Collections Set forEach should convert key -0 to +0 ok 221 Math acosh() should be correct ok 222 Math asinh() should be correct for NaN ok 223 Math asinh() should be correct for zeroes ok 224 Math asinh() should be correct for Infinities ok 225 Math asinh() should be correct ok 226 Math atanh() should be correct ok 227 Math cbrt() should be correct ok 228 Math .clz32() should have proper uint32 conversion ok 229 Math .clz32() returns 32 for numbers that coerce to 0 ok 230 Math cosh() should be correct for NaN ok 231 Math cosh() should be correct for Infinities ok 232 Math cosh() should be correct for zeroes ok 233 Math cosh() should be correct ok 234 Math expm1() should be correct ok 235 Math expm1() works with very negative numbers ok 236 Math hypot() should be correct ok 237 Math hypot() should coerce to a number ok 238 Math hypot() should take more than 3 arguments ok 239 Math hypot() should have the right length ok 240 Math hypot() works for very large or small numbers ok 241 Math log2() should be correct ok 242 Math log10 should be correct ok 243 Math log1p should be correct ok 244 Math sign() should be correct ok 245 Math sinh() should be correct ok 246 Math tanh() should be correct ok 247 Math trunc() should be correct ok 248 Math trunc() should coerce to a number immediately ok 249 Math imul() should be correct for non-numbers ok 250 Math imul() should be correct for hex values ok 251 Math imul() should be correct ok 252 Math imul() should be correct for objects with valueOf ok 253 Math Math.fround returns NaN for undefined ok 254 Math Math.fround returns NaN for NaN ok 255 Math Math.fround works for zeroes and infinities ok 256 Math Math.fround returns infinity for large numbers ok 257 Math Math.fround returns zero for really small numbers ok 258 Math Math.fround rounds properly ok 259 Math Math.fround rounds properly with the max float 32 ok 260 Math Math.fround rounds properly with the min float 32 ok 261 Number Number constants should have max safe integer ok 262 Number Number constants should have min safe integer ok 263 Number Number constants should has epsilon ok 264 Number Number.parseInt() should work ok 265 Number Number.parseFloat() should work ok 266 Number Number.isFinite() should work ok 267 Number Number.isFinite() should not be confused by type coercion ok 268 Number Number.isInteger() should be truthy on integers ok 269 Number Number.isInteger() should be false when the type is not number ok 270 Number Number.isInteger() should be false when NaN ok 271 Number Number.isInteger() should be false when ∞ ok 272 Number Number.isInteger() should be false when number is not integer ok 273 Number Number.isInteger() should be true when abs(number) is 2^53 or larger ok 274 Number Number.isInteger() should be true when abs(number) is less than 2^53 ok 275 Number Number.isSafeInteger() should be truthy on integers ok 276 Number Number.isSafeInteger() should be false when the type is not number ok 277 Number Number.isSafeInteger() should be false when NaN ok 278 Number Number.isSafeInteger() should be false when ∞ ok 279 Number Number.isSafeInteger() should be false when number is not integer ok 280 Number Number.isSafeInteger() should be false when abs(number) is 2^53 or larger ok 281 Number Number.isSafeInteger() should be true when abs(number) is less than 2^53 ok 282 Number Number.isNaN() should be truthy only on NaN ok 283 Object Object.keys() works on strings ok 284 Object Object.keys() throws on null or undefined ok 285 Object Object.keys() works on other primitives ok 286 Object Object.is() should compare regular objects correctly ok 287 Object Object.is() should compare 0 and -0 correctly ok 288 Object Object.is() should compare NaNs correctly ok 289 Object Object.getPropertyDescriptor() should produce an array of properties including inherited ones ok 290 Object Object.getPropertyNames() should produce an array of property names including inherited ones ok 291 Object Object.assign() has the correct length ok 292 Object Object.assign() returns the modified target object ok 293 Object Object.assign() should merge two objects ok 294 Object Object.assign() should merge three objects ok 295 Object Object.assign() only iterates over own keys ok 296 Object Object.assign() throws when target is not an object ok 297 Object Object.assign() ignores non-object sources ok 298 Object Object.setPrototypeOf() argument checking should throw TypeError if first arg is not object ok 299 Object Object.setPrototypeOf() argument checking should throw TypeError if second arg is not object or null ok 300 Object Object.setPrototypeOf() set prototype should work ok 301 Object Object.setPrototypeOf() set prototype should be able to set to null ok 302 Promise ignores non-function .then arguments ok 303 clean Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 304 clean Object.prototype String repeat() should throw a RangeError when negative or infinite ok 305 clean Object.prototype String repeat() should coerce to an integer ok 306 clean Object.prototype String repeat() should work ok 307 clean Object.prototype String repeat() should work on integers ok 308 clean Object.prototype String repeat() should work on booleans ok 309 clean Object.prototype String repeat() should work on dates ok 310 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 311 clean Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 312 clean Object.prototype String startsWith() should be truthy on correct results ok 313 clean Object.prototype String startsWith() should coerce to a string ok 314 clean Object.prototype String startsWith() should not allow a regex ok 315 clean Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 316 clean Object.prototype String endsWith() should be truthy on correct results ok 317 clean Object.prototype String endsWith() should coerce to a string ok 318 clean Object.prototype String endsWith() should not allow a regex ok 319 clean Object.prototype String endsWith() should handle negative and zero positions properly ok 320 clean Object.prototype String contains() should throw a TypeError when called on null or undefined ok 321 clean Object.prototype String contains() should be truthy on correct results ok 322 clean Object.prototype String contains() should be falsy on incorrect results ok 323 clean Object.prototype String .fromCodePoint() throws a RangeError ok 324 clean Object.prototype String .fromCodePoint() returns the empty string with no args ok 325 clean Object.prototype String .fromCodePoint() has a length of one ok 326 clean Object.prototype String .fromCodePoint() works ok 327 clean Object.prototype String .fromCodePoint() works with unicode ok 328 clean Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 329 clean Object.prototype String codePointAt() should work ok 330 clean Object.prototype String codePointAt() should work with unicode ok 331 clean Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 332 clean Object.prototype String iterator() should work with plain strings ok 333 clean Object.prototype String iterator() should work with surrogate characters ok 334 clean Object.prototype String .raw() should have a length of 1 ok 335 clean Object.prototype String .raw() String.raw Works with Array ok 336 clean Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 337 clean Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 338 clean Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 339 clean Object.prototype String .raw() String.raw Empty objects ok 340 clean Object.prototype String trim() should trim the correct characters ok 341 clean Object.prototype String trim() should not trim U+0085 ok 342 clean Object.prototype String trim() should trim on both sides ok 343 polluted Object.prototype String repeat() should throw a TypeError when called on null or undefined ok 344 polluted Object.prototype String repeat() should throw a RangeError when negative or infinite ok 345 polluted Object.prototype String repeat() should coerce to an integer ok 346 polluted Object.prototype String repeat() should work ok 347 polluted Object.prototype String repeat() should work on integers ok 348 polluted Object.prototype String repeat() should work on booleans ok 349 polluted Object.prototype String repeat() should work on dates ok 350 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 351 polluted Object.prototype String startsWith() should throw a TypeError when called on null or undefined ok 352 polluted Object.prototype String startsWith() should be truthy on correct results ok 353 polluted Object.prototype String startsWith() should coerce to a string ok 354 polluted Object.prototype String startsWith() should not allow a regex ok 355 polluted Object.prototype String endsWith() should throw a TypeError when called on null or undefined ok 356 polluted Object.prototype String endsWith() should be truthy on correct results ok 357 polluted Object.prototype String endsWith() should coerce to a string ok 358 polluted Object.prototype String endsWith() should not allow a regex ok 359 polluted Object.prototype String endsWith() should handle negative and zero positions properly ok 360 polluted Object.prototype String contains() should throw a TypeError when called on null or undefined ok 361 polluted Object.prototype String contains() should be truthy on correct results ok 362 polluted Object.prototype String contains() should be falsy on incorrect results ok 363 polluted Object.prototype String .fromCodePoint() throws a RangeError ok 364 polluted Object.prototype String .fromCodePoint() returns the empty string with no args ok 365 polluted Object.prototype String .fromCodePoint() has a length of one ok 366 polluted Object.prototype String .fromCodePoint() works ok 367 polluted Object.prototype String .fromCodePoint() works with unicode ok 368 polluted Object.prototype String codePointAt() should throw a TypeError when called on null or undefined ok 369 polluted Object.prototype String codePointAt() should work ok 370 polluted Object.prototype String codePointAt() should work with unicode ok 371 polluted Object.prototype String codePointAt() should return undefined when pos is negative or too large ok 372 polluted Object.prototype String iterator() should work with plain strings ok 373 polluted Object.prototype String iterator() should work with surrogate characters ok 374 polluted Object.prototype String .raw() should have a length of 1 ok 375 polluted Object.prototype String .raw() String.raw Works with Array ok 376 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as Integer ok 377 polluted Object.prototype String .raw() String.raw Works with Objects , Keys as String ok 378 polluted Object.prototype String .raw() String.raw ReturnIfAbrupt - Less Substitutions ok 379 polluted Object.prototype String .raw() String.raw Empty objects ok 380 polluted Object.prototype String trim() should trim the correct characters ok 381 polluted Object.prototype String trim() should not trim U+0085 ok 382 polluted Object.prototype String trim() should trim on both sides ok 383 Promise.all fulfills if passed an empty array ok 384 Promise.all fulfills if passed an empty array-like ok 385 Promise.all fulfills if passed an array of mixed fulfilled promises and values ok 386 Promise.all rejects if any passed promise is rejected ok 387 Promise.all resolves foreign thenables ok 388 Promise.all fulfills when passed an sparse array, giving `undefined` for the omitted values ok 389 Promise.all does not modify the input array ok 390 Promise.all should reject with a TypeError if given a non-iterable ok 391 Promise.all should be robust against tampering (1) ok 392 Promise.all should be robust against tampering (2) ok 393 Promise.all should be robust against tampering (3) ok 394 Promise.all should be robust against tampering (4) ok 395 Evil promises should not be able to break invariants resolving to a promise that calls onFulfilled twice ok 396 25.4.3 The Promise Constructor is the initial value of the Promise property of the global object ok 397 25.4.3 The Promise Constructor can be called as a function # SKIP - ok 398 25.4.3 The Promise Constructor can be used as the value in an extends clause # SKIP - ok 399 25.4.3.1 Promise ( executor ) throws TypeError when 'this' is not of type Object ok 400 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a constructed, but unresolved Promise ok 401 25.4.3.1 Promise ( executor ) throws TypeError if 'this' is a resolved Promise ok 402 25.4.3.1 Promise ( executor ) throws TypeError if 'executor' is not Callable ok 403 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise # SKIP - ok 404 25.4.3.1.1 InitializePromise ( promise, executor ) invokes the executor with 'this' = 'undefined' ok 405 25.4.3.1.1 InitializePromise ( promise, executor ) catches exceptions thrown from executor and turns them into reject ok 406 25.4.3.1.1 InitializePromise ( promise, executor ) returns a promise either