| Index: test/webkit/fast/js/object-slow-put.js
|
| diff --git a/test/webkit/dfg-arguments-mixed-alias.js b/test/webkit/fast/js/object-slow-put.js
|
| similarity index 76%
|
| copy from test/webkit/dfg-arguments-mixed-alias.js
|
| copy to test/webkit/fast/js/object-slow-put.js
|
| index 477eac3d5f748c15e2a71f30f5c34b471b89cec4..bf8234f209c68cf992bb8dd3da6312d56fccdfd3 100644
|
| --- a/test/webkit/dfg-arguments-mixed-alias.js
|
| +++ b/test/webkit/fast/js/object-slow-put.js
|
| @@ -22,21 +22,24 @@
|
| // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
| description(
|
| -"Tests functions that use 'arguments' in both an aliased and a non-aliased way."
|
| +"Tests that defining a setter on the prototype of an object used for indexed storage works."
|
| );
|
|
|
| -function foo() {
|
| - var result = 0;
|
| - var a = arguments;
|
| - for (var i = 0; i < a.length; ++i)
|
| - result += arguments[i];
|
| - return result;
|
| +function Cons() {
|
| }
|
|
|
| -function bar(x) {
|
| - return foo(x);
|
| +var ouches = 0;
|
| +Cons.prototype.__defineSetter__("3", function() { debug("Ouch!"); ouches++; });
|
| +
|
| +function foo() {
|
| + var result = new Cons();
|
| + result.length = 5;
|
| + for (var i = 0; i < result.length; ++i)
|
| + result[i] = i;
|
| + return result;
|
| }
|
|
|
| -for (var i = 0; i < 200; ++i)
|
| - shouldBe("bar(42)", "42");
|
| +for (var i = 0; i < 100; ++i)
|
| + shouldBe("\"" + Array.prototype.join.apply(foo(), [","]) + "\"", "\"0,1,2,,4\"");
|
|
|
| +shouldBe("ouches", "100");
|
|
|