tor-browser

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

Terminal_Punctuation.js (6484B)


      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 `Terminal_Punctuation`
      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    0x000021,
     19    0x00002C,
     20    0x00002E,
     21    0x00003F,
     22    0x00037E,
     23    0x000387,
     24    0x000589,
     25    0x0005C3,
     26    0x00060C,
     27    0x00061B,
     28    0x0006D4,
     29    0x00070C,
     30    0x00085E,
     31    0x000F08,
     32    0x00166E,
     33    0x0017DA,
     34    0x002024,
     35    0x002E2E,
     36    0x002E3C,
     37    0x002E41,
     38    0x002E4C,
     39    0x00A92F,
     40    0x00AADF,
     41    0x00ABEB,
     42    0x00FE12,
     43    0x00FF01,
     44    0x00FF0C,
     45    0x00FF0E,
     46    0x00FF1F,
     47    0x00FF61,
     48    0x00FF64,
     49    0x01039F,
     50    0x0103D0,
     51    0x010857,
     52    0x01091F,
     53    0x0111CD,
     54    0x0112A9,
     55    0x011944,
     56    0x011946,
     57    0x011C71,
     58    0x016AF5,
     59    0x016B44,
     60    0x01BC9F
     61  ],
     62  ranges: [
     63    [0x00003A, 0x00003B],
     64    [0x00061D, 0x00061F],
     65    [0x000700, 0x00070A],
     66    [0x0007F8, 0x0007F9],
     67    [0x000830, 0x000835],
     68    [0x000837, 0x00083E],
     69    [0x000964, 0x000965],
     70    [0x000E5A, 0x000E5B],
     71    [0x000F0D, 0x000F12],
     72    [0x00104A, 0x00104B],
     73    [0x001361, 0x001368],
     74    [0x0016EB, 0x0016ED],
     75    [0x001735, 0x001736],
     76    [0x0017D4, 0x0017D6],
     77    [0x001802, 0x001805],
     78    [0x001808, 0x001809],
     79    [0x001944, 0x001945],
     80    [0x001AA8, 0x001AAB],
     81    [0x001B4E, 0x001B4F],
     82    [0x001B5A, 0x001B5B],
     83    [0x001B5D, 0x001B5F],
     84    [0x001B7D, 0x001B7F],
     85    [0x001C3B, 0x001C3F],
     86    [0x001C7E, 0x001C7F],
     87    [0x00203C, 0x00203D],
     88    [0x002047, 0x002049],
     89    [0x002CF9, 0x002CFB],
     90    [0x002E4E, 0x002E4F],
     91    [0x002E53, 0x002E54],
     92    [0x003001, 0x003002],
     93    [0x00A4FE, 0x00A4FF],
     94    [0x00A60D, 0x00A60F],
     95    [0x00A6F3, 0x00A6F7],
     96    [0x00A876, 0x00A877],
     97    [0x00A8CE, 0x00A8CF],
     98    [0x00A9C7, 0x00A9C9],
     99    [0x00AA5D, 0x00AA5F],
    100    [0x00AAF0, 0x00AAF1],
    101    [0x00FE15, 0x00FE16],
    102    [0x00FE50, 0x00FE52],
    103    [0x00FE54, 0x00FE57],
    104    [0x00FF1A, 0x00FF1B],
    105    [0x010A56, 0x010A57],
    106    [0x010AF0, 0x010AF5],
    107    [0x010B3A, 0x010B3F],
    108    [0x010B99, 0x010B9C],
    109    [0x010F55, 0x010F59],
    110    [0x010F86, 0x010F89],
    111    [0x011047, 0x01104D],
    112    [0x0110BE, 0x0110C1],
    113    [0x011141, 0x011143],
    114    [0x0111C5, 0x0111C6],
    115    [0x0111DE, 0x0111DF],
    116    [0x011238, 0x01123C],
    117    [0x0113D4, 0x0113D5],
    118    [0x01144B, 0x01144D],
    119    [0x01145A, 0x01145B],
    120    [0x0115C2, 0x0115C5],
    121    [0x0115C9, 0x0115D7],
    122    [0x011641, 0x011642],
    123    [0x01173C, 0x01173E],
    124    [0x011A42, 0x011A43],
    125    [0x011A9B, 0x011A9C],
    126    [0x011AA1, 0x011AA2],
    127    [0x011C41, 0x011C43],
    128    [0x011EF7, 0x011EF8],
    129    [0x011F43, 0x011F44],
    130    [0x012470, 0x012474],
    131    [0x016A6E, 0x016A6F],
    132    [0x016B37, 0x016B39],
    133    [0x016D6E, 0x016D6F],
    134    [0x016E97, 0x016E98],
    135    [0x01DA87, 0x01DA8A]
    136  ]
    137 });
    138 testPropertyEscapes(
    139  /^\p{Terminal_Punctuation}+$/u,
    140  matchSymbols,
    141  "\\p{Terminal_Punctuation}"
    142 );
    143 testPropertyEscapes(
    144  /^\p{Term}+$/u,
    145  matchSymbols,
    146  "\\p{Term}"
    147 );
    148 
    149 const nonMatchSymbols = buildString({
    150  loneCodePoints: [
    151    0x00002D,
    152    0x00061C,
    153    0x00070B,
    154    0x000836,
    155    0x001B5C,
    156    0x002E4D,
    157    0x00FE53,
    158    0x00FF0D,
    159    0x011945
    160  ],
    161  ranges: [
    162    [0x00DC00, 0x00DFFF],
    163    [0x000000, 0x000020],
    164    [0x000022, 0x00002B],
    165    [0x00002F, 0x000039],
    166    [0x00003C, 0x00003E],
    167    [0x000040, 0x00037D],
    168    [0x00037F, 0x000386],
    169    [0x000388, 0x000588],
    170    [0x00058A, 0x0005C2],
    171    [0x0005C4, 0x00060B],
    172    [0x00060D, 0x00061A],
    173    [0x000620, 0x0006D3],
    174    [0x0006D5, 0x0006FF],
    175    [0x00070D, 0x0007F7],
    176    [0x0007FA, 0x00082F],
    177    [0x00083F, 0x00085D],
    178    [0x00085F, 0x000963],
    179    [0x000966, 0x000E59],
    180    [0x000E5C, 0x000F07],
    181    [0x000F09, 0x000F0C],
    182    [0x000F13, 0x001049],
    183    [0x00104C, 0x001360],
    184    [0x001369, 0x00166D],
    185    [0x00166F, 0x0016EA],
    186    [0x0016EE, 0x001734],
    187    [0x001737, 0x0017D3],
    188    [0x0017D7, 0x0017D9],
    189    [0x0017DB, 0x001801],
    190    [0x001806, 0x001807],
    191    [0x00180A, 0x001943],
    192    [0x001946, 0x001AA7],
    193    [0x001AAC, 0x001B4D],
    194    [0x001B50, 0x001B59],
    195    [0x001B60, 0x001B7C],
    196    [0x001B80, 0x001C3A],
    197    [0x001C40, 0x001C7D],
    198    [0x001C80, 0x002023],
    199    [0x002025, 0x00203B],
    200    [0x00203E, 0x002046],
    201    [0x00204A, 0x002CF8],
    202    [0x002CFC, 0x002E2D],
    203    [0x002E2F, 0x002E3B],
    204    [0x002E3D, 0x002E40],
    205    [0x002E42, 0x002E4B],
    206    [0x002E50, 0x002E52],
    207    [0x002E55, 0x003000],
    208    [0x003003, 0x00A4FD],
    209    [0x00A500, 0x00A60C],
    210    [0x00A610, 0x00A6F2],
    211    [0x00A6F8, 0x00A875],
    212    [0x00A878, 0x00A8CD],
    213    [0x00A8D0, 0x00A92E],
    214    [0x00A930, 0x00A9C6],
    215    [0x00A9CA, 0x00AA5C],
    216    [0x00AA60, 0x00AADE],
    217    [0x00AAE0, 0x00AAEF],
    218    [0x00AAF2, 0x00ABEA],
    219    [0x00ABEC, 0x00DBFF],
    220    [0x00E000, 0x00FE11],
    221    [0x00FE13, 0x00FE14],
    222    [0x00FE17, 0x00FE4F],
    223    [0x00FE58, 0x00FF00],
    224    [0x00FF02, 0x00FF0B],
    225    [0x00FF0F, 0x00FF19],
    226    [0x00FF1C, 0x00FF1E],
    227    [0x00FF20, 0x00FF60],
    228    [0x00FF62, 0x00FF63],
    229    [0x00FF65, 0x01039E],
    230    [0x0103A0, 0x0103CF],
    231    [0x0103D1, 0x010856],
    232    [0x010858, 0x01091E],
    233    [0x010920, 0x010A55],
    234    [0x010A58, 0x010AEF],
    235    [0x010AF6, 0x010B39],
    236    [0x010B40, 0x010B98],
    237    [0x010B9D, 0x010F54],
    238    [0x010F5A, 0x010F85],
    239    [0x010F8A, 0x011046],
    240    [0x01104E, 0x0110BD],
    241    [0x0110C2, 0x011140],
    242    [0x011144, 0x0111C4],
    243    [0x0111C7, 0x0111CC],
    244    [0x0111CE, 0x0111DD],
    245    [0x0111E0, 0x011237],
    246    [0x01123D, 0x0112A8],
    247    [0x0112AA, 0x0113D3],
    248    [0x0113D6, 0x01144A],
    249    [0x01144E, 0x011459],
    250    [0x01145C, 0x0115C1],
    251    [0x0115C6, 0x0115C8],
    252    [0x0115D8, 0x011640],
    253    [0x011643, 0x01173B],
    254    [0x01173F, 0x011943],
    255    [0x011947, 0x011A41],
    256    [0x011A44, 0x011A9A],
    257    [0x011A9D, 0x011AA0],
    258    [0x011AA3, 0x011C40],
    259    [0x011C44, 0x011C70],
    260    [0x011C72, 0x011EF6],
    261    [0x011EF9, 0x011F42],
    262    [0x011F45, 0x01246F],
    263    [0x012475, 0x016A6D],
    264    [0x016A70, 0x016AF4],
    265    [0x016AF6, 0x016B36],
    266    [0x016B3A, 0x016B43],
    267    [0x016B45, 0x016D6D],
    268    [0x016D70, 0x016E96],
    269    [0x016E99, 0x01BC9E],
    270    [0x01BCA0, 0x01DA86],
    271    [0x01DA8B, 0x10FFFF]
    272  ]
    273 });
    274 testPropertyEscapes(
    275  /^\P{Terminal_Punctuation}+$/u,
    276  nonMatchSymbols,
    277  "\\P{Terminal_Punctuation}"
    278 );
    279 testPropertyEscapes(
    280  /^\P{Term}+$/u,
    281  nonMatchSymbols,
    282  "\\P{Term}"
    283 );
    284 
    285 reportCompare(0, 0);