Chromium Code Reviews| 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 |