tor-browser

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

Cased.js (7978B)


      1 // Copyright 2025 Mathias Bynens. All rights reserved.
      2 // This code is governed by the BSD license found in the LICENSE file.
      3 
      4 /*---
      5 author: Mathias Bynens
      6 description: >
      7  Unicode property escapes for `Cased`
      8 info: |
      9  Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests
     10  Unicode v17.0.0
     11 esid: sec-static-semantics-unicodematchproperty-p
     12 features: [regexp-unicode-property-escapes]
     13 includes: [regExpUtils.js]
     14 ---*/
     15 
     16 const matchSymbols = buildString({
     17  loneCodePoints: [
     18    0x0000AA,
     19    0x0000B5,
     20    0x0000BA,
     21    0x000345,
     22    0x00037F,
     23    0x000386,
     24    0x00038C,
     25    0x0010C7,
     26    0x0010CD,
     27    0x001F59,
     28    0x001F5B,
     29    0x001F5D,
     30    0x001FBE,
     31    0x002071,
     32    0x00207F,
     33    0x002102,
     34    0x002107,
     35    0x002115,
     36    0x002124,
     37    0x002126,
     38    0x002128,
     39    0x002139,
     40    0x00214E,
     41    0x002D27,
     42    0x002D2D,
     43    0x010780,
     44    0x01D4A2,
     45    0x01D4BB,
     46    0x01D546
     47  ],
     48  ranges: [
     49    [0x000041, 0x00005A],
     50    [0x000061, 0x00007A],
     51    [0x0000C0, 0x0000D6],
     52    [0x0000D8, 0x0000F6],
     53    [0x0000F8, 0x0001BA],
     54    [0x0001BC, 0x0001BF],
     55    [0x0001C4, 0x000293],
     56    [0x000296, 0x0002B8],
     57    [0x0002C0, 0x0002C1],
     58    [0x0002E0, 0x0002E4],
     59    [0x000370, 0x000373],
     60    [0x000376, 0x000377],
     61    [0x00037A, 0x00037D],
     62    [0x000388, 0x00038A],
     63    [0x00038E, 0x0003A1],
     64    [0x0003A3, 0x0003F5],
     65    [0x0003F7, 0x000481],
     66    [0x00048A, 0x00052F],
     67    [0x000531, 0x000556],
     68    [0x000560, 0x000588],
     69    [0x0010A0, 0x0010C5],
     70    [0x0010D0, 0x0010FA],
     71    [0x0010FC, 0x0010FF],
     72    [0x0013A0, 0x0013F5],
     73    [0x0013F8, 0x0013FD],
     74    [0x001C80, 0x001C8A],
     75    [0x001C90, 0x001CBA],
     76    [0x001CBD, 0x001CBF],
     77    [0x001D00, 0x001DBF],
     78    [0x001E00, 0x001F15],
     79    [0x001F18, 0x001F1D],
     80    [0x001F20, 0x001F45],
     81    [0x001F48, 0x001F4D],
     82    [0x001F50, 0x001F57],
     83    [0x001F5F, 0x001F7D],
     84    [0x001F80, 0x001FB4],
     85    [0x001FB6, 0x001FBC],
     86    [0x001FC2, 0x001FC4],
     87    [0x001FC6, 0x001FCC],
     88    [0x001FD0, 0x001FD3],
     89    [0x001FD6, 0x001FDB],
     90    [0x001FE0, 0x001FEC],
     91    [0x001FF2, 0x001FF4],
     92    [0x001FF6, 0x001FFC],
     93    [0x002090, 0x00209C],
     94    [0x00210A, 0x002113],
     95    [0x002119, 0x00211D],
     96    [0x00212A, 0x00212D],
     97    [0x00212F, 0x002134],
     98    [0x00213C, 0x00213F],
     99    [0x002145, 0x002149],
    100    [0x002160, 0x00217F],
    101    [0x002183, 0x002184],
    102    [0x0024B6, 0x0024E9],
    103    [0x002C00, 0x002CE4],
    104    [0x002CEB, 0x002CEE],
    105    [0x002CF2, 0x002CF3],
    106    [0x002D00, 0x002D25],
    107    [0x00A640, 0x00A66D],
    108    [0x00A680, 0x00A69D],
    109    [0x00A722, 0x00A787],
    110    [0x00A78B, 0x00A78E],
    111    [0x00A790, 0x00A7DC],
    112    [0x00A7F1, 0x00A7F6],
    113    [0x00A7F8, 0x00A7FA],
    114    [0x00AB30, 0x00AB5A],
    115    [0x00AB5C, 0x00AB69],
    116    [0x00AB70, 0x00ABBF],
    117    [0x00FB00, 0x00FB06],
    118    [0x00FB13, 0x00FB17],
    119    [0x00FF21, 0x00FF3A],
    120    [0x00FF41, 0x00FF5A],
    121    [0x010400, 0x01044F],
    122    [0x0104B0, 0x0104D3],
    123    [0x0104D8, 0x0104FB],
    124    [0x010570, 0x01057A],
    125    [0x01057C, 0x01058A],
    126    [0x01058C, 0x010592],
    127    [0x010594, 0x010595],
    128    [0x010597, 0x0105A1],
    129    [0x0105A3, 0x0105B1],
    130    [0x0105B3, 0x0105B9],
    131    [0x0105BB, 0x0105BC],
    132    [0x010783, 0x010785],
    133    [0x010787, 0x0107B0],
    134    [0x0107B2, 0x0107BA],
    135    [0x010C80, 0x010CB2],
    136    [0x010CC0, 0x010CF2],
    137    [0x010D50, 0x010D65],
    138    [0x010D70, 0x010D85],
    139    [0x0118A0, 0x0118DF],
    140    [0x016E40, 0x016E7F],
    141    [0x016EA0, 0x016EB8],
    142    [0x016EBB, 0x016ED3],
    143    [0x01D400, 0x01D454],
    144    [0x01D456, 0x01D49C],
    145    [0x01D49E, 0x01D49F],
    146    [0x01D4A5, 0x01D4A6],
    147    [0x01D4A9, 0x01D4AC],
    148    [0x01D4AE, 0x01D4B9],
    149    [0x01D4BD, 0x01D4C3],
    150    [0x01D4C5, 0x01D505],
    151    [0x01D507, 0x01D50A],
    152    [0x01D50D, 0x01D514],
    153    [0x01D516, 0x01D51C],
    154    [0x01D51E, 0x01D539],
    155    [0x01D53B, 0x01D53E],
    156    [0x01D540, 0x01D544],
    157    [0x01D54A, 0x01D550],
    158    [0x01D552, 0x01D6A5],
    159    [0x01D6A8, 0x01D6C0],
    160    [0x01D6C2, 0x01D6DA],
    161    [0x01D6DC, 0x01D6FA],
    162    [0x01D6FC, 0x01D714],
    163    [0x01D716, 0x01D734],
    164    [0x01D736, 0x01D74E],
    165    [0x01D750, 0x01D76E],
    166    [0x01D770, 0x01D788],
    167    [0x01D78A, 0x01D7A8],
    168    [0x01D7AA, 0x01D7C2],
    169    [0x01D7C4, 0x01D7CB],
    170    [0x01DF00, 0x01DF09],
    171    [0x01DF0B, 0x01DF1E],
    172    [0x01DF25, 0x01DF2A],
    173    [0x01E030, 0x01E06D],
    174    [0x01E900, 0x01E943],
    175    [0x01F130, 0x01F149],
    176    [0x01F150, 0x01F169],
    177    [0x01F170, 0x01F189]
    178  ]
    179 });
    180 testPropertyEscapes(
    181  /^\p{Cased}+$/u,
    182  matchSymbols,
    183  "\\p{Cased}"
    184 );
    185 
    186 const nonMatchSymbols = buildString({
    187  loneCodePoints: [
    188    0x0000D7,
    189    0x0000F7,
    190    0x0001BB,
    191    0x00037E,
    192    0x000387,
    193    0x00038B,
    194    0x00038D,
    195    0x0003A2,
    196    0x0003F6,
    197    0x000530,
    198    0x0010C6,
    199    0x0010FB,
    200    0x001F58,
    201    0x001F5A,
    202    0x001F5C,
    203    0x001F5E,
    204    0x001FB5,
    205    0x001FBD,
    206    0x001FC5,
    207    0x001FF5,
    208    0x002114,
    209    0x002125,
    210    0x002127,
    211    0x002129,
    212    0x00212E,
    213    0x002D26,
    214    0x00A78F,
    215    0x00A7F7,
    216    0x00AB5B,
    217    0x01057B,
    218    0x01058B,
    219    0x010593,
    220    0x010596,
    221    0x0105A2,
    222    0x0105B2,
    223    0x0105BA,
    224    0x010786,
    225    0x0107B1,
    226    0x01D455,
    227    0x01D49D,
    228    0x01D4AD,
    229    0x01D4BA,
    230    0x01D4BC,
    231    0x01D4C4,
    232    0x01D506,
    233    0x01D515,
    234    0x01D51D,
    235    0x01D53A,
    236    0x01D53F,
    237    0x01D545,
    238    0x01D551,
    239    0x01D6C1,
    240    0x01D6DB,
    241    0x01D6FB,
    242    0x01D715,
    243    0x01D735,
    244    0x01D74F,
    245    0x01D76F,
    246    0x01D789,
    247    0x01D7A9,
    248    0x01D7C3,
    249    0x01DF0A
    250  ],
    251  ranges: [
    252    [0x00DC00, 0x00DFFF],
    253    [0x000000, 0x000040],
    254    [0x00005B, 0x000060],
    255    [0x00007B, 0x0000A9],
    256    [0x0000AB, 0x0000B4],
    257    [0x0000B6, 0x0000B9],
    258    [0x0000BB, 0x0000BF],
    259    [0x0001C0, 0x0001C3],
    260    [0x000294, 0x000295],
    261    [0x0002B9, 0x0002BF],
    262    [0x0002C2, 0x0002DF],
    263    [0x0002E5, 0x000344],
    264    [0x000346, 0x00036F],
    265    [0x000374, 0x000375],
    266    [0x000378, 0x000379],
    267    [0x000380, 0x000385],
    268    [0x000482, 0x000489],
    269    [0x000557, 0x00055F],
    270    [0x000589, 0x00109F],
    271    [0x0010C8, 0x0010CC],
    272    [0x0010CE, 0x0010CF],
    273    [0x001100, 0x00139F],
    274    [0x0013F6, 0x0013F7],
    275    [0x0013FE, 0x001C7F],
    276    [0x001C8B, 0x001C8F],
    277    [0x001CBB, 0x001CBC],
    278    [0x001CC0, 0x001CFF],
    279    [0x001DC0, 0x001DFF],
    280    [0x001F16, 0x001F17],
    281    [0x001F1E, 0x001F1F],
    282    [0x001F46, 0x001F47],
    283    [0x001F4E, 0x001F4F],
    284    [0x001F7E, 0x001F7F],
    285    [0x001FBF, 0x001FC1],
    286    [0x001FCD, 0x001FCF],
    287    [0x001FD4, 0x001FD5],
    288    [0x001FDC, 0x001FDF],
    289    [0x001FED, 0x001FF1],
    290    [0x001FFD, 0x002070],
    291    [0x002072, 0x00207E],
    292    [0x002080, 0x00208F],
    293    [0x00209D, 0x002101],
    294    [0x002103, 0x002106],
    295    [0x002108, 0x002109],
    296    [0x002116, 0x002118],
    297    [0x00211E, 0x002123],
    298    [0x002135, 0x002138],
    299    [0x00213A, 0x00213B],
    300    [0x002140, 0x002144],
    301    [0x00214A, 0x00214D],
    302    [0x00214F, 0x00215F],
    303    [0x002180, 0x002182],
    304    [0x002185, 0x0024B5],
    305    [0x0024EA, 0x002BFF],
    306    [0x002CE5, 0x002CEA],
    307    [0x002CEF, 0x002CF1],
    308    [0x002CF4, 0x002CFF],
    309    [0x002D28, 0x002D2C],
    310    [0x002D2E, 0x00A63F],
    311    [0x00A66E, 0x00A67F],
    312    [0x00A69E, 0x00A721],
    313    [0x00A788, 0x00A78A],
    314    [0x00A7DD, 0x00A7F0],
    315    [0x00A7FB, 0x00AB2F],
    316    [0x00AB6A, 0x00AB6F],
    317    [0x00ABC0, 0x00DBFF],
    318    [0x00E000, 0x00FAFF],
    319    [0x00FB07, 0x00FB12],
    320    [0x00FB18, 0x00FF20],
    321    [0x00FF3B, 0x00FF40],
    322    [0x00FF5B, 0x0103FF],
    323    [0x010450, 0x0104AF],
    324    [0x0104D4, 0x0104D7],
    325    [0x0104FC, 0x01056F],
    326    [0x0105BD, 0x01077F],
    327    [0x010781, 0x010782],
    328    [0x0107BB, 0x010C7F],
    329    [0x010CB3, 0x010CBF],
    330    [0x010CF3, 0x010D4F],
    331    [0x010D66, 0x010D6F],
    332    [0x010D86, 0x01189F],
    333    [0x0118E0, 0x016E3F],
    334    [0x016E80, 0x016E9F],
    335    [0x016EB9, 0x016EBA],
    336    [0x016ED4, 0x01D3FF],
    337    [0x01D4A0, 0x01D4A1],
    338    [0x01D4A3, 0x01D4A4],
    339    [0x01D4A7, 0x01D4A8],
    340    [0x01D50B, 0x01D50C],
    341    [0x01D547, 0x01D549],
    342    [0x01D6A6, 0x01D6A7],
    343    [0x01D7CC, 0x01DEFF],
    344    [0x01DF1F, 0x01DF24],
    345    [0x01DF2B, 0x01E02F],
    346    [0x01E06E, 0x01E8FF],
    347    [0x01E944, 0x01F12F],
    348    [0x01F14A, 0x01F14F],
    349    [0x01F16A, 0x01F16F],
    350    [0x01F18A, 0x10FFFF]
    351  ]
    352 });
    353 testPropertyEscapes(
    354  /^\P{Cased}+$/u,
    355  nonMatchSymbols,
    356  "\\P{Cased}"
    357 );
    358 
    359 reportCompare(0, 0);