blob: b421bba091ceb2ba74e6c643bc0640ed67a7228a [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 `General_Category=Close_Punctuation`
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: [
0x000029,
0x00005D,
0x00007D,
0x000F3B,
0x000F3D,
0x00169C,
0x002046,
0x00207E,
0x00208E,
0x002309,
0x00230B,
0x00232A,
0x002769,
0x00276B,
0x00276D,
0x00276F,
0x002771,
0x002773,
0x002775,
0x0027C6,
0x0027E7,
0x0027E9,
0x0027EB,
0x0027ED,
0x0027EF,
0x002984,
0x002986,
0x002988,
0x00298A,
0x00298C,
0x00298E,
0x002990,
0x002992,
0x002994,
0x002996,
0x002998,
0x0029D9,
0x0029DB,
0x0029FD,
0x002E23,
0x002E25,
0x002E27,
0x002E29,
0x003009,
0x00300B,
0x00300D,
0x00300F,
0x003011,
0x003015,
0x003017,
0x003019,
0x00301B,
0x00FD3E,
0x00FE18,
0x00FE36,
0x00FE38,
0x00FE3A,
0x00FE3C,
0x00FE3E,
0x00FE40,
0x00FE42,
0x00FE44,
0x00FE48,
0x00FE5A,
0x00FE5C,
0x00FE5E,
0x00FF09,
0x00FF3D,
0x00FF5D,
0x00FF60,
0x00FF63
],
ranges: [
[0x00301E, 0x00301F]
]
});
testPropertyEscapes(
/^\p{General_Category=Close_Punctuation}+$/u,
matchSymbols,
"\\p{General_Category=Close_Punctuation}"
);
testPropertyEscapes(
/^\p{General_Category=Pe}+$/u,
matchSymbols,
"\\p{General_Category=Pe}"
);
testPropertyEscapes(
/^\p{gc=Close_Punctuation}+$/u,
matchSymbols,
"\\p{gc=Close_Punctuation}"
);
testPropertyEscapes(
/^\p{gc=Pe}+$/u,
matchSymbols,
"\\p{gc=Pe}"
);
testPropertyEscapes(
/^\p{Close_Punctuation}+$/u,
matchSymbols,
"\\p{Close_Punctuation}"
);
testPropertyEscapes(
/^\p{Pe}+$/u,
matchSymbols,
"\\p{Pe}"
);
const nonMatchSymbols = buildString({
loneCodePoints: [
0x000F3C,
0x00230A,
0x00276A,
0x00276C,
0x00276E,
0x002770,
0x002772,
0x002774,
0x0027E8,
0x0027EA,
0x0027EC,
0x0027EE,
0x002985,
0x002987,
0x002989,
0x00298B,
0x00298D,
0x00298F,
0x002991,
0x002993,
0x002995,
0x002997,
0x0029DA,
0x002E24,
0x002E26,
0x002E28,
0x00300A,
0x00300C,
0x00300E,
0x003010,
0x003016,
0x003018,
0x00301A,
0x00FE37,
0x00FE39,
0x00FE3B,
0x00FE3D,
0x00FE3F,
0x00FE41,
0x00FE43,
0x00FE5B,
0x00FE5D
],
ranges: [
[0x00DC00, 0x00DFFF],
[0x000000, 0x000028],
[0x00002A, 0x00005C],
[0x00005E, 0x00007C],
[0x00007E, 0x000F3A],
[0x000F3E, 0x00169B],
[0x00169D, 0x002045],
[0x002047, 0x00207D],
[0x00207F, 0x00208D],
[0x00208F, 0x002308],
[0x00230C, 0x002329],
[0x00232B, 0x002768],
[0x002776, 0x0027C5],
[0x0027C7, 0x0027E6],
[0x0027F0, 0x002983],
[0x002999, 0x0029D8],
[0x0029DC, 0x0029FC],
[0x0029FE, 0x002E22],
[0x002E2A, 0x003008],
[0x003012, 0x003014],
[0x00301C, 0x00301D],
[0x003020, 0x00DBFF],
[0x00E000, 0x00FD3D],
[0x00FD3F, 0x00FE17],
[0x00FE19, 0x00FE35],
[0x00FE45, 0x00FE47],
[0x00FE49, 0x00FE59],
[0x00FE5F, 0x00FF08],
[0x00FF0A, 0x00FF3C],
[0x00FF3E, 0x00FF5C],
[0x00FF5E, 0x00FF5F],
[0x00FF61, 0x00FF62],
[0x00FF64, 0x10FFFF]
]
});
testPropertyEscapes(
/^\P{General_Category=Close_Punctuation}+$/u,
nonMatchSymbols,
"\\P{General_Category=Close_Punctuation}"
);
testPropertyEscapes(
/^\P{General_Category=Pe}+$/u,
nonMatchSymbols,
"\\P{General_Category=Pe}"
);
testPropertyEscapes(
/^\P{gc=Close_Punctuation}+$/u,
nonMatchSymbols,
"\\P{gc=Close_Punctuation}"
);
testPropertyEscapes(
/^\P{gc=Pe}+$/u,
nonMatchSymbols,
"\\P{gc=Pe}"
);
testPropertyEscapes(
/^\P{Close_Punctuation}+$/u,
nonMatchSymbols,
"\\P{Close_Punctuation}"
);
testPropertyEscapes(
/^\P{Pe}+$/u,
nonMatchSymbols,
"\\P{Pe}"
);