tor-browser

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

Extended_Pictographic.js (8113B)


      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 `Extended_Pictographic`
      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    0x0000A9,
     19    0x0000AE,
     20    0x00203C,
     21    0x002049,
     22    0x002122,
     23    0x002139,
     24    0x002328,
     25    0x0023CF,
     26    0x0024C2,
     27    0x0025B6,
     28    0x0025C0,
     29    0x00260E,
     30    0x002611,
     31    0x002618,
     32    0x00261D,
     33    0x002620,
     34    0x002626,
     35    0x00262A,
     36    0x002640,
     37    0x002642,
     38    0x002663,
     39    0x002668,
     40    0x00267B,
     41    0x002699,
     42    0x0026A7,
     43    0x0026C8,
     44    0x0026D1,
     45    0x0026FD,
     46    0x002702,
     47    0x002705,
     48    0x00270F,
     49    0x002712,
     50    0x002714,
     51    0x002716,
     52    0x00271D,
     53    0x002721,
     54    0x002728,
     55    0x002744,
     56    0x002747,
     57    0x00274C,
     58    0x00274E,
     59    0x002757,
     60    0x0027A1,
     61    0x0027B0,
     62    0x0027BF,
     63    0x002B50,
     64    0x002B55,
     65    0x003030,
     66    0x00303D,
     67    0x003297,
     68    0x003299,
     69    0x01F004,
     70    0x01F0C0,
     71    0x01F18E,
     72    0x01F21A,
     73    0x01F22F,
     74    0x01F587,
     75    0x01F590,
     76    0x01F5A8,
     77    0x01F5BC,
     78    0x01F5E1,
     79    0x01F5E3,
     80    0x01F5E8,
     81    0x01F5EF,
     82    0x01F5F3,
     83    0x01F6E9
     84  ],
     85  ranges: [
     86    [0x002194, 0x002199],
     87    [0x0021A9, 0x0021AA],
     88    [0x00231A, 0x00231B],
     89    [0x0023E9, 0x0023F3],
     90    [0x0023F8, 0x0023FA],
     91    [0x0025AA, 0x0025AB],
     92    [0x0025FB, 0x0025FE],
     93    [0x002600, 0x002604],
     94    [0x002614, 0x002615],
     95    [0x002622, 0x002623],
     96    [0x00262E, 0x00262F],
     97    [0x002638, 0x00263A],
     98    [0x002648, 0x002653],
     99    [0x00265F, 0x002660],
    100    [0x002665, 0x002666],
    101    [0x00267E, 0x00267F],
    102    [0x002692, 0x002697],
    103    [0x00269B, 0x00269C],
    104    [0x0026A0, 0x0026A1],
    105    [0x0026AA, 0x0026AB],
    106    [0x0026B0, 0x0026B1],
    107    [0x0026BD, 0x0026BE],
    108    [0x0026C4, 0x0026C5],
    109    [0x0026CE, 0x0026CF],
    110    [0x0026D3, 0x0026D4],
    111    [0x0026E9, 0x0026EA],
    112    [0x0026F0, 0x0026F5],
    113    [0x0026F7, 0x0026FA],
    114    [0x002708, 0x00270D],
    115    [0x002733, 0x002734],
    116    [0x002753, 0x002755],
    117    [0x002763, 0x002764],
    118    [0x002795, 0x002797],
    119    [0x002934, 0x002935],
    120    [0x002B05, 0x002B07],
    121    [0x002B1B, 0x002B1C],
    122    [0x01F02C, 0x01F02F],
    123    [0x01F094, 0x01F09F],
    124    [0x01F0AF, 0x01F0B0],
    125    [0x01F0CF, 0x01F0D0],
    126    [0x01F0F6, 0x01F0FF],
    127    [0x01F170, 0x01F171],
    128    [0x01F17E, 0x01F17F],
    129    [0x01F191, 0x01F19A],
    130    [0x01F1AE, 0x01F1E5],
    131    [0x01F201, 0x01F20F],
    132    [0x01F232, 0x01F23A],
    133    [0x01F23C, 0x01F23F],
    134    [0x01F249, 0x01F25F],
    135    [0x01F266, 0x01F321],
    136    [0x01F324, 0x01F393],
    137    [0x01F396, 0x01F397],
    138    [0x01F399, 0x01F39B],
    139    [0x01F39E, 0x01F3F0],
    140    [0x01F3F3, 0x01F3F5],
    141    [0x01F3F7, 0x01F3FA],
    142    [0x01F400, 0x01F4FD],
    143    [0x01F4FF, 0x01F53D],
    144    [0x01F549, 0x01F54E],
    145    [0x01F550, 0x01F567],
    146    [0x01F56F, 0x01F570],
    147    [0x01F573, 0x01F57A],
    148    [0x01F58A, 0x01F58D],
    149    [0x01F595, 0x01F596],
    150    [0x01F5A4, 0x01F5A5],
    151    [0x01F5B1, 0x01F5B2],
    152    [0x01F5C2, 0x01F5C4],
    153    [0x01F5D1, 0x01F5D3],
    154    [0x01F5DC, 0x01F5DE],
    155    [0x01F5FA, 0x01F64F],
    156    [0x01F680, 0x01F6C5],
    157    [0x01F6CB, 0x01F6D2],
    158    [0x01F6D5, 0x01F6E5],
    159    [0x01F6EB, 0x01F6F0],
    160    [0x01F6F3, 0x01F6FF],
    161    [0x01F7DA, 0x01F7FF],
    162    [0x01F80C, 0x01F80F],
    163    [0x01F848, 0x01F84F],
    164    [0x01F85A, 0x01F85F],
    165    [0x01F888, 0x01F88F],
    166    [0x01F8AE, 0x01F8AF],
    167    [0x01F8BC, 0x01F8BF],
    168    [0x01F8C2, 0x01F8CF],
    169    [0x01F8D9, 0x01F8FF],
    170    [0x01F90C, 0x01F93A],
    171    [0x01F93C, 0x01F945],
    172    [0x01F947, 0x01F9FF],
    173    [0x01FA58, 0x01FA5F],
    174    [0x01FA6E, 0x01FAFF],
    175    [0x01FC00, 0x01FFFD]
    176  ]
    177 });
    178 testPropertyEscapes(
    179  /^\p{Extended_Pictographic}+$/u,
    180  matchSymbols,
    181  "\\p{Extended_Pictographic}"
    182 );
    183 testPropertyEscapes(
    184  /^\p{ExtPict}+$/u,
    185  matchSymbols,
    186  "\\p{ExtPict}"
    187 );
    188 
    189 const nonMatchSymbols = buildString({
    190  loneCodePoints: [
    191    0x0025FF,
    192    0x002621,
    193    0x002641,
    194    0x002664,
    195    0x002667,
    196    0x002698,
    197    0x00269A,
    198    0x0026D0,
    199    0x0026D2,
    200    0x0026F6,
    201    0x00270E,
    202    0x002713,
    203    0x002715,
    204    0x00274D,
    205    0x002756,
    206    0x003298,
    207    0x01F23B,
    208    0x01F398,
    209    0x01F3F6,
    210    0x01F4FE,
    211    0x01F54F,
    212    0x01F5E2,
    213    0x01F6EA,
    214    0x01F93B,
    215    0x01F946
    216  ],
    217  ranges: [
    218    [0x00DC00, 0x00DFFF],
    219    [0x000000, 0x0000A8],
    220    [0x0000AA, 0x0000AD],
    221    [0x0000AF, 0x00203B],
    222    [0x00203D, 0x002048],
    223    [0x00204A, 0x002121],
    224    [0x002123, 0x002138],
    225    [0x00213A, 0x002193],
    226    [0x00219A, 0x0021A8],
    227    [0x0021AB, 0x002319],
    228    [0x00231C, 0x002327],
    229    [0x002329, 0x0023CE],
    230    [0x0023D0, 0x0023E8],
    231    [0x0023F4, 0x0023F7],
    232    [0x0023FB, 0x0024C1],
    233    [0x0024C3, 0x0025A9],
    234    [0x0025AC, 0x0025B5],
    235    [0x0025B7, 0x0025BF],
    236    [0x0025C1, 0x0025FA],
    237    [0x002605, 0x00260D],
    238    [0x00260F, 0x002610],
    239    [0x002612, 0x002613],
    240    [0x002616, 0x002617],
    241    [0x002619, 0x00261C],
    242    [0x00261E, 0x00261F],
    243    [0x002624, 0x002625],
    244    [0x002627, 0x002629],
    245    [0x00262B, 0x00262D],
    246    [0x002630, 0x002637],
    247    [0x00263B, 0x00263F],
    248    [0x002643, 0x002647],
    249    [0x002654, 0x00265E],
    250    [0x002661, 0x002662],
    251    [0x002669, 0x00267A],
    252    [0x00267C, 0x00267D],
    253    [0x002680, 0x002691],
    254    [0x00269D, 0x00269F],
    255    [0x0026A2, 0x0026A6],
    256    [0x0026A8, 0x0026A9],
    257    [0x0026AC, 0x0026AF],
    258    [0x0026B2, 0x0026BC],
    259    [0x0026BF, 0x0026C3],
    260    [0x0026C6, 0x0026C7],
    261    [0x0026C9, 0x0026CD],
    262    [0x0026D5, 0x0026E8],
    263    [0x0026EB, 0x0026EF],
    264    [0x0026FB, 0x0026FC],
    265    [0x0026FE, 0x002701],
    266    [0x002703, 0x002704],
    267    [0x002706, 0x002707],
    268    [0x002710, 0x002711],
    269    [0x002717, 0x00271C],
    270    [0x00271E, 0x002720],
    271    [0x002722, 0x002727],
    272    [0x002729, 0x002732],
    273    [0x002735, 0x002743],
    274    [0x002745, 0x002746],
    275    [0x002748, 0x00274B],
    276    [0x00274F, 0x002752],
    277    [0x002758, 0x002762],
    278    [0x002765, 0x002794],
    279    [0x002798, 0x0027A0],
    280    [0x0027A2, 0x0027AF],
    281    [0x0027B1, 0x0027BE],
    282    [0x0027C0, 0x002933],
    283    [0x002936, 0x002B04],
    284    [0x002B08, 0x002B1A],
    285    [0x002B1D, 0x002B4F],
    286    [0x002B51, 0x002B54],
    287    [0x002B56, 0x00302F],
    288    [0x003031, 0x00303C],
    289    [0x00303E, 0x003296],
    290    [0x00329A, 0x00DBFF],
    291    [0x00E000, 0x01F003],
    292    [0x01F005, 0x01F02B],
    293    [0x01F030, 0x01F093],
    294    [0x01F0A0, 0x01F0AE],
    295    [0x01F0B1, 0x01F0BF],
    296    [0x01F0C1, 0x01F0CE],
    297    [0x01F0D1, 0x01F0F5],
    298    [0x01F100, 0x01F16F],
    299    [0x01F172, 0x01F17D],
    300    [0x01F180, 0x01F18D],
    301    [0x01F18F, 0x01F190],
    302    [0x01F19B, 0x01F1AD],
    303    [0x01F1E6, 0x01F200],
    304    [0x01F210, 0x01F219],
    305    [0x01F21B, 0x01F22E],
    306    [0x01F230, 0x01F231],
    307    [0x01F240, 0x01F248],
    308    [0x01F260, 0x01F265],
    309    [0x01F322, 0x01F323],
    310    [0x01F394, 0x01F395],
    311    [0x01F39C, 0x01F39D],
    312    [0x01F3F1, 0x01F3F2],
    313    [0x01F3FB, 0x01F3FF],
    314    [0x01F53E, 0x01F548],
    315    [0x01F568, 0x01F56E],
    316    [0x01F571, 0x01F572],
    317    [0x01F57B, 0x01F586],
    318    [0x01F588, 0x01F589],
    319    [0x01F58E, 0x01F58F],
    320    [0x01F591, 0x01F594],
    321    [0x01F597, 0x01F5A3],
    322    [0x01F5A6, 0x01F5A7],
    323    [0x01F5A9, 0x01F5B0],
    324    [0x01F5B3, 0x01F5BB],
    325    [0x01F5BD, 0x01F5C1],
    326    [0x01F5C5, 0x01F5D0],
    327    [0x01F5D4, 0x01F5DB],
    328    [0x01F5DF, 0x01F5E0],
    329    [0x01F5E4, 0x01F5E7],
    330    [0x01F5E9, 0x01F5EE],
    331    [0x01F5F0, 0x01F5F2],
    332    [0x01F5F4, 0x01F5F9],
    333    [0x01F650, 0x01F67F],
    334    [0x01F6C6, 0x01F6CA],
    335    [0x01F6D3, 0x01F6D4],
    336    [0x01F6E6, 0x01F6E8],
    337    [0x01F6F1, 0x01F6F2],
    338    [0x01F700, 0x01F7D9],
    339    [0x01F800, 0x01F80B],
    340    [0x01F810, 0x01F847],
    341    [0x01F850, 0x01F859],
    342    [0x01F860, 0x01F887],
    343    [0x01F890, 0x01F8AD],
    344    [0x01F8B0, 0x01F8BB],
    345    [0x01F8C0, 0x01F8C1],
    346    [0x01F8D0, 0x01F8D8],
    347    [0x01F900, 0x01F90B],
    348    [0x01FA00, 0x01FA57],
    349    [0x01FA60, 0x01FA6D],
    350    [0x01FB00, 0x01FBFF],
    351    [0x01FFFE, 0x10FFFF]
    352  ]
    353 });
    354 testPropertyEscapes(
    355  /^\P{Extended_Pictographic}+$/u,
    356  nonMatchSymbols,
    357  "\\P{Extended_Pictographic}"
    358 );
    359 testPropertyEscapes(
    360  /^\P{ExtPict}+$/u,
    361  nonMatchSymbols,
    362  "\\P{ExtPict}"
    363 );
    364 
    365 reportCompare(0, 0);