summaryrefslogtreecommitdiffstats
path: root/js/src/tests/js1_6/Regress
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/js1_6/Regress')
-rw-r--r--js/src/tests/js1_6/Regress/browser.js0
-rw-r--r--js/src/tests/js1_6/Regress/regress-311157-01.js24
-rw-r--r--js/src/tests/js1_6/Regress/regress-311157-02.js24
-rw-r--r--js/src/tests/js1_6/Regress/regress-320172.js25
-rw-r--r--js/src/tests/js1_6/Regress/regress-351795.js35
-rw-r--r--js/src/tests/js1_6/Regress/regress-352271.js34
-rw-r--r--js/src/tests/js1_6/Regress/regress-353078.js32
-rw-r--r--js/src/tests/js1_6/Regress/regress-355002.js37
-rw-r--r--js/src/tests/js1_6/Regress/regress-372565.js28
-rw-r--r--js/src/tests/js1_6/Regress/regress-475469.js33
-rw-r--r--js/src/tests/js1_6/Regress/regress-476655.js40
-rw-r--r--js/src/tests/js1_6/Regress/shell.js0
12 files changed, 312 insertions, 0 deletions
diff --git a/js/src/tests/js1_6/Regress/browser.js b/js/src/tests/js1_6/Regress/browser.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/browser.js
diff --git a/js/src/tests/js1_6/Regress/regress-311157-01.js b/js/src/tests/js1_6/Regress/regress-311157-01.js
new file mode 100644
index 000000000..8c0e07405
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-311157-01.js
@@ -0,0 +1,24 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+
+var BUGNUMBER = 311157;
+var summary = 'Comment-hiding compromise left E4X parsing/scanning inconsistent';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+
+try
+{
+ eval('var x = <hi> <!-- duh -->\n there </hi>');
+}
+catch(e)
+{
+}
+
+reportCompare(expect, actual, summary);
+
diff --git a/js/src/tests/js1_6/Regress/regress-311157-02.js b/js/src/tests/js1_6/Regress/regress-311157-02.js
new file mode 100644
index 000000000..e84f03159
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-311157-02.js
@@ -0,0 +1,24 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 4 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+
+var BUGNUMBER = 311157;
+var summary = 'Comment-hiding compromise left E4X parsing/scanning inconsistent';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+
+try
+{
+ eval('var x = <hi> <![CDATA[ duh ]]>\n there </hi>');
+}
+catch(e)
+{
+}
+
+reportCompare(expect, actual, summary);
+
diff --git a/js/src/tests/js1_6/Regress/regress-320172.js b/js/src/tests/js1_6/Regress/regress-320172.js
new file mode 100644
index 000000000..462eb5452
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-320172.js
@@ -0,0 +1,25 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 320172;
+var summary = 'Regression from bug 285219';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+enterFunc ('test');
+printBugNumber(BUGNUMBER);
+printStatus (summary);
+
+try
+{
+ (function xxx(){ ["var x"].forEach(eval); })();
+}
+catch(ex)
+{
+}
+
+printStatus('No Crash');
+reportCompare(expect, actual, summary);
diff --git a/js/src/tests/js1_6/Regress/regress-351795.js b/js/src/tests/js1_6/Regress/regress-351795.js
new file mode 100644
index 000000000..24e946446
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-351795.js
@@ -0,0 +1,35 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 351795;
+var summary = 'Do not assert: top < ss->printer->script->depth';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+ enterFunc ('test');
+ printBugNumber(BUGNUMBER);
+ printStatus (summary);
+
+ try
+ {
+ p={};
+ (p.z = [1].some(function(y) { return y > 0; }) ? 4 : [6])(5);
+ }
+ catch(ex)
+ {
+ }
+
+ reportCompare(expect, actual, summary);
+
+ exitFunc ('test');
+}
diff --git a/js/src/tests/js1_6/Regress/regress-352271.js b/js/src/tests/js1_6/Regress/regress-352271.js
new file mode 100644
index 000000000..97ff2647a
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-352271.js
@@ -0,0 +1,34 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 352271;
+var summary = 'Do not crash with |getter| |for each|';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+ enterFunc ('test');
+ printBugNumber(BUGNUMBER);
+ printStatus (summary);
+
+ try
+ {
+ eval('[window.x getter= t for each ([*].a(v) in [])]');
+ }
+ catch(ex)
+ {
+ }
+
+ reportCompare(expect, actual, summary);
+
+ exitFunc ('test');
+}
diff --git a/js/src/tests/js1_6/Regress/regress-353078.js b/js/src/tests/js1_6/Regress/regress-353078.js
new file mode 100644
index 000000000..4bbd9fdb3
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-353078.js
@@ -0,0 +1,32 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 353078;
+var summary = 'Do not assert with bogus toString, map, split';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+ enterFunc ('test');
+ printBugNumber(BUGNUMBER);
+ printStatus (summary);
+
+ try
+ {
+ this.toString = function() { return {}; }; p = [11].map('foo'.split);
+ }
+ catch(ex)
+ {
+ }
+ reportCompare(expect, actual, summary);
+
+ exitFunc ('test');
+}
diff --git a/js/src/tests/js1_6/Regress/regress-355002.js b/js/src/tests/js1_6/Regress/regress-355002.js
new file mode 100644
index 000000000..20fc60fdb
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-355002.js
@@ -0,0 +1,37 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 355002;
+var summary = 'Do not assert on |for each (this in []) { }|';
+var actual = 'No Crash';
+var expect = 'No Crash';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+ enterFunc ('test');
+ printBugNumber(BUGNUMBER);
+ printStatus (summary);
+
+ expect = 'SyntaxError: invalid for-in/of left-hand side';
+ actual = '';
+ try
+ {
+ eval('for each (this in []) { }');
+ }
+ catch(ex)
+ {
+ actual = ex + '';
+ }
+
+ reportCompare(expect, actual, summary);
+
+ exitFunc ('test');
+}
diff --git a/js/src/tests/js1_6/Regress/regress-372565.js b/js/src/tests/js1_6/Regress/regress-372565.js
new file mode 100644
index 000000000..e5c0e1b07
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-372565.js
@@ -0,0 +1,28 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 372565;
+var summary = 'Do not assert: top < ss->printer->script->depth" decompiling a function where a const identifier is used as a for-loop variable';
+var actual = '';
+var expect = '';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+ enterFunc ('test');
+ printBugNumber(BUGNUMBER);
+ printStatus (summary);
+
+ (function() { for each(x in y) { } const x = undefined; });
+
+ reportCompare(expect, actual, summary);
+
+ exitFunc ('test');
+}
diff --git a/js/src/tests/js1_6/Regress/regress-475469.js b/js/src/tests/js1_6/Regress/regress-475469.js
new file mode 100644
index 000000000..14566fd38
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-475469.js
@@ -0,0 +1,33 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 475469;
+var summary = 'TM: Do not crash @ FramePCOffset';
+var actual = '';
+var expect = '';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+ enterFunc ('test');
+ printBugNumber(BUGNUMBER);
+ printStatus (summary);
+
+// print('Note this test originally required jit enabled with the environment ');
+// print('variable TRACEMONKEY=verbose defined. Note that the calls to enable ');
+// print('jit are necessary for the crash.');
+
+ [1,2,3].map(function(v, i, t) { return /a/gi.exec(v); });
+
+ reportCompare(expect, actual, summary);
+
+ exitFunc ('test');
+}
+
diff --git a/js/src/tests/js1_6/Regress/regress-476655.js b/js/src/tests/js1_6/Regress/regress-476655.js
new file mode 100644
index 000000000..9077ba3a0
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/regress-476655.js
@@ -0,0 +1,40 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+//-----------------------------------------------------------------------------
+var BUGNUMBER = 476655;
+var summary = 'TM: Do not assert: count <= (size_t) (fp->regs->sp - StackBase(fp) - depth)';
+var actual = '';
+var expect = '';
+
+
+//-----------------------------------------------------------------------------
+test();
+//-----------------------------------------------------------------------------
+
+function test()
+{
+ enterFunc ('test');
+ printBugNumber(BUGNUMBER);
+ printStatus (summary);
+
+
+ try
+ {
+ eval(
+ "(function (){ for (var y in this) {} })();" +
+ "[''.watch(\"\", function(){}) for each (x in ['', '', eval, '', '']) if " +
+ "(x)].map(Function)"
+ );
+ }
+ catch(ex)
+ {
+ }
+
+
+ reportCompare(expect, actual, summary);
+
+ exitFunc ('test');
+}
diff --git a/js/src/tests/js1_6/Regress/shell.js b/js/src/tests/js1_6/Regress/shell.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/js/src/tests/js1_6/Regress/shell.js