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 15 matching lines...) Expand all Loading... |
26 ); | 26 ); |
27 | 27 |
28 var ouches = 0; | 28 var ouches = 0; |
29 | 29 |
30 function foo(haveABadTime) { | 30 function foo(haveABadTime) { |
31 var result = []; | 31 var result = []; |
32 result.length = 5; | 32 result.length = 5; |
33 for (var i = 0; i < result.length; ++i) { | 33 for (var i = 0; i < result.length; ++i) { |
34 if (i == haveABadTime) { | 34 if (i == haveABadTime) { |
35 debug("Henceforth I will have a bad time."); | 35 debug("Henceforth I will have a bad time."); |
36 Array.prototype.__defineSetter__("3", function() { debug("Ouch!"); o
uches++; }); | 36 Array.prototype.__defineSetter__("3", function() { ouches++; }); |
37 } | 37 } |
38 result[i] = i; | 38 result[i] = i; |
39 } | 39 } |
40 return result; | 40 return result; |
41 } | 41 } |
42 | 42 |
43 var expected = "\"0,1,2,3,4\""; | 43 var expected = "\"0,1,2,3,4\""; |
44 | 44 |
45 for (var i = 0; i < 1000; ++i) { | 45 for (var i = 0; i < 1000; ++i) { |
46 var haveABadTime; | 46 var haveABadTime; |
47 if (i == 950) { | 47 if (i == 950) { |
48 haveABadTime = 2; | 48 haveABadTime = 2; |
49 expected = "\"0,1,2,,4\""; | 49 expected = "\"0,1,2,,4\""; |
50 } else | 50 } else |
51 haveABadTime = -1; | 51 haveABadTime = -1; |
52 shouldBe("\"" + foo(haveABadTime).join(",") + "\"", expected); | 52 shouldBe("\"" + foo(haveABadTime).join(",") + "\"", expected); |
53 } | 53 } |
54 | 54 |
55 shouldBe("ouches", "50"); | 55 shouldBe("ouches", "50"); |
OLD | NEW |