OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 the V8 project authors. All rights reserved. |
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 |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 assertTrue(x.hasOwnProperty(8000), name + "hasundefined8000"); | 385 assertTrue(x.hasOwnProperty(8000), name + "hasundefined8000"); |
386 assertEquals(undefined, x[8000], name + "undefined8000"); | 386 assertEquals(undefined, x[8000], name + "undefined8000"); |
387 assertFalse(x.hasOwnProperty(12000), name + "has12000"); | 387 assertFalse(x.hasOwnProperty(12000), name + "has12000"); |
388 assertEquals("XX", x[12000], name + "XX12000"); | 388 assertEquals("XX", x[12000], name + "XX12000"); |
389 } | 389 } |
390 | 390 |
391 TestSpecialCasesInheritedElementSort(); | 391 TestSpecialCasesInheritedElementSort(); |
392 | 392 |
393 // Test that sort calls compare function with global object as receiver, | 393 // Test that sort calls compare function with global object as receiver, |
394 // and with only elements of the array as arguments. | 394 // and with only elements of the array as arguments. |
395 function o(v) { | 395 function o(v) { |
396 return {__proto__: o.prototype, val: v}; | 396 return {__proto__: o.prototype, val: v}; |
397 } | 397 } |
398 var arr = [o(1), o(2), o(4), o(8), o(16), o(32), o(64), o(128), o(256), o(-0)]; | 398 var arr = [o(1), o(2), o(4), o(8), o(16), o(32), o(64), o(128), o(256), o(-0)]; |
399 var global = this; | 399 var global = this; |
400 function cmpTest(a, b) { | 400 function cmpTest(a, b) { |
401 assertEquals(global, this); | 401 assertEquals(global, this); |
402 assertTrue(a instanceof o); | 402 assertTrue(a instanceof o); |
403 assertTrue(b instanceof o); | 403 assertTrue(b instanceof o); |
404 return a.val - b.val; | 404 return a.val - b.val; |
405 } | 405 } |
406 arr.sort(cmpTest); | 406 arr.sort(cmpTest); |
OLD | NEW |