tor-browser

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

Script_-_Common.js (9693B)


      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 `Script=Common`
      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    0x0000D7,
     19    0x0000F7,
     20    0x000374,
     21    0x00037E,
     22    0x000385,
     23    0x000387,
     24    0x000605,
     25    0x00060C,
     26    0x00061B,
     27    0x00061F,
     28    0x000640,
     29    0x0006DD,
     30    0x0008E2,
     31    0x000E3F,
     32    0x0010FB,
     33    0x001805,
     34    0x001CD3,
     35    0x001CE1,
     36    0x001CFA,
     37    0x003006,
     38    0x0030A0,
     39    0x0031EF,
     40    0x0032FF,
     41    0x00A92E,
     42    0x00A9CF,
     43    0x00AB5B,
     44    0x00FEFF,
     45    0x00FF70,
     46    0x01D4A2,
     47    0x01D4BB,
     48    0x01D546,
     49    0x01F7F0,
     50    0x01FAC8,
     51    0x0E0001
     52  ],
     53  ranges: [
     54    [0x000000, 0x000040],
     55    [0x00005B, 0x000060],
     56    [0x00007B, 0x0000A9],
     57    [0x0000AB, 0x0000B9],
     58    [0x0000BB, 0x0000BF],
     59    [0x0002B9, 0x0002DF],
     60    [0x0002E5, 0x0002E9],
     61    [0x0002EC, 0x0002FF],
     62    [0x000964, 0x000965],
     63    [0x000FD5, 0x000FD8],
     64    [0x0016EB, 0x0016ED],
     65    [0x001735, 0x001736],
     66    [0x001802, 0x001803],
     67    [0x001CE9, 0x001CEC],
     68    [0x001CEE, 0x001CF3],
     69    [0x001CF5, 0x001CF7],
     70    [0x002000, 0x00200B],
     71    [0x00200E, 0x002064],
     72    [0x002066, 0x002070],
     73    [0x002074, 0x00207E],
     74    [0x002080, 0x00208E],
     75    [0x0020A0, 0x0020C1],
     76    [0x002100, 0x002125],
     77    [0x002127, 0x002129],
     78    [0x00212C, 0x002131],
     79    [0x002133, 0x00214D],
     80    [0x00214F, 0x00215F],
     81    [0x002189, 0x00218B],
     82    [0x002190, 0x002429],
     83    [0x002440, 0x00244A],
     84    [0x002460, 0x0027FF],
     85    [0x002900, 0x002B73],
     86    [0x002B76, 0x002BFF],
     87    [0x002E00, 0x002E5D],
     88    [0x002FF0, 0x003004],
     89    [0x003008, 0x003020],
     90    [0x003030, 0x003037],
     91    [0x00303C, 0x00303F],
     92    [0x00309B, 0x00309C],
     93    [0x0030FB, 0x0030FC],
     94    [0x003190, 0x00319F],
     95    [0x0031C0, 0x0031E5],
     96    [0x003220, 0x00325F],
     97    [0x00327F, 0x0032CF],
     98    [0x003358, 0x0033FF],
     99    [0x004DC0, 0x004DFF],
    100    [0x00A700, 0x00A721],
    101    [0x00A788, 0x00A78A],
    102    [0x00A830, 0x00A839],
    103    [0x00AB6A, 0x00AB6B],
    104    [0x00FD3E, 0x00FD3F],
    105    [0x00FE10, 0x00FE19],
    106    [0x00FE30, 0x00FE52],
    107    [0x00FE54, 0x00FE66],
    108    [0x00FE68, 0x00FE6B],
    109    [0x00FF01, 0x00FF20],
    110    [0x00FF3B, 0x00FF40],
    111    [0x00FF5B, 0x00FF65],
    112    [0x00FF9E, 0x00FF9F],
    113    [0x00FFE0, 0x00FFE6],
    114    [0x00FFE8, 0x00FFEE],
    115    [0x00FFF9, 0x00FFFD],
    116    [0x010100, 0x010102],
    117    [0x010107, 0x010133],
    118    [0x010137, 0x01013F],
    119    [0x010190, 0x01019C],
    120    [0x0101D0, 0x0101FC],
    121    [0x0102E1, 0x0102FB],
    122    [0x01BCA0, 0x01BCA3],
    123    [0x01CC00, 0x01CCFC],
    124    [0x01CD00, 0x01CEB3],
    125    [0x01CEBA, 0x01CED0],
    126    [0x01CEE0, 0x01CEF0],
    127    [0x01CF50, 0x01CFC3],
    128    [0x01D000, 0x01D0F5],
    129    [0x01D100, 0x01D126],
    130    [0x01D129, 0x01D166],
    131    [0x01D16A, 0x01D17A],
    132    [0x01D183, 0x01D184],
    133    [0x01D18C, 0x01D1A9],
    134    [0x01D1AE, 0x01D1EA],
    135    [0x01D2C0, 0x01D2D3],
    136    [0x01D2E0, 0x01D2F3],
    137    [0x01D300, 0x01D356],
    138    [0x01D360, 0x01D378],
    139    [0x01D400, 0x01D454],
    140    [0x01D456, 0x01D49C],
    141    [0x01D49E, 0x01D49F],
    142    [0x01D4A5, 0x01D4A6],
    143    [0x01D4A9, 0x01D4AC],
    144    [0x01D4AE, 0x01D4B9],
    145    [0x01D4BD, 0x01D4C3],
    146    [0x01D4C5, 0x01D505],
    147    [0x01D507, 0x01D50A],
    148    [0x01D50D, 0x01D514],
    149    [0x01D516, 0x01D51C],
    150    [0x01D51E, 0x01D539],
    151    [0x01D53B, 0x01D53E],
    152    [0x01D540, 0x01D544],
    153    [0x01D54A, 0x01D550],
    154    [0x01D552, 0x01D6A5],
    155    [0x01D6A8, 0x01D7CB],
    156    [0x01D7CE, 0x01D7FF],
    157    [0x01EC71, 0x01ECB4],
    158    [0x01ED01, 0x01ED3D],
    159    [0x01F000, 0x01F02B],
    160    [0x01F030, 0x01F093],
    161    [0x01F0A0, 0x01F0AE],
    162    [0x01F0B1, 0x01F0BF],
    163    [0x01F0C1, 0x01F0CF],
    164    [0x01F0D1, 0x01F0F5],
    165    [0x01F100, 0x01F1AD],
    166    [0x01F1E6, 0x01F1FF],
    167    [0x01F201, 0x01F202],
    168    [0x01F210, 0x01F23B],
    169    [0x01F240, 0x01F248],
    170    [0x01F250, 0x01F251],
    171    [0x01F260, 0x01F265],
    172    [0x01F300, 0x01F6D8],
    173    [0x01F6DC, 0x01F6EC],
    174    [0x01F6F0, 0x01F6FC],
    175    [0x01F700, 0x01F7D9],
    176    [0x01F7E0, 0x01F7EB],
    177    [0x01F800, 0x01F80B],
    178    [0x01F810, 0x01F847],
    179    [0x01F850, 0x01F859],
    180    [0x01F860, 0x01F887],
    181    [0x01F890, 0x01F8AD],
    182    [0x01F8B0, 0x01F8BB],
    183    [0x01F8C0, 0x01F8C1],
    184    [0x01F8D0, 0x01F8D8],
    185    [0x01F900, 0x01FA57],
    186    [0x01FA60, 0x01FA6D],
    187    [0x01FA70, 0x01FA7C],
    188    [0x01FA80, 0x01FA8A],
    189    [0x01FA8E, 0x01FAC6],
    190    [0x01FACD, 0x01FADC],
    191    [0x01FADF, 0x01FAEA],
    192    [0x01FAEF, 0x01FAF8],
    193    [0x01FB00, 0x01FB92],
    194    [0x01FB94, 0x01FBFA],
    195    [0x0E0020, 0x0E007F]
    196  ]
    197 });
    198 testPropertyEscapes(
    199  /^\p{Script=Common}+$/u,
    200  matchSymbols,
    201  "\\p{Script=Common}"
    202 );
    203 testPropertyEscapes(
    204  /^\p{Script=Zyyy}+$/u,
    205  matchSymbols,
    206  "\\p{Script=Zyyy}"
    207 );
    208 testPropertyEscapes(
    209  /^\p{sc=Common}+$/u,
    210  matchSymbols,
    211  "\\p{sc=Common}"
    212 );
    213 testPropertyEscapes(
    214  /^\p{sc=Zyyy}+$/u,
    215  matchSymbols,
    216  "\\p{sc=Zyyy}"
    217 );
    218 
    219 const nonMatchSymbols = buildString({
    220  loneCodePoints: [
    221    0x0000AA,
    222    0x0000BA,
    223    0x000386,
    224    0x001804,
    225    0x001CED,
    226    0x001CF4,
    227    0x002065,
    228    0x00207F,
    229    0x002126,
    230    0x002132,
    231    0x00214E,
    232    0x003005,
    233    0x003007,
    234    0x00FE53,
    235    0x00FE67,
    236    0x00FF00,
    237    0x00FFE7,
    238    0x01D455,
    239    0x01D49D,
    240    0x01D4AD,
    241    0x01D4BA,
    242    0x01D4BC,
    243    0x01D4C4,
    244    0x01D506,
    245    0x01D515,
    246    0x01D51D,
    247    0x01D53A,
    248    0x01D53F,
    249    0x01D545,
    250    0x01D551,
    251    0x01F0C0,
    252    0x01F0D0,
    253    0x01F200,
    254    0x01FAC7,
    255    0x01FB93
    256  ],
    257  ranges: [
    258    [0x00DC00, 0x00DFFF],
    259    [0x000041, 0x00005A],
    260    [0x000061, 0x00007A],
    261    [0x0000C0, 0x0000D6],
    262    [0x0000D8, 0x0000F6],
    263    [0x0000F8, 0x0002B8],
    264    [0x0002E0, 0x0002E4],
    265    [0x0002EA, 0x0002EB],
    266    [0x000300, 0x000373],
    267    [0x000375, 0x00037D],
    268    [0x00037F, 0x000384],
    269    [0x000388, 0x000604],
    270    [0x000606, 0x00060B],
    271    [0x00060D, 0x00061A],
    272    [0x00061C, 0x00061E],
    273    [0x000620, 0x00063F],
    274    [0x000641, 0x0006DC],
    275    [0x0006DE, 0x0008E1],
    276    [0x0008E3, 0x000963],
    277    [0x000966, 0x000E3E],
    278    [0x000E40, 0x000FD4],
    279    [0x000FD9, 0x0010FA],
    280    [0x0010FC, 0x0016EA],
    281    [0x0016EE, 0x001734],
    282    [0x001737, 0x001801],
    283    [0x001806, 0x001CD2],
    284    [0x001CD4, 0x001CE0],
    285    [0x001CE2, 0x001CE8],
    286    [0x001CF8, 0x001CF9],
    287    [0x001CFB, 0x001FFF],
    288    [0x00200C, 0x00200D],
    289    [0x002071, 0x002073],
    290    [0x00208F, 0x00209F],
    291    [0x0020C2, 0x0020FF],
    292    [0x00212A, 0x00212B],
    293    [0x002160, 0x002188],
    294    [0x00218C, 0x00218F],
    295    [0x00242A, 0x00243F],
    296    [0x00244B, 0x00245F],
    297    [0x002800, 0x0028FF],
    298    [0x002B74, 0x002B75],
    299    [0x002C00, 0x002DFF],
    300    [0x002E5E, 0x002FEF],
    301    [0x003021, 0x00302F],
    302    [0x003038, 0x00303B],
    303    [0x003040, 0x00309A],
    304    [0x00309D, 0x00309F],
    305    [0x0030A1, 0x0030FA],
    306    [0x0030FD, 0x00318F],
    307    [0x0031A0, 0x0031BF],
    308    [0x0031E6, 0x0031EE],
    309    [0x0031F0, 0x00321F],
    310    [0x003260, 0x00327E],
    311    [0x0032D0, 0x0032FE],
    312    [0x003300, 0x003357],
    313    [0x003400, 0x004DBF],
    314    [0x004E00, 0x00A6FF],
    315    [0x00A722, 0x00A787],
    316    [0x00A78B, 0x00A82F],
    317    [0x00A83A, 0x00A92D],
    318    [0x00A92F, 0x00A9CE],
    319    [0x00A9D0, 0x00AB5A],
    320    [0x00AB5C, 0x00AB69],
    321    [0x00AB6C, 0x00DBFF],
    322    [0x00E000, 0x00FD3D],
    323    [0x00FD40, 0x00FE0F],
    324    [0x00FE1A, 0x00FE2F],
    325    [0x00FE6C, 0x00FEFE],
    326    [0x00FF21, 0x00FF3A],
    327    [0x00FF41, 0x00FF5A],
    328    [0x00FF66, 0x00FF6F],
    329    [0x00FF71, 0x00FF9D],
    330    [0x00FFA0, 0x00FFDF],
    331    [0x00FFEF, 0x00FFF8],
    332    [0x00FFFE, 0x0100FF],
    333    [0x010103, 0x010106],
    334    [0x010134, 0x010136],
    335    [0x010140, 0x01018F],
    336    [0x01019D, 0x0101CF],
    337    [0x0101FD, 0x0102E0],
    338    [0x0102FC, 0x01BC9F],
    339    [0x01BCA4, 0x01CBFF],
    340    [0x01CCFD, 0x01CCFF],
    341    [0x01CEB4, 0x01CEB9],
    342    [0x01CED1, 0x01CEDF],
    343    [0x01CEF1, 0x01CF4F],
    344    [0x01CFC4, 0x01CFFF],
    345    [0x01D0F6, 0x01D0FF],
    346    [0x01D127, 0x01D128],
    347    [0x01D167, 0x01D169],
    348    [0x01D17B, 0x01D182],
    349    [0x01D185, 0x01D18B],
    350    [0x01D1AA, 0x01D1AD],
    351    [0x01D1EB, 0x01D2BF],
    352    [0x01D2D4, 0x01D2DF],
    353    [0x01D2F4, 0x01D2FF],
    354    [0x01D357, 0x01D35F],
    355    [0x01D379, 0x01D3FF],
    356    [0x01D4A0, 0x01D4A1],
    357    [0x01D4A3, 0x01D4A4],
    358    [0x01D4A7, 0x01D4A8],
    359    [0x01D50B, 0x01D50C],
    360    [0x01D547, 0x01D549],
    361    [0x01D6A6, 0x01D6A7],
    362    [0x01D7CC, 0x01D7CD],
    363    [0x01D800, 0x01EC70],
    364    [0x01ECB5, 0x01ED00],
    365    [0x01ED3E, 0x01EFFF],
    366    [0x01F02C, 0x01F02F],
    367    [0x01F094, 0x01F09F],
    368    [0x01F0AF, 0x01F0B0],
    369    [0x01F0F6, 0x01F0FF],
    370    [0x01F1AE, 0x01F1E5],
    371    [0x01F203, 0x01F20F],
    372    [0x01F23C, 0x01F23F],
    373    [0x01F249, 0x01F24F],
    374    [0x01F252, 0x01F25F],
    375    [0x01F266, 0x01F2FF],
    376    [0x01F6D9, 0x01F6DB],
    377    [0x01F6ED, 0x01F6EF],
    378    [0x01F6FD, 0x01F6FF],
    379    [0x01F7DA, 0x01F7DF],
    380    [0x01F7EC, 0x01F7EF],
    381    [0x01F7F1, 0x01F7FF],
    382    [0x01F80C, 0x01F80F],
    383    [0x01F848, 0x01F84F],
    384    [0x01F85A, 0x01F85F],
    385    [0x01F888, 0x01F88F],
    386    [0x01F8AE, 0x01F8AF],
    387    [0x01F8BC, 0x01F8BF],
    388    [0x01F8C2, 0x01F8CF],
    389    [0x01F8D9, 0x01F8FF],
    390    [0x01FA58, 0x01FA5F],
    391    [0x01FA6E, 0x01FA6F],
    392    [0x01FA7D, 0x01FA7F],
    393    [0x01FA8B, 0x01FA8D],
    394    [0x01FAC9, 0x01FACC],
    395    [0x01FADD, 0x01FADE],
    396    [0x01FAEB, 0x01FAEE],
    397    [0x01FAF9, 0x01FAFF],
    398    [0x01FBFB, 0x0E0000],
    399    [0x0E0002, 0x0E001F],
    400    [0x0E0080, 0x10FFFF]
    401  ]
    402 });
    403 testPropertyEscapes(
    404  /^\P{Script=Common}+$/u,
    405  nonMatchSymbols,
    406  "\\P{Script=Common}"
    407 );
    408 testPropertyEscapes(
    409  /^\P{Script=Zyyy}+$/u,
    410  nonMatchSymbols,
    411  "\\P{Script=Zyyy}"
    412 );
    413 testPropertyEscapes(
    414  /^\P{sc=Common}+$/u,
    415  nonMatchSymbols,
    416  "\\P{sc=Common}"
    417 );
    418 testPropertyEscapes(
    419  /^\P{sc=Zyyy}+$/u,
    420  nonMatchSymbols,
    421  "\\P{sc=Zyyy}"
    422 );
    423 
    424 reportCompare(0, 0);