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

Reply via email to