tor-browser

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

Script_-_Ethiopic.js (3021B)


      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=Ethiopic`
      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    0x001258,
     19    0x0012C0
     20  ],
     21  ranges: [
     22    [0x001200, 0x001248],
     23    [0x00124A, 0x00124D],
     24    [0x001250, 0x001256],
     25    [0x00125A, 0x00125D],
     26    [0x001260, 0x001288],
     27    [0x00128A, 0x00128D],
     28    [0x001290, 0x0012B0],
     29    [0x0012B2, 0x0012B5],
     30    [0x0012B8, 0x0012BE],
     31    [0x0012C2, 0x0012C5],
     32    [0x0012C8, 0x0012D6],
     33    [0x0012D8, 0x001310],
     34    [0x001312, 0x001315],
     35    [0x001318, 0x00135A],
     36    [0x00135D, 0x00137C],
     37    [0x001380, 0x001399],
     38    [0x002D80, 0x002D96],
     39    [0x002DA0, 0x002DA6],
     40    [0x002DA8, 0x002DAE],
     41    [0x002DB0, 0x002DB6],
     42    [0x002DB8, 0x002DBE],
     43    [0x002DC0, 0x002DC6],
     44    [0x002DC8, 0x002DCE],
     45    [0x002DD0, 0x002DD6],
     46    [0x002DD8, 0x002DDE],
     47    [0x00AB01, 0x00AB06],
     48    [0x00AB09, 0x00AB0E],
     49    [0x00AB11, 0x00AB16],
     50    [0x00AB20, 0x00AB26],
     51    [0x00AB28, 0x00AB2E],
     52    [0x01E7E0, 0x01E7E6],
     53    [0x01E7E8, 0x01E7EB],
     54    [0x01E7ED, 0x01E7EE],
     55    [0x01E7F0, 0x01E7FE]
     56  ]
     57 });
     58 testPropertyEscapes(
     59  /^\p{Script=Ethiopic}+$/u,
     60  matchSymbols,
     61  "\\p{Script=Ethiopic}"
     62 );
     63 testPropertyEscapes(
     64  /^\p{Script=Ethi}+$/u,
     65  matchSymbols,
     66  "\\p{Script=Ethi}"
     67 );
     68 testPropertyEscapes(
     69  /^\p{sc=Ethiopic}+$/u,
     70  matchSymbols,
     71  "\\p{sc=Ethiopic}"
     72 );
     73 testPropertyEscapes(
     74  /^\p{sc=Ethi}+$/u,
     75  matchSymbols,
     76  "\\p{sc=Ethi}"
     77 );
     78 
     79 const nonMatchSymbols = buildString({
     80  loneCodePoints: [
     81    0x001249,
     82    0x001257,
     83    0x001259,
     84    0x001289,
     85    0x0012B1,
     86    0x0012BF,
     87    0x0012C1,
     88    0x0012D7,
     89    0x001311,
     90    0x002DA7,
     91    0x002DAF,
     92    0x002DB7,
     93    0x002DBF,
     94    0x002DC7,
     95    0x002DCF,
     96    0x002DD7,
     97    0x00AB27,
     98    0x01E7E7,
     99    0x01E7EC,
    100    0x01E7EF
    101  ],
    102  ranges: [
    103    [0x00DC00, 0x00DFFF],
    104    [0x000000, 0x0011FF],
    105    [0x00124E, 0x00124F],
    106    [0x00125E, 0x00125F],
    107    [0x00128E, 0x00128F],
    108    [0x0012B6, 0x0012B7],
    109    [0x0012C6, 0x0012C7],
    110    [0x001316, 0x001317],
    111    [0x00135B, 0x00135C],
    112    [0x00137D, 0x00137F],
    113    [0x00139A, 0x002D7F],
    114    [0x002D97, 0x002D9F],
    115    [0x002DDF, 0x00AB00],
    116    [0x00AB07, 0x00AB08],
    117    [0x00AB0F, 0x00AB10],
    118    [0x00AB17, 0x00AB1F],
    119    [0x00AB2F, 0x00DBFF],
    120    [0x00E000, 0x01E7DF],
    121    [0x01E7FF, 0x10FFFF]
    122  ]
    123 });
    124 testPropertyEscapes(
    125  /^\P{Script=Ethiopic}+$/u,
    126  nonMatchSymbols,
    127  "\\P{Script=Ethiopic}"
    128 );
    129 testPropertyEscapes(
    130  /^\P{Script=Ethi}+$/u,
    131  nonMatchSymbols,
    132  "\\P{Script=Ethi}"
    133 );
    134 testPropertyEscapes(
    135  /^\P{sc=Ethiopic}+$/u,
    136  nonMatchSymbols,
    137  "\\P{sc=Ethiopic}"
    138 );
    139 testPropertyEscapes(
    140  /^\P{sc=Ethi}+$/u,
    141  nonMatchSymbols,
    142  "\\P{sc=Ethi}"
    143 );
    144 
    145 reportCompare(0, 0);