tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

string-repeat.js (1220B)


      1 /* Test String.prototype.repeat */
      2 
      3 load(libdir + 'asserts.js');
      4 
      5 assertEq("abc".repeat(1), "abc");
      6 assertEq("abc".repeat(2), "abcabc");
      7 assertEq("abc".repeat(3), "abcabcabc");
      8 assertEq("a".repeat(10), "aaaaaaaaaa");
      9 assertEq("abc".repeat(0), "");
     10 assertEq("abc".repeat(2.9), "abcabc");
     11 
     12 var myobj = {toString : () => "abc", repeat : String.prototype.repeat};
     13 assertEq(myobj.repeat(1), "abc");
     14 assertEq(myobj.repeat(2), "abcabc");
     15 
     16 assertThrowsInstanceOf(function() {
     17                         "abc".repeat(-1);
     18                       }, RangeError,
     19                       "String.prototype.repeat should raise RangeError on negative arguments");
     20 assertThrowsInstanceOf(function() {
     21                         "abc".repeat(Number.POSITIVE_INFINITY);
     22                       }, RangeError,
     23                       "String.prototype.repeat should raise RangeError on excedding maximum string length");
     24 assertThrowsInstanceOf(function() {
     25                         "abc".repeat(1 << 29);
     26                       }, RangeError,
     27                       "String.prototype.repeat should raise RangeError on excedding maximum string length");
     28 
     29 assertEq("".repeat(5), "");
     30 assertEq("".repeat(1 << 29), "");