Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Side by Side Diff: test/mjsunit/harmony/regexp-property-blocks.js

Issue 1824613002: [regexp] require exact match for unicode property names. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/regexp/regexp-parser.cc ('k') | test/mjsunit/harmony/regexp-property-exact-match.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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");
OLDNEW
« no previous file with comments | « src/regexp/regexp-parser.cc ('k') | test/mjsunit/harmony/regexp-property-exact-match.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698