Reviewers: Rico,
Description:
Update regression test.
With SVN r6465 (reverting changes to scopes), a regression test for
deleting parameter variables has to change to reflect a semantic
change. It is now again possible to delete parameters from a function
that uses 'with' or 'try...catch'.
Please review this at http://codereview.chromium.org/6307014/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge/build/ia32
Affected files:
M test/mjsunit/regress/regress-70066.js
Index: test/mjsunit/regress/regress-70066.js
diff --git a/test/mjsunit/regress/regress-70066.js
b/test/mjsunit/regress/regress-70066.js
index
704090b05c3834307d76d7bc7e00f6b23f482b66..b8386a706e6d546e437794f18fd450eaf596c430
100644
--- a/test/mjsunit/regress/regress-70066.js
+++ b/test/mjsunit/regress/regress-70066.js
@@ -57,16 +57,21 @@ assertEquals("2:false", test2(), "test2");
assertEquals(0, x, "test2"); // Global x is undisturbed.
-// Delete on an argument (should be the same code paths as test1 and
test2).
+// Delete on an argument. This hits the same code paths as test5 because
+// 'with' forces all parameters to be indirected through the arguments
+// object.
function test3(value) {
var status;
with ({}) { status = delete value; }
return value + ":" + status;
}
-assertEquals("3:false", test3(3), "test3");
+assertEquals("undefined:true", test3(3), "test3");
assertEquals(0, x, "test3"); // Global x is undisturbed.
+
+// Delete on an argument from an outer context. This hits the same code
+// path as test2.
function test4(value) {
function f() {
with ({}) { return delete value; }
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev