summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/tests/mozilla/js1_5/Exceptions
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-05-06 11:45:16 +0100
committerSteve Block <steveblock@google.com>2011-05-12 13:44:10 +0100
commitcad810f21b803229eb11403f9209855525a25d57 (patch)
tree29a6fd0279be608e0fe9ffe9841f722f0f4e4269 /JavaScriptCore/tests/mozilla/js1_5/Exceptions
parent121b0cf4517156d0ac5111caf9830c51b69bae8f (diff)
downloadexternal_webkit-cad810f21b803229eb11403f9209855525a25d57.zip
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.gz
external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.bz2
Merge WebKit at r75315: Initial merge by git.
Change-Id: I570314b346ce101c935ed22a626b48c2af266b84
Diffstat (limited to 'JavaScriptCore/tests/mozilla/js1_5/Exceptions')
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-001-n.js57
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-001.js64
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-002-n.js46
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-002.js60
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-003-n.js53
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-003.js69
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/errstack-001.js274
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-121658.js152
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-123002.js129
-rw-r--r--JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-50447.js146
10 files changed, 0 insertions, 1050 deletions
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-001-n.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-001-n.js
deleted file mode 100644
index 37b10ae..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-001-n.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is Mozilla Communicator client code, released March
- * 31, 1998.
- *
- * The Initial Developer of the Original Code is Netscape Communications
- * Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- * Rob Ginda rginda@netscape.com
- */
-
-test();
-
-function test()
-{
- enterFunc ("test");
-
- var EXCEPTION_DATA = "String exception";
- var e;
-
- printStatus ("Catchguard syntax negative test.");
-
- try
- {
- throw EXCEPTION_DATA;
- }
- catch (e) /* the non-guarded catch should HAVE to appear last */
- {
-
- }
- catch (e if true)
- {
-
- }
- catch (e if false)
- {
-
- }
-
- reportFailure ("Illegally constructed catchguard should have thrown " +
- "an exception.");
-
- exitFunc ("test");
-}
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-001.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-001.js
deleted file mode 100644
index e65723e..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-001.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is Mozilla Communicator client code, released March
- * 31, 1998.
- *
- * The Initial Developer of the Original Code is Netscape Communications
- * Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- * Rob Ginda rginda@netscape.com
- */
-
-test();
-
-function test()
-{
- enterFunc ("test");
-
- var EXCEPTION_DATA = "String exception";
- var e = "foo";
- var caught = false;
-
- printStatus ("Basic catchguard test.");
-
- try
- {
- throw EXCEPTION_DATA;
- }
- catch (e if true)
- {
- caught = true;
- e = "this change should not propagate outside of this scope";
- }
- catch (e if false)
- {
- reportFailure ("Catch block (e if false) should not have executed.");
- }
- catch (e)
- {
- reportFailure ("Catch block (e) should not have executed.");
- }
-
- if (!caught)
- reportFailure ("Execption was never caught.");
-
- if (e != "foo")
- reportFailure ("Exception data modified inside catch() scope should " +
- "not be visible in the function scope (e = '" +
- e + "'.)");
-
- exitFunc ("test");
-}
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-002-n.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-002-n.js
deleted file mode 100644
index 4446dd4..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-002-n.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is Mozilla Communicator client code, released March
- * 31, 1998.
- *
- * The Initial Developer of the Original Code is Netscape Communications
- * Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- * Rob Ginda rginda@netscape.com
- */
-
-function test()
-{
- enterFunc ("test");
-
- var EXCEPTION_DATA = "String exception";
- var e;
-
- printStatus ("Catchguard var declaration negative test.");
-
- try
- {
- throw EXCEPTION_DATA;
- }
- catch (var e)
- {
-
- }
-
- reportFailure ("var in catch clause should have caused an error.");
-
- exitFunc ("test");
-}
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-002.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-002.js
deleted file mode 100644
index 4e89078..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-002.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is Mozilla Communicator client code, released March
- * 31, 1998.
- *
- * The Initial Developer of the Original Code is Netscape Communications
- * Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- * Rob Ginda rginda@netscape.com
- */
-
-test();
-
-function test()
-{
- enterFunc ("test");
-
- var EXCEPTION_DATA = "String exception";
- var e;
- var caught = false;
-
- printStatus ("Basic catchguard test.");
-
- try
- {
- throw EXCEPTION_DATA;
- }
- catch (e if true)
- {
- caught = true;
- }
- catch (e if true)
- {
- reportFailure ("Second (e if true) catch block should not have " +
- "executed.");
- }
- catch (e)
- {
- reportFailure ("Catch block (e) should not have executed.");
- }
-
- if (!caught)
- reportFailure ("Execption was never caught.");
-
-
- exitFunc ("test");
-}
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-003-n.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-003-n.js
deleted file mode 100644
index b5fca02..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-003-n.js
+++ /dev/null
@@ -1,53 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is Mozilla Communicator client code, released March
- * 31, 1998.
- *
- * The Initial Developer of the Original Code is Netscape Communications
- * Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- * Rob Ginda rginda@netscape.com
- */
-
-test();
-
-function test()
-{
- enterFunc ("test");
-
- var EXCEPTION_DATA = "String exception";
- var e;
-
- printStatus ("Catchguard syntax negative test #2.");
-
- try
- {
- throw EXCEPTION_DATA;
- }
- catch (e)
- {
-
- }
- catch (e) /* two non-guarded catch statements shoud generate an error */
- {
-
- }
-
- reportFailure ("Illegally constructed catchguard should have thrown " +
- "an exception.");
-
- exitFunc ("test");
-}
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-003.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-003.js
deleted file mode 100644
index 2cb64a6..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/catchguard-003.js
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/NPL/
- *
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- *
- * The Original Code is Mozilla Communicator client code, released March
- * 31, 1998.
- *
- * The Initial Developer of the Original Code is Netscape Communications
- * Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s):
- * Rob Ginda rginda@netscape.com
- */
-
-test();
-
-function test()
-{
- enterFunc ("test");
-
- var EXCEPTION_DATA = "String exception";
- var e = "foo", x = "foo";
- var caught = false;
-
- printStatus ("Catchguard 'Common Scope' test.");
-
- try
- {
- throw EXCEPTION_DATA;
- }
- catch (e if ((x = 1) && false))
- {
- reportFailure ("Catch block (e if ((x = 1) && false) should not " +
- "have executed.");
- }
- catch (e if (x == 1))
- {
- caught = true;
- }
- catch (e)
- {
- reportFailure ("Same scope should be used across all catchguards.");
- }
-
- if (!caught)
- reportFailure ("Execption was never caught.");
-
- if (e != "foo")
- reportFailure ("Exception data modified inside catch() scope should " +
- "not be visible in the function scope (e ='" +
- e + "'.)");
-
- if (x != 1)
- reportFailure ("Data modified in 'catchguard expression' should " +
- "be visible in the function scope (x = '" +
- x + "'.)");
-
- exitFunc ("test");
-}
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/errstack-001.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/errstack-001.js
deleted file mode 100644
index 4850d20..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/errstack-001.js
+++ /dev/null
@@ -1,274 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
-* Version: NPL 1.1/GPL 2.0/LGPL 2.1
-*
-* The contents of this file are subject to the Netscape Public License
-* Version 1.1 (the "License"); you may not use this file except in
-* compliance with the License. You may obtain a copy of the License at
-* http://www.mozilla.org/NPL/
-*
-* Software distributed under the License is distributed on an "AS IS" basis,
-* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-* for the specific language governing rights and limitations under the
-* License.
-*
-* The Original Code is JavaScript Engine testing utilities.
-*
-* The Initial Developer of the Original Code is Netscape Communications Corp.
-* Portions created by the Initial Developer are Copyright (C) 2002
-* the Initial Developer. All Rights Reserved.
-*
-* Contributor(s): brendan@mozilla.org, pschwartau@netscape.com
-*
-* Alternatively, the contents of this file may be used under the terms of
-* either the GNU General Public License Version 2 or later (the "GPL"), or
-* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-* in which case the provisions of the GPL or the LGPL are applicable instead
-* of those above. If you wish to allow use of your version of this file only
-* under the terms of either the GPL or the LGPL, and not to allow others to
-* use your version of this file under the terms of the NPL, indicate your
-* decision by deleting the provisions above and replace them with the notice
-* and other provisions required by the GPL or the LGPL. If you do not delete
-* the provisions above, a recipient may use your version of this file under
-* the terms of any one of the NPL, the GPL or the LGPL.
-*
-* ***** END LICENSE BLOCK *****
-*
-*
-* Date: 28 Feb 2002
-* SUMMARY: Testing that Error.stack distinguishes between:
-*
-* A) top-level calls: myFunc();
-* B) no-name function calls: function() { myFunc();} ()
-*
-* The stack frame for A) should begin with '@'
-* The stack frame for B) should begin with '()'
-*
-* This behavior was coded by Brendan during his fix for bug 127136.
-* See http://bugzilla.mozilla.org/show_bug.cgi?id=127136#c13
-*
-* Note: our function getStackFrames(err) orders the array of stack frames
-* so that the 0th element will correspond to the highest frame, i.e. will
-* correspond to a line in top-level code. The 1st element will correspond
-* to the function that is called first, and so on...
-*
-* NOTE: At present Rhino does not have an Error.stack property. It is an
-* ECMA extension, see http://bugzilla.mozilla.org/show_bug.cgi?id=123177
-*/
-//-----------------------------------------------------------------------------
-var UBound = 0;
-var bug = '(none)';
-var summary = 'Testing Error.stack';
-var status = '';
-var statusitems = [];
-var actual = '';
-var actualvalues = [];
-var expect= '';
-var expectedvalues = [];
-var myErr = '';
-var stackFrames = '';
-
-
-function A(x,y)
-{
- return B(x+1,y+1);
-}
-
-function B(x,z)
-{
- return C(x+1,z+1);
-}
-
-function C(x,y)
-{
- return D(x+1,y+1);
-}
-
-function D(x,z)
-{
- try
- {
- throw new Error('meep!');
- }
- catch (e)
- {
- return e;
- }
-}
-
-
-myErr = A(44,13);
-stackFrames = getStackFrames(myErr);
- status = inSection(1);
- actual = stackFrames[0].substring(0,1);
- expect = '@';
- addThis();
-
- status = inSection(2);
- actual = stackFrames[1].substring(0,9);
- expect = 'A(44,13)@';
- addThis();
-
- status = inSection(3);
- actual = stackFrames[2].substring(0,9);
- expect = 'B(45,14)@';
- addThis();
-
- status = inSection(4);
- actual = stackFrames[3].substring(0,9);
- expect = 'C(46,15)@';
- addThis();
-
- status = inSection(5);
- actual = stackFrames[4].substring(0,9);
- expect = 'D(47,16)@';
- addThis();
-
-
-
-myErr = A('44:foo','13:bar');
-stackFrames = getStackFrames(myErr);
- status = inSection(6);
- actual = stackFrames[0].substring(0,1);
- expect = '@';
- addThis();
-
- status = inSection(7);
- actual = stackFrames[1].substring(0,21);
- expect = 'A("44:foo","13:bar")@';
- addThis();
-
- status = inSection(8);
- actual = stackFrames[2].substring(0,23);
- expect = 'B("44:foo1","13:bar1")@';
- addThis();
-
- status = inSection(9);
- actual = stackFrames[3].substring(0,25);
- expect = 'C("44:foo11","13:bar11")@';
- addThis();
-
- status = inSection(10);
- actual = stackFrames[4].substring(0,27);
- expect = 'D("44:foo111","13:bar111")@';;
- addThis();
-
-
-
-/*
- * Make the first frame occur in a function with an empty name -
- */
-myErr = function() { return A(44,13); } ();
-stackFrames = getStackFrames(myErr);
- status = inSection(11);
- actual = stackFrames[0].substring(0,1);
- expect = '@';
- addThis();
-
- status = inSection(12);
- actual = stackFrames[1].substring(0,3);
- expect = '()@';
- addThis();
-
- status = inSection(13);
- actual = stackFrames[2].substring(0,9);
- expect = 'A(44,13)@';
- addThis();
-
-// etc. for the rest of the frames as above
-
-
-
-/*
- * Make the first frame occur in a function with name 'anonymous' -
- */
-var f = Function('return A(44,13);');
-myErr = f();
-stackFrames = getStackFrames(myErr);
- status = inSection(14);
- actual = stackFrames[0].substring(0,1);
- expect = '@';
- addThis();
-
- status = inSection(15);
- actual = stackFrames[1].substring(0,12);
- expect = 'anonymous()@';
- addThis();
-
- status = inSection(16);
- actual = stackFrames[2].substring(0,9);
- expect = 'A(44,13)@';
- addThis();
-
-// etc. for the rest of the frames as above
-
-
-
-/*
- * Make a user-defined error via the Error() function -
- */
-var message = 'Hi there!'; var fileName = 'file name'; var lineNumber = 0;
-myErr = Error(message, fileName, lineNumber);
-stackFrames = getStackFrames(myErr);
- status = inSection(17);
- actual = stackFrames[0].substring(0,1);
- expect = '@';
- addThis();
-
-
-/*
- * Now use the |new| keyword. Re-use the same params -
- */
-myErr = new Error(message, fileName, lineNumber);
-stackFrames = getStackFrames(myErr);
- status = inSection(18);
- actual = stackFrames[0].substring(0,1);
- expect = '@';
- addThis();
-
-
-
-
-//-----------------------------------------------------------------------------
-test();
-//-----------------------------------------------------------------------------
-
-
-
-/*
- * Split the string |err.stack| along its '\n' delimiter.
- * As of 2002-02-28 |err.stack| ends with the delimiter, so
- * the resulting array has an empty string as its last element.
- *
- * Pop that useless element off before doing anything.
- * Then reverse the array, for convenience of indexing -
- */
-function getStackFrames(err)
-{
- var arr = err.stack.split('\n');
- arr.pop();
- return arr.reverse();
-}
-
-
-function addThis()
-{
- statusitems[UBound] = status;
- actualvalues[UBound] = actual;
- expectedvalues[UBound] = expect;
- UBound++;
-}
-
-
-function test()
-{
- enterFunc('test');
- printBugNumber(bug);
- printStatus(summary);
-
- for (var i=0; i<UBound; i++)
- {
- reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]);
- }
-
- exitFunc ('test');
-}
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-121658.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-121658.js
deleted file mode 100644
index 7328749..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-121658.js
+++ /dev/null
@@ -1,152 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
-* Version: NPL 1.1/GPL 2.0/LGPL 2.1
-*
-* The contents of this file are subject to the Netscape Public License
-* Version 1.1 (the "License"); you may not use this file except in
-* compliance with the License. You may obtain a copy of the License at
-* http://www.mozilla.org/NPL/
-*
-* Software distributed under the License is distributed on an "AS IS" basis,
-* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-* for the specific language governing rights and limitations under the
-* License.
-*
-* The Original Code is JavaScript Engine testing utilities.
-*
-* The Initial Developer of the Original Code is Netscape Communications Corp.
-* Portions created by the Initial Developer are Copyright (C) 2002
-* the Initial Developer. All Rights Reserved.
-*
-* Contributor(s): timeless@mac.com,pschwartau@netscape.com
-*
-* Alternatively, the contents of this file may be used under the terms of
-* either the GNU General Public License Version 2 or later (the "GPL"), or
-* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-* in which case the provisions of the GPL or the LGPL are applicable instead
-* of those above. If you wish to allow use of your version of this file only
-* under the terms of either the GPL or the LGPL, and not to allow others to
-* use your version of this file under the terms of the NPL, indicate your
-* decision by deleting the provisions above and replace them with the notice
-* and other provisions required by the GPL or the LGPL. If you do not delete
-* the provisions above, a recipient may use your version of this file under
-* the terms of any one of the NPL, the GPL or the LGPL.
-*
-* ***** END LICENSE BLOCK *****
-*
-*
-* Date: 24 Jan 2002
-* SUMMARY: "Too much recursion" errors should be safely caught by try...catch
-* See http://bugzilla.mozilla.org/show_bug.cgi?id=121658
-*
-* In the cases below, we expect i>0. The bug was filed because we were getting
-* i===0; i.e. |i| did not retain the value it had at the location of the error.
-*
-*/
-//-----------------------------------------------------------------------------
-var UBound = 0;
-var bug = 121658;
-var msg = '"Too much recursion" errors should be safely caught by try...catch';
-var TEST_PASSED = 'i retained the value it had at location of error';
-var TEST_FAILED = 'i did NOT retain this value';
-var status = '';
-var statusitems = [];
-var actual = '';
-var actualvalues = [];
-var expect= '';
-var expectedvalues = [];
-var i;
-
-
-function f()
-{
- ++i;
-
- // try...catch should catch the "too much recursion" error to ensue
- try
- {
- f();
- }
- catch(e)
- {
- }
-}
-
-i=0;
-f();
-status = inSection(1);
-actual = (i>0);
-expect = true;
-addThis();
-
-
-
-// Now try in function scope -
-function g()
-{
- f();
-}
-
-i=0;
-g();
-status = inSection(2);
-actual = (i>0);
-expect = true;
-addThis();
-
-
-
-// Now try in eval scope -
-var sEval = 'function h(){++i; try{h();} catch(e){}}; i=0; h();';
-eval(sEval);
-status = inSection(3);
-actual = (i>0);
-expect = true;
-addThis();
-
-
-
-// Try in eval scope and mix functions up -
-sEval = 'function a(){++i; try{h();} catch(e){}}; i=0; a();';
-eval(sEval);
-status = inSection(4);
-actual = (i>0);
-expect = true;
-addThis();
-
-
-
-
-//-----------------------------------------------------------------------------
-test();
-//-----------------------------------------------------------------------------
-
-
-
-function addThis()
-{
- statusitems[UBound] = status;
- actualvalues[UBound] = formatThis(actual);
- expectedvalues[UBound] = formatThis(expect);
- UBound++;
-}
-
-
-function formatThis(bool)
-{
- return bool? TEST_PASSED : TEST_FAILED;
-}
-
-
-function test()
-{
- enterFunc('test');
- printBugNumber(bug);
- printStatus(msg);
-
- for (var i=0; i<UBound; i++)
- {
- reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]);
- }
-
- exitFunc ('test');
-}
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-123002.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-123002.js
deleted file mode 100644
index aee6893..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-123002.js
+++ /dev/null
@@ -1,129 +0,0 @@
-/* ***** BEGIN LICENSE BLOCK *****
-* Version: NPL 1.1/GPL 2.0/LGPL 2.1
-*
-* The contents of this file are subject to the Netscape Public License
-* Version 1.1 (the "License"); you may not use this file except in
-* compliance with the License. You may obtain a copy of the License at
-* http://www.mozilla.org/NPL/
-*
-* Software distributed under the License is distributed on an "AS IS" basis,
-* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-* for the specific language governing rights and limitations under the
-* License.
-*
-* The Original Code is JavaScript Engine testing utilities.
-*
-* The Initial Developer of the Original Code is Netscape Communications Corp.
-* Portions created by the Initial Developer are Copyright (C) 2002
-* the Initial Developer. All Rights Reserved.
-*
-* Contributor(s): pschwartau@netscape.com
-*
-* Alternatively, the contents of this file may be used under the terms of
-* either the GNU General Public License Version 2 or later (the "GPL"), or
-* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
-* in which case the provisions of the GPL or the LGPL are applicable instead
-* of those above. If you wish to allow use of your version of this file only
-* under the terms of either the GPL or the LGPL, and not to allow others to
-* use your version of this file under the terms of the NPL, indicate your
-* decision by deleting the provisions above and replace them with the notice
-* and other provisions required by the GPL or the LGPL. If you do not delete
-* the provisions above, a recipient may use your version of this file under
-* the terms of any one of the NPL, the GPL or the LGPL.
-*
-* ***** END LICENSE BLOCK *****
-*
-*
-* Date: 01 Feb 2002
-* SUMMARY: Testing Error.length
-* See http://bugzilla.mozilla.org/show_bug.cgi?id=123002
-*
-* NOTE: Error.length should equal the length of FormalParameterList of the
-* Error constructor. This is currently 1 in Rhino, 3 in SpiderMonkey.
-*
-* The difference is due to http://bugzilla.mozilla.org/show_bug.cgi?id=50447.
-* As a result of that bug, SpiderMonkey has extended ECMA to allow two new
-* parameters to Error constructors:
-*
-* Rhino: new Error (message)
-* SpiderMonkey: new Error (message, fileName, lineNumber)
-*
-* NOTE: since we have hard-coded the length expectations, this testcase will
-* have to be changed if the Error FormalParameterList is ever changed again.
-*
-* To do this, just change the two LENGTH constants below -
-*/
-//-----------------------------------------------------------------------------
-var LENGTH_RHINO = 1;
-var LENGTH_SPIDERMONKEY = 3;
-var UBound = 0;
-var bug = 123002;
-var summary = 'Testing Error.length';
-var QUOTE = '"';
-var status = '';
-var statusitems = [];
-var actual = '';
-var actualvalues = [];
-var expect= '';
-var expectedvalues = [];
-
-
-/*
- * Are we in Rhino or SpiderMonkey?
- */
-// var LENGTH_EXPECTED = inRhino()? LENGTH_RHINO : LENGTH_SPIDERMONKEY;
-// ECMA spec says length should be 1
-var LENGTH_EXPECTED = 1;
-
-/*
- * The various NativeError objects; see ECMA-262 Edition 3, Section 15.11.6
- */
-var errObjects = [new Error(), new EvalError(), new RangeError(),
-new ReferenceError(), new SyntaxError(), new TypeError(), new URIError()];
-
-
-for (var i in errObjects)
-{
- var err = errObjects[i];
- status = inSection(quoteThis(err.name));
- actual = Error.length;
- expect = LENGTH_EXPECTED;
- addThis();
-}
-
-
-
-//-----------------------------------------------------------------------------
-test();
-//-----------------------------------------------------------------------------
-
-
-
-function addThis()
-{
- statusitems[UBound] = status;
- actualvalues[UBound] = actual;
- expectedvalues[UBound] = expect;
- UBound++;
-}
-
-
-function test()
-{
- enterFunc('test');
- printBugNumber(bug);
- printStatus(summary);
-
- for (var i=0; i<UBound; i++)
- {
- reportCompare(expectedvalues[i], actualvalues[i], statusitems[i]);
- }
-
- exitFunc ('test');
-}
-
-
-function quoteThis(text)
-{
- return QUOTE + text + QUOTE;
-}
diff --git a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-50447.js b/JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-50447.js
deleted file mode 100644
index 0133e88..0000000
--- a/JavaScriptCore/tests/mozilla/js1_5/Exceptions/regress-50447.js
+++ /dev/null
@@ -1,146 +0,0 @@
-/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
-*
-* The contents of this file are subject to the Netscape Public
-* License Version 1.1 (the "License"); you may not use this file
-* except in compliance with the License. You may obtain a copy of
-* the License at http://www.mozilla.org/NPL/
-*
-* Software distributed under the License is distributed on an "AS
-* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-* implied. See the License for the specific language governing
-* rights and limitations under the License.
-*
-* The Original Code is Mozilla Communicator client code, released March
-* 31, 1998.
-*
-* The Initial Developer of the Original Code is Netscape Communications
-* Corporation. Portions created by Netscape are
-* Copyright (C) 1998 Netscape Communications Corporation. All
-* Rights Reserved.
-*
-* Contributor(s): Rob Ginda rginda@netscape.com
-*
-* SUMMARY: New properties fileName, lineNumber have been added to Error objects
-* in SpiderMonkey. These are non-ECMA extensions and do not exist in Rhino.
-*
-* See http://bugzilla.mozilla.org/show_bug.cgi?id=50447
-*/
-//-----------------------------------------------------------------------------
-var bug = 50447;
-var summary = 'Test (non-ECMA) Error object properties fileName, lineNumber';
-
-
-//-----------------------------------------------------------------------------
-test();
-//-----------------------------------------------------------------------------
-
-
-function test()
-{
- enterFunc ('test');
- printBugNumber (bug);
- printStatus (summary);
-
- testRealError();
- test1();
- test2();
- test3();
- test4();
-
- exitFunc('test');
-}
-
-
-function testRealError()
-{
- /* throw a real error, and see what it looks like */
- enterFunc ("testRealError");
-
- try
- {
- blabla;
- }
- catch (e)
- {
- if (e.fileName.search (/-50447\.js$/i) == -1)
- reportFailure ("expected fileName to end with '-50447.js'");
-
- reportCompare (61, e.lineNumber,
- "lineNumber property returned unexpected value.");
- }
-
- exitFunc ("testRealError");
-}
-
-
-function test1()
-{
- /* generate an error with msg, file, and lineno properties */
- enterFunc ("test1");
-
- var e = new InternalError ("msg", "file", 2);
- reportCompare ("(new InternalError(\"msg\", \"file\", 2))",
- e.toSource(),
- "toSource() returned unexpected result.");
- reportCompare ("file", e.fileName,
- "fileName property returned unexpected value.");
- reportCompare (2, e.lineNumber,
- "lineNumber property returned unexpected value.");
-
- exitFunc ("test1");
-}
-
-
-function test2()
-{
- /* generate an error with only msg property */
- enterFunc ("test2");
-
- var e = new InternalError ("msg");
- reportCompare ("(new InternalError(\"msg\", \"\"))",
- e.toSource(),
- "toSource() returned unexpected result.");
- reportCompare ("", e.fileName,
- "fileName property returned unexpected value.");
- reportCompare (0, e.lineNumber,
- "lineNumber property returned unexpected value.");
-
- exitFunc ("test2");
-}
-
-
-function test3()
-{
- /* generate an error with only msg and lineNo properties */
- enterFunc ("test3");
-
- var e = new InternalError ("msg");
- e.lineNumber = 10;
- reportCompare ("(new InternalError(\"msg\", \"\", 10))",
- e.toSource(),
- "toSource() returned unexpected result.");
- reportCompare ("", e.fileName,
- "fileName property returned unexpected value.");
- reportCompare (10, e.lineNumber,
- "lineNumber property returned unexpected value.");
-
- exitFunc ("test3");
-}
-
-
-function test4()
-{
- /* generate an error with only msg and filename properties */
- enterFunc ("test4");
-
- var e = new InternalError ("msg", "file");
- reportCompare ("(new InternalError(\"msg\", \"file\"))",
- e.toSource(),
- "toSource() returned unexpected result.");
- reportCompare ("file", e.fileName,
- "fileName property returned unexpected value.");
- reportCompare (0, e.lineNumber,
- "lineNumber property returned unexpected value.");
-
- exitFunc ("test4");
-}