blob: b83881e5099cccc52a1f37092413a1142e7352d8 [file] [log] [blame]
// 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}"
);