From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- js/src/jit-test/tests/basic/string-repeat.js | 30 ++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 js/src/jit-test/tests/basic/string-repeat.js (limited to 'js/src/jit-test/tests/basic/string-repeat.js') diff --git a/js/src/jit-test/tests/basic/string-repeat.js b/js/src/jit-test/tests/basic/string-repeat.js new file mode 100644 index 0000000000..8e9e9ee664 --- /dev/null +++ b/js/src/jit-test/tests/basic/string-repeat.js @@ -0,0 +1,30 @@ +/* Test String.prototype.repeat */ + +load(libdir + 'asserts.js'); + +assertEq("abc".repeat(1), "abc"); +assertEq("abc".repeat(2), "abcabc"); +assertEq("abc".repeat(3), "abcabcabc"); +assertEq("a".repeat(10), "aaaaaaaaaa"); +assertEq("abc".repeat(0), ""); +assertEq("abc".repeat(2.9), "abcabc"); + +var myobj = {toString : () => "abc", repeat : String.prototype.repeat}; +assertEq(myobj.repeat(1), "abc"); +assertEq(myobj.repeat(2), "abcabc"); + +assertThrowsInstanceOf(function() { + "abc".repeat(-1); + }, RangeError, + "String.prototype.repeat should raise RangeError on negative arguments"); +assertThrowsInstanceOf(function() { + "abc".repeat(Number.POSITIVE_INFINITY); + }, RangeError, + "String.prototype.repeat should raise RangeError on excedding maximum string length"); +assertThrowsInstanceOf(function() { + "abc".repeat(1 << 29); + }, RangeError, + "String.prototype.repeat should raise RangeError on excedding maximum string length"); + +assertEq("".repeat(5), ""); +assertEq("".repeat(1 << 29), ""); -- cgit v1.2.3