| 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 |