| // 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 `Emoji_Presentation` |
| 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: [ |
| 0x0023F0, |
| 0x0023F3, |
| 0x00267F, |
| 0x002693, |
| 0x0026A1, |
| 0x0026CE, |
| 0x0026D4, |
| 0x0026EA, |
| 0x0026F5, |
| 0x0026FA, |
| 0x0026FD, |
| 0x002705, |
| 0x002728, |
| 0x00274C, |
| 0x00274E, |
| 0x002757, |
| 0x0027B0, |
| 0x0027BF, |
| 0x002B50, |
| 0x002B55, |
| 0x01F004, |
| 0x01F0CF, |
| 0x01F18E, |
| 0x01F201, |
| 0x01F21A, |
| 0x01F22F, |
| 0x01F3F4, |
| 0x01F440, |
| 0x01F57A, |
| 0x01F5A4, |
| 0x01F6CC, |
| 0x01F6D5 |
| ], |
| ranges: [ |
| [0x00231A, 0x00231B], |
| [0x0023E9, 0x0023EC], |
| [0x0025FD, 0x0025FE], |
| [0x002614, 0x002615], |
| [0x002648, 0x002653], |
| [0x0026AA, 0x0026AB], |
| [0x0026BD, 0x0026BE], |
| [0x0026C4, 0x0026C5], |
| [0x0026F2, 0x0026F3], |
| [0x00270A, 0x00270B], |
| [0x002753, 0x002755], |
| [0x002795, 0x002797], |
| [0x002B1B, 0x002B1C], |
| [0x01F191, 0x01F19A], |
| [0x01F1E6, 0x01F1FF], |
| [0x01F232, 0x01F236], |
| [0x01F238, 0x01F23A], |
| [0x01F250, 0x01F251], |
| [0x01F300, 0x01F320], |
| [0x01F32D, 0x01F335], |
| [0x01F337, 0x01F37C], |
| [0x01F37E, 0x01F393], |
| [0x01F3A0, 0x01F3CA], |
| [0x01F3CF, 0x01F3D3], |
| [0x01F3E0, 0x01F3F0], |
| [0x01F3F8, 0x01F43E], |
| [0x01F442, 0x01F4FC], |
| [0x01F4FF, 0x01F53D], |
| [0x01F54B, 0x01F54E], |
| [0x01F550, 0x01F567], |
| [0x01F595, 0x01F596], |
| [0x01F5FB, 0x01F64F], |
| [0x01F680, 0x01F6C5], |
| [0x01F6D0, 0x01F6D2], |
| [0x01F6EB, 0x01F6EC], |
| [0x01F6F4, 0x01F6FA], |
| [0x01F7E0, 0x01F7EB], |
| [0x01F90D, 0x01F93A], |
| [0x01F93C, 0x01F945], |
| [0x01F947, 0x01F971], |
| [0x01F973, 0x01F976], |
| [0x01F97A, 0x01F9A2], |
| [0x01F9A5, 0x01F9AA], |
| [0x01F9AE, 0x01F9CA], |
| [0x01F9CD, 0x01F9FF], |
| [0x01FA70, 0x01FA73], |
| [0x01FA78, 0x01FA7A], |
| [0x01FA80, 0x01FA82], |
| [0x01FA90, 0x01FA95] |
| ] |
| }); |
| testPropertyEscapes( |
| /^\p{Emoji_Presentation}+$/u, |
| matchSymbols, |
| "\\p{Emoji_Presentation}" |
| ); |
| |
| const nonMatchSymbols = buildString({ |
| loneCodePoints: [ |
| 0x0026F4, |
| 0x00274D, |
| 0x002756, |
| 0x01F200, |
| 0x01F237, |
| 0x01F336, |
| 0x01F37D, |
| 0x01F43F, |
| 0x01F441, |
| 0x01F54F, |
| 0x01F93B, |
| 0x01F946, |
| 0x01F972 |
| ], |
| ranges: [ |
| [0x00DC00, 0x00DFFF], |
| [0x000000, 0x002319], |
| [0x00231C, 0x0023E8], |
| [0x0023ED, 0x0023EF], |
| [0x0023F1, 0x0023F2], |
| [0x0023F4, 0x0025FC], |
| [0x0025FF, 0x002613], |
| [0x002616, 0x002647], |
| [0x002654, 0x00267E], |
| [0x002680, 0x002692], |
| [0x002694, 0x0026A0], |
| [0x0026A2, 0x0026A9], |
| [0x0026AC, 0x0026BC], |
| [0x0026BF, 0x0026C3], |
| [0x0026C6, 0x0026CD], |
| [0x0026CF, 0x0026D3], |
| [0x0026D5, 0x0026E9], |
| [0x0026EB, 0x0026F1], |
| [0x0026F6, 0x0026F9], |
| [0x0026FB, 0x0026FC], |
| [0x0026FE, 0x002704], |
| [0x002706, 0x002709], |
| [0x00270C, 0x002727], |
| [0x002729, 0x00274B], |
| [0x00274F, 0x002752], |
| [0x002758, 0x002794], |
| [0x002798, 0x0027AF], |
| [0x0027B1, 0x0027BE], |
| [0x0027C0, 0x002B1A], |
| [0x002B1D, 0x002B4F], |
| [0x002B51, 0x002B54], |
| [0x002B56, 0x00DBFF], |
| [0x00E000, 0x01F003], |
| [0x01F005, 0x01F0CE], |
| [0x01F0D0, 0x01F18D], |
| [0x01F18F, 0x01F190], |
| [0x01F19B, 0x01F1E5], |
| [0x01F202, 0x01F219], |
| [0x01F21B, 0x01F22E], |
| [0x01F230, 0x01F231], |
| [0x01F23B, 0x01F24F], |
| [0x01F252, 0x01F2FF], |
| [0x01F321, 0x01F32C], |
| [0x01F394, 0x01F39F], |
| [0x01F3CB, 0x01F3CE], |
| [0x01F3D4, 0x01F3DF], |
| [0x01F3F1, 0x01F3F3], |
| [0x01F3F5, 0x01F3F7], |
| [0x01F4FD, 0x01F4FE], |
| [0x01F53E, 0x01F54A], |
| [0x01F568, 0x01F579], |
| [0x01F57B, 0x01F594], |
| [0x01F597, 0x01F5A3], |
| [0x01F5A5, 0x01F5FA], |
| [0x01F650, 0x01F67F], |
| [0x01F6C6, 0x01F6CB], |
| [0x01F6CD, 0x01F6CF], |
| [0x01F6D3, 0x01F6D4], |
| [0x01F6D6, 0x01F6EA], |
| [0x01F6ED, 0x01F6F3], |
| [0x01F6FB, 0x01F7DF], |
| [0x01F7EC, 0x01F90C], |
| [0x01F977, 0x01F979], |
| [0x01F9A3, 0x01F9A4], |
| [0x01F9AB, 0x01F9AD], |
| [0x01F9CB, 0x01F9CC], |
| [0x01FA00, 0x01FA6F], |
| [0x01FA74, 0x01FA77], |
| [0x01FA7B, 0x01FA7F], |
| [0x01FA83, 0x01FA8F], |
| [0x01FA96, 0x10FFFF] |
| ] |
| }); |
| testPropertyEscapes( |
| /^\P{Emoji_Presentation}+$/u, |
| nonMatchSymbols, |
| "\\P{Emoji_Presentation}" |
| ); |