mirror of https://github.com/tc39/test262.git
149 lines
3.1 KiB
JavaScript
149 lines
3.1 KiB
JavaScript
// Copyright 2017 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 `Script_Extensions=Greek`
|
|
info: |
|
|
Generated by https://github.com/mathiasbynens/unicode-property-escapes-tests
|
|
Unicode v10.0.0
|
|
Emoji v5.0 (UTR51)
|
|
esid: sec-static-semantics-unicodematchproperty-p
|
|
features: [regexp-unicode-property-escapes]
|
|
includes: [regExpUtils.js]
|
|
---*/
|
|
|
|
const matchSymbols = buildString({
|
|
loneCodePoints: [
|
|
0x000342,
|
|
0x000345,
|
|
0x00037F,
|
|
0x000384,
|
|
0x000386,
|
|
0x00038C,
|
|
0x001F59,
|
|
0x001F5B,
|
|
0x001F5D,
|
|
0x002126,
|
|
0x00AB65,
|
|
0x0101A0
|
|
],
|
|
ranges: [
|
|
[0x000370, 0x000373],
|
|
[0x000375, 0x000377],
|
|
[0x00037A, 0x00037D],
|
|
[0x000388, 0x00038A],
|
|
[0x00038E, 0x0003A1],
|
|
[0x0003A3, 0x0003E1],
|
|
[0x0003F0, 0x0003FF],
|
|
[0x001D26, 0x001D2A],
|
|
[0x001D5D, 0x001D61],
|
|
[0x001D66, 0x001D6A],
|
|
[0x001DBF, 0x001DC1],
|
|
[0x001F00, 0x001F15],
|
|
[0x001F18, 0x001F1D],
|
|
[0x001F20, 0x001F45],
|
|
[0x001F48, 0x001F4D],
|
|
[0x001F50, 0x001F57],
|
|
[0x001F5F, 0x001F7D],
|
|
[0x001F80, 0x001FB4],
|
|
[0x001FB6, 0x001FC4],
|
|
[0x001FC6, 0x001FD3],
|
|
[0x001FD6, 0x001FDB],
|
|
[0x001FDD, 0x001FEF],
|
|
[0x001FF2, 0x001FF4],
|
|
[0x001FF6, 0x001FFE],
|
|
[0x010140, 0x01018E],
|
|
[0x01D200, 0x01D245]
|
|
]
|
|
});
|
|
testPropertyEscapes(
|
|
/^\p{Script_Extensions=Greek}+$/u,
|
|
matchSymbols,
|
|
"\\p{Script_Extensions=Greek}"
|
|
);
|
|
testPropertyEscapes(
|
|
/^\p{Script_Extensions=Grek}+$/u,
|
|
matchSymbols,
|
|
"\\p{Script_Extensions=Grek}"
|
|
);
|
|
testPropertyEscapes(
|
|
/^\p{scx=Greek}+$/u,
|
|
matchSymbols,
|
|
"\\p{scx=Greek}"
|
|
);
|
|
testPropertyEscapes(
|
|
/^\p{scx=Grek}+$/u,
|
|
matchSymbols,
|
|
"\\p{scx=Grek}"
|
|
);
|
|
|
|
const nonMatchSymbols = buildString({
|
|
loneCodePoints: [
|
|
0x000374,
|
|
0x00037E,
|
|
0x000385,
|
|
0x000387,
|
|
0x00038B,
|
|
0x00038D,
|
|
0x0003A2,
|
|
0x001F58,
|
|
0x001F5A,
|
|
0x001F5C,
|
|
0x001F5E,
|
|
0x001FB5,
|
|
0x001FC5,
|
|
0x001FDC,
|
|
0x001FF5
|
|
],
|
|
ranges: [
|
|
[0x00DC00, 0x00DFFF],
|
|
[0x000000, 0x000341],
|
|
[0x000343, 0x000344],
|
|
[0x000346, 0x00036F],
|
|
[0x000378, 0x000379],
|
|
[0x000380, 0x000383],
|
|
[0x0003E2, 0x0003EF],
|
|
[0x000400, 0x001D25],
|
|
[0x001D2B, 0x001D5C],
|
|
[0x001D62, 0x001D65],
|
|
[0x001D6B, 0x001DBE],
|
|
[0x001DC2, 0x001EFF],
|
|
[0x001F16, 0x001F17],
|
|
[0x001F1E, 0x001F1F],
|
|
[0x001F46, 0x001F47],
|
|
[0x001F4E, 0x001F4F],
|
|
[0x001F7E, 0x001F7F],
|
|
[0x001FD4, 0x001FD5],
|
|
[0x001FF0, 0x001FF1],
|
|
[0x001FFF, 0x002125],
|
|
[0x002127, 0x00AB64],
|
|
[0x00AB66, 0x00DBFF],
|
|
[0x00E000, 0x01013F],
|
|
[0x01018F, 0x01019F],
|
|
[0x0101A1, 0x01D1FF],
|
|
[0x01D246, 0x10FFFF]
|
|
]
|
|
});
|
|
testPropertyEscapes(
|
|
/^\P{Script_Extensions=Greek}+$/u,
|
|
nonMatchSymbols,
|
|
"\\P{Script_Extensions=Greek}"
|
|
);
|
|
testPropertyEscapes(
|
|
/^\P{Script_Extensions=Grek}+$/u,
|
|
nonMatchSymbols,
|
|
"\\P{Script_Extensions=Grek}"
|
|
);
|
|
testPropertyEscapes(
|
|
/^\P{scx=Greek}+$/u,
|
|
nonMatchSymbols,
|
|
"\\P{scx=Greek}"
|
|
);
|
|
testPropertyEscapes(
|
|
/^\P{scx=Grek}+$/u,
|
|
nonMatchSymbols,
|
|
"\\P{scx=Grek}"
|
|
);
|