OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 // Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // 1. Redistributions of source code must retain the above copyright | 7 // 1. Redistributions of source code must retain the above copyright |
8 // notice, this list of conditions and the following disclaimer. | 8 // notice, this list of conditions and the following disclaimer. |
9 // 2. Redistributions in binary form must reproduce the above copyright | 9 // 2. Redistributions in binary form must reproduce the above copyright |
10 // notice, this list of conditions and the following disclaimer in the | 10 // notice, this list of conditions and the following disclaimer in the |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 }; | 303 }; |
304 | 304 |
305 shouldBe("arrayApplyChangeLength1()", "2"); | 305 shouldBe("arrayApplyChangeLength1()", "2"); |
306 shouldBe("arrayApplyChangeLength2()", "2"); | 306 shouldBe("arrayApplyChangeLength2()", "2"); |
307 shouldBe("arrayApplyChangeLength3()", "2"); | 307 shouldBe("arrayApplyChangeLength3()", "2"); |
308 shouldBe("arrayApplyChangeLength4()", "0"); | 308 shouldBe("arrayApplyChangeLength4()", "0"); |
309 | 309 |
310 shouldBe("var a = []; a.length = 0xFFFE; [].constructor.apply('', a).length", "0
xFFFE"); | 310 shouldBe("var a = []; a.length = 0xFFFE; [].constructor.apply('', a).length", "0
xFFFE"); |
311 shouldBe("var a = []; a.length = 0xFFFF; [].constructor.apply('', a).length", "0
xFFFF"); | 311 shouldBe("var a = []; a.length = 0xFFFF; [].constructor.apply('', a).length", "0
xFFFF"); |
312 shouldBe("var a = []; a.length = 0x10000; [].constructor.apply('', a).length", "
0x10000"); | 312 shouldBe("var a = []; a.length = 0x10000; [].constructor.apply('', a).length", "
0x10000"); |
313 shouldBe("var a = []; a.length = 0x10001; [].constructor.apply('', a).length", "
0x10001"); | 313 shouldThrow("var a = []; a.length = 0x10001; [].constructor.apply('', a).length"
); |
314 shouldThrow("var a = []; a.length = 0xFFFFFFFE; [].constructor.apply('', a).leng
th"); | 314 shouldThrow("var a = []; a.length = 0xFFFFFFFE; [].constructor.apply('', a).leng
th"); |
315 shouldThrow("var a = []; a.length = 0xFFFFFFFF; [].constructor.apply('', a).leng
th"); | 315 shouldThrow("var a = []; a.length = 0xFFFFFFFF; [].constructor.apply('', a).leng
th"); |
316 | 316 |
317 // ES5 permits apply with array-like objects. | 317 // ES5 permits apply with array-like objects. |
318 shouldBe("(function(a,b,c,d){ return d ? -1 : (a+b+c); }).apply(undefined, {leng
th:3, 0:100, 1:20, 2:3})", '123'); | 318 shouldBe("(function(a,b,c,d){ return d ? -1 : (a+b+c); }).apply(undefined, {leng
th:3, 0:100, 1:20, 2:3})", '123'); |
OLD | NEW |