diff options
Diffstat (limited to 'js/src/tests/js1_6/String/regress-306591.js')
-rw-r--r-- | js/src/tests/js1_6/String/regress-306591.js | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/js/src/tests/js1_6/String/regress-306591.js b/js/src/tests/js1_6/String/regress-306591.js new file mode 100644 index 000000000..ca792b145 --- /dev/null +++ b/js/src/tests/js1_6/String/regress-306591.js @@ -0,0 +1,76 @@ +/* -*- 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 = 306591; +var summary = 'String static methods'; +var actual = ''; +var expect = ''; + +printBugNumber(BUGNUMBER); +printStatus (summary); +printStatus ('See https://bugzilla.mozilla.org/show_bug.cgi?id=304828'); + +expect = ['a', 'b', 'c'].toString(); +actual = String.split(new String('abc'), '').toString(); +reportCompare(expect, actual, summary + + " String.split(new String('abc'), '')"); + +expect = '2'; +actual = String.substring(new Number(123), 1, 2); +reportCompare(expect, actual, summary + + " String.substring(new Number(123), 1, 2)"); + +expect = 'TRUE'; +actual = String.toUpperCase(new Boolean(true)); +reportCompare(expect, actual, summary + + " String.toUpperCase(new Boolean(true))"); + +try +{ + String.indexOf(null, 'l'); + throw new Error("should have thrown a TypeError"); +} +catch (e) +{ + assertEq(e instanceof TypeError, true, + "String.indexOf(null [, ...]) didn't work correctly"); +} + +expect = 2; +actual = String.indexOf(String(null), 'l'); +reportCompare(expect, actual, summary + + " String.indexOf(String(null), 'l')"); + +expect = ['a', 'b', 'c'].toString(); +actual = String.split('abc', '').toString(); +reportCompare(expect, actual, summary + + " String.split('abc', '')"); + +expect = '2'; +actual = String.substring(123, 1, 2); +reportCompare(expect, actual, summary + + " String.substring(123, 1, 2)"); + +expect = 'TRUE'; +actual = String.toUpperCase(true); +reportCompare(expect, actual, summary + + " String.toUpperCase(true)"); + +try +{ + String.indexOf(undefined, 'd'); + throw new Error("should have thrown a TypeError"); +} +catch (e) +{ + assertEq(e instanceof TypeError, true, + "String.indexOf(undefined [, ...]) didn't work correctly"); +} + +expect = 2; +actual = String.indexOf(String(undefined), 'd'); +reportCompare(expect, actual, summary + + " String.indexOf(String(undefined), 'd')"); |