| // Copyright 2019 Mathias Bynens. All rights reserved. |
| // This code is governed by the BSD license found in the LICENSE file. |
| |
| /*--- |
| author: Mathias Bynens |
| description: > |
| Unicode property escapes for `Pattern_Syntax` |
| info: | |
| Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests |
| Unicode v12.1.0 |
| esid: sec-static-semantics-unicodematchproperty-p |
| features: [regexp-unicode-property-escapes] |
| includes: [regExpUtils.js] |
| ---*/ |
| |
| const matchSymbols = buildString({ |
| loneCodePoints: [ |
| 0x000060, |
| 0x0000A9, |
| 0x0000AE, |
| 0x0000B6, |
| 0x0000BB, |
| 0x0000BF, |
| 0x0000D7, |
| 0x0000F7, |
| 0x003030 |
| ], |
| ranges: [ |
| [0x000021, 0x00002F], |
| [0x00003A, 0x000040], |
| [0x00005B, 0x00005E], |
| [0x00007B, 0x00007E], |
| [0x0000A1, 0x0000A7], |
| [0x0000AB, 0x0000AC], |
| [0x0000B0, 0x0000B1], |
| [0x002010, 0x002027], |
| [0x002030, 0x00203E], |
| [0x002041, 0x002053], |
| [0x002055, 0x00205E], |
| [0x002190, 0x00245F], |
| [0x002500, 0x002775], |
| [0x002794, 0x002BFF], |
| [0x002E00, 0x002E7F], |
| [0x003001, 0x003003], |
| [0x003008, 0x003020], |
| [0x00FD3E, 0x00FD3F], |
| [0x00FE45, 0x00FE46] |
| ] |
| }); |
| testPropertyEscapes( |
| /^\p{Pattern_Syntax}+$/u, |
| matchSymbols, |
| "\\p{Pattern_Syntax}" |
| ); |
| testPropertyEscapes( |
| /^\p{Pat_Syn}+$/u, |
| matchSymbols, |
| "\\p{Pat_Syn}" |
| ); |
| |
| const nonMatchSymbols = buildString({ |
| loneCodePoints: [ |
| 0x00005F, |
| 0x0000A8, |
| 0x0000AA, |
| 0x0000AD, |
| 0x0000AF, |
| 0x002054 |
| ], |
| ranges: [ |
| [0x00DC00, 0x00DFFF], |
| [0x000000, 0x000020], |
| [0x000030, 0x000039], |
| [0x000041, 0x00005A], |
| [0x000061, 0x00007A], |
| [0x00007F, 0x0000A0], |
| [0x0000B2, 0x0000B5], |
| [0x0000B7, 0x0000BA], |
| [0x0000BC, 0x0000BE], |
| [0x0000C0, 0x0000D6], |
| [0x0000D8, 0x0000F6], |
| [0x0000F8, 0x00200F], |
| [0x002028, 0x00202F], |
| [0x00203F, 0x002040], |
| [0x00205F, 0x00218F], |
| [0x002460, 0x0024FF], |
| [0x002776, 0x002793], |
| [0x002C00, 0x002DFF], |
| [0x002E80, 0x003000], |
| [0x003004, 0x003007], |
| [0x003021, 0x00302F], |
| [0x003031, 0x00DBFF], |
| [0x00E000, 0x00FD3D], |
| [0x00FD40, 0x00FE44], |
| [0x00FE47, 0x10FFFF] |
| ] |
| }); |
| testPropertyEscapes( |
| /^\P{Pattern_Syntax}+$/u, |
| nonMatchSymbols, |
| "\\P{Pattern_Syntax}" |
| ); |
| testPropertyEscapes( |
| /^\P{Pat_Syn}+$/u, |
| nonMatchSymbols, |
| "\\P{Pat_Syn}" |
| ); |