summaryrefslogtreecommitdiffstats
path: root/js/src/tests/js1_8_1/extensions/new-parenthesization.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/js1_8_1/extensions/new-parenthesization.js')
-rw-r--r--js/src/tests/js1_8_1/extensions/new-parenthesization.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/tests/js1_8_1/extensions/new-parenthesization.js b/js/src/tests/js1_8_1/extensions/new-parenthesization.js
new file mode 100644
index 000000000..a3aebf383
--- /dev/null
+++ b/js/src/tests/js1_8_1/extensions/new-parenthesization.js
@@ -0,0 +1,21 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/*
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/licenses/publicdomain/
+ * Contributor: Jesse Ruderman
+ */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 521456;
+var summary =
+ 'Incorrect decompilation of new (eval(v)).s and new (f.apply(2)).s';
+printBugNumber(BUGNUMBER);
+printStatus(summary);
+
+function foo(c) { return new (eval(c)).s; }
+function bar(f) { var a = new (f.apply(2).s); return a; }
+
+assertEq(bar.toString().search(/new\s+f/), -1);
+assertEq(foo.toString().search(/new\s+eval/), -1);
+
+reportCompare(true, true);