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 --harmony-unicode-regexps | 5 // Flags: --harmony-regexp-property --harmony-unicode-regexps |
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{InASCII}+/u, "."); | 10 t(/\p{InASCII}+/u, "."); |
11 t(/\p{In ASCII}+/u, "supercalifragilisticexpialidocious"); | 11 t(/\p{InASCII}+/u, "supercalifragilisticexpialidocious"); |
12 t(/\p{In Basic Latin}+/u, "."); | |
13 t(/\p{InBasicLatin}+/u, "supercalifragilisticexpialidocious"); | |
14 t(/\p{InBasic_Latin}+/u, "."); | 12 t(/\p{InBasic_Latin}+/u, "."); |
15 t(/\p{InBasic_Latin}+/u, "supercalifragilisticexpialidocious"); | 13 t(/\p{InBasic_Latin}+/u, "supercalifragilisticexpialidocious"); |
16 t(/\p{InBasicLatin}+/u, "."); | |
17 t(/\p{InBasicLatin}+/u, "supercalifragilisticexpialidocious"); | |
18 | 14 |
19 t(/\p{In CJK}+/u, "话说天下大势,分久必合,合久必分"); | 15 t(/\p{InCJK}+/u, "话说天下大势,分久必合,合久必分"); |
20 t(/\p{InCJK}+/u, "吾庄后有一桃园,花开正盛"); | 16 t(/\p{InCJK_Unified_Ideographs}+/u, "吾庄后有一桃园,花开正盛"); |
21 f(/\p{InCJKUnifiedIdeographs}+/u, "おはようございます"); | 17 f(/\p{InCJK}+/u, "おはようございます"); |
22 f(/\p{In CJK unified ideographs}+/u, | 18 f(/\p{InCJK_Unified_Ideographs}+/u, |
23 "Something is rotten in the state of Denmark"); | 19 "Something is rotten in the state of Denmark"); |
24 | 20 |
25 t(/\p{InLatin_1}+/u, "Wie froh bin ich, daß ich weg bin!"); | 21 t(/\p{InLatin_1}+/u, "Wie froh bin ich, daß ich weg bin!"); |
26 f(/\p{InASCII}+/u, "奔腾千里荡尘埃,渡水登山紫雾开"); | 22 f(/\p{InLatin_1_Supplement}+/u, "奔腾千里荡尘埃,渡水登山紫雾开"); |
27 f(/\p{In Latin 1}+/u, "いただきます"); | 23 f(/\p{InLatin_1_Sup}+/u, "いただきます"); |
28 | 24 |
29 t(/\p{InHiragana}/u, "いただきます"); | 25 t(/\p{InHiragana}/u, "いただきます"); |
30 t(/\p{Hiragana}/u, "\u{1b001}"); // This refers to the script "Hiragana". | 26 t(/\p{Hiragana}/u, "\u{1b001}"); // This refers to the script "Hiragana". |
31 f(/\p{InHiragana}/u, "\u{1b001}"); // This refers to the block "Hiragana". | 27 f(/\p{InHiragana}/u, "\u{1b001}"); // This refers to the block "Hiragana". |
32 | 28 |
33 t(/\p{InGreekAndCoptic}/u, "ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ")
; | 29 t(/\p{InGreek_And_Coptic}/u, |
| 30 "ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ"); |
34 t(/\p{InGreek}/u, "μῆνιν ἄειδε θεὰ Πηληϊάδεω Ἀχιλῆος"); | 31 t(/\p{InGreek}/u, "μῆνιν ἄειδε θεὰ Πηληϊάδεω Ἀχιλῆος"); |
35 | 32 |
36 assertThrows("/\\p{In}/u"); | 33 assertThrows("/\\p{In}/u"); |
37 assertThrows("/\\pI/u"); | 34 assertThrows("/\\pI/u"); |
38 assertThrows("/\\p{I}/u"); | 35 assertThrows("/\\p{I}/u"); |
39 assertThrows("/\\p{CJK}/u"); | 36 assertThrows("/\\p{CJK}/u"); |
OLD | NEW |