OLD | NEW |
---|---|
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 the V8 project authors. All rights reserved. |
Karl Klose
2010/12/20 14:28:43
2010
Lasse Reichstein
2010/12/20 15:00:59
Done.
| |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
11 // with the distribution. | 11 // with the distribution. |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
353 assertEquals(undefined, x[1000], name + "undefined1000"); | 353 assertEquals(undefined, x[1000], name + "undefined1000"); |
354 assertTrue(x.hasOwnProperty(2000), name + "hasundefined2000"); | 354 assertTrue(x.hasOwnProperty(2000), name + "hasundefined2000"); |
355 assertEquals(undefined, x[2000], name + "undefined2000"); | 355 assertEquals(undefined, x[2000], name + "undefined2000"); |
356 assertTrue(x.hasOwnProperty(8000), name + "hasundefined8000"); | 356 assertTrue(x.hasOwnProperty(8000), name + "hasundefined8000"); |
357 assertEquals(undefined, x[8000], name + "undefined8000"); | 357 assertEquals(undefined, x[8000], name + "undefined8000"); |
358 assertFalse(x.hasOwnProperty(12000), name + "has12000"); | 358 assertFalse(x.hasOwnProperty(12000), name + "has12000"); |
359 assertEquals("XX", x[12000], name + "XX12000"); | 359 assertEquals("XX", x[12000], name + "XX12000"); |
360 } | 360 } |
361 | 361 |
362 TestSpecialCasesInheritedElementSort(); | 362 TestSpecialCasesInheritedElementSort(); |
363 | |
364 // Test that sort calls compare function with global object as receiver, | |
365 // and with only elements of the array as arguments. | |
366 function o(v) { | |
367 return {__proto__: o.prototype, val: v}; | |
368 } | |
369 var arr = [o(1), o(2), o(4), o(8), o(16), o(32), o(64), o(128), o(256), o(-0)]; | |
370 var global = this; | |
371 function cmpTest(a, b) { | |
372 assertEquals(global, this); | |
373 assertTrue(a instanceof o); | |
374 assertTrue(b instanceof o); | |
375 return a.val - b.val; | |
376 } | |
377 arr.sort(cmpTest); | |
OLD | NEW |