tor-browser

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

toLowerCase-toUpperCase.js (1691B)


      1 function testToLowerCase() {
      2    var s1 = "abcdefgABCDEFGH 123456";
      3    assertEq(isLatin1(s1), true);
      4 
      5    // Latin1
      6    var s2 = s1.toLowerCase();
      7    assertEq(isLatin1(s2), true);
      8    assertEq(s2, "abcdefgabcdefgh 123456");
      9 
     10    s2 = s1.toLocaleLowerCase();
     11    assertEq(isLatin1(s2), true);
     12    assertEq(s2, "abcdefgabcdefgh 123456");
     13 
     14    // TwoByte
     15    s2 = "abcdefg\u1200ABCDEFGH 123456\u04AC".toLowerCase();
     16    assertEq(s2, "abcdefg\u1200abcdefgh 123456\u04AD");
     17 
     18    s2 = "abcdefg\u1200ABCDEFGH 123456\u04AC".toLocaleLowerCase();
     19    assertEq(s2, "abcdefg\u1200abcdefgh 123456\u04AD");
     20 
     21    // For toLowerCase, every Latin1 character maps to a Latin1 character.
     22    for (var i=0; i <= 0xff; i++) {
     23 var s = "\u1200\u11AA" + String.fromCharCode(i);
     24 assertEq(s.toLowerCase().charCodeAt(2) <= 0xff, true);
     25    }
     26 }
     27 testToLowerCase();
     28 
     29 function testToUpperCase() {
     30    var s1 = "abcdefgABCDEFGH 12345";
     31    assertEq(isLatin1(s1), true);
     32 
     33    // Latin1
     34    var s2 = s1.toUpperCase();
     35    assertEq(isLatin1(s2), true);
     36    assertEq(s2, "ABCDEFGABCDEFGH 12345");
     37 
     38    s2 = s1.toLocaleUpperCase();
     39    assertEq(isLatin1(s2), true);
     40    assertEq(s2, "ABCDEFGABCDEFGH 12345");
     41 
     42    // TwoByte
     43    s2 = "abcdefg\u1200ABCDEFGH 12345\u1E0F".toUpperCase();
     44    assertEq(s2, "ABCDEFG\u1200ABCDEFGH 12345\u1E0E");
     45 
     46    s2 = "abcdefg\u1200ABCDEFGH 12345\u1E0F".toLocaleUpperCase();
     47    assertEq(s2, "ABCDEFG\u1200ABCDEFGH 12345\u1E0E");
     48 
     49    // Tricky case: Latin1 character \u00FF maps to \u0178, a
     50    // non-Latin1 character.
     51    s1 = "ABC\u00FF";
     52    assertEq(isLatin1(s1), true);
     53    s2 = s1.toUpperCase();
     54    assertEq(isLatin1(s2), false);
     55    assertEq(s2, "ABC\u0178");
     56 }
     57 testToUpperCase();