OLD | NEW |
---|---|
1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Flags: --harmony-regexp-property | 5 // Flags: --harmony-regexp-property |
6 | 6 |
7 function t(re, s) { assertTrue(re.test(s)); } | 7 function t(re, s) { assertTrue(re.test(s)); } |
8 function f(re, s) { assertFalse(re.test(s)); } | 8 function f(re, s) { assertFalse(re.test(s)); } |
9 | 9 |
10 t(/\p{Bidi_Control}+/u, "\u200E"); | 10 t(/\p{Bidi_Control}+/u, "\u200E"); |
11 f(/\p{Bidi_C}+/u, "On a dark desert highway, cool wind in my hair"); | 11 f(/\p{Bidi_C}+/u, "On a dark desert highway, cool wind in my hair"); |
12 t(/\p{AHex}+/u, "DEADBEEF"); | 12 t(/\p{AHex}+/u, "DEADBEEF"); |
13 t(/\p{Alphabetic}+/u, "abcdefg"); | 13 t(/\p{Alphabetic}+/u, "abcdefg"); |
14 t(/\P{Alphabetic}+/u, "1234"); | 14 t(/\P{Alphabetic}+/u, "1234"); |
15 t(/\p{White_Space}+/u, "\u00A0"); | 15 t(/\p{White_Space}+/u, "\u00A0"); |
16 t(/\p{Uppercase}+/u, "V"); | 16 t(/\p{Uppercase}+/u, "V"); |
17 f(/\p{Lower}+/u, "U"); | 17 f(/\p{Lower}+/u, "U"); |
18 t(/\p{Ideo}+/u, "字"); | 18 t(/\p{Ideo}+/u, "字"); |
19 f(/\p{Ideo}+/u, "x"); | 19 f(/\p{Ideo}+/u, "x"); |
20 t(/\p{Noncharacter_Code_Point}+/u, "\uFDD0"); | |
21 t(/\p{Default_Ignorable_Code_Point}+/u, "\u00AD"); | |
22 t(/\p{ASCII}+/u, "a"); | |
23 t(/\p{ID_Start}+/u, "a"); | |
jgruber
2017/04/07 12:44:51
Nice! Maybe a couple of negative tests?
f(/\p{ASC
| |
24 t(/\p{ID_Continue}+/u, "1"); | |
25 t(/\p{Join_Control}+/u, "\u200c"); | |
26 t(/\p{Emoji_Presentation}+/u, "\u{1F308}"); | |
27 t(/\p{Emoji_Modifier}+/u, "\u{1F3FE}"); | |
28 t(/\p{Emoji_Modifier_Base}+/u, "\u{1F6CC}"); | |
20 | 29 |
21 assertThrows("/\\p{Hiragana}/u"); | 30 assertThrows("/\\p{Hiragana}/u"); |
22 assertThrows("/\\p{Bidi_Class}/u"); | 31 assertThrows("/\\p{Bidi_Class}/u"); |
23 assertThrows("/\\p{Bidi_C=False}/u"); | 32 assertThrows("/\\p{Bidi_C=False}/u"); |
24 assertThrows("/\\P{Bidi_Control=Y}/u"); | 33 assertThrows("/\\P{Bidi_Control=Y}/u"); |
25 assertThrows("/\\p{AHex=Yes}/u"); | 34 assertThrows("/\\p{AHex=Yes}/u"); |
OLD | NEW |