blob: de3fd1e276ffe6f5ba2689aa12d108521105f8b8 [file] [log] [blame]
Ben Murdochda12d292016-06-02 14:46:10 +01001// 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
3// found in the LICENSE file.
4
Ben Murdoch61f157c2016-09-16 13:49:30 +01005// Flags: --harmony-regexp-property
Ben Murdochda12d292016-06-02 14:46:10 +01006
7function t(re, s) { assertTrue(re.test(s)); }
8function f(re, s) { assertFalse(re.test(s)); }
9
Ben Murdochc5610432016-08-08 18:44:38 +010010t(/\p{Block=ASCII}+/u, ".");
11t(/\p{Block=ASCII}+/u, "supercalifragilisticexpialidocious");
12t(/\p{Block=Basic_Latin}+/u, ".");
13t(/\p{Block=Basic_Latin}+/u, "supercalifragilisticexpialidocious");
Ben Murdochda12d292016-06-02 14:46:10 +010014
Ben Murdochc5610432016-08-08 18:44:38 +010015t(/\p{blk=CJK}+/u, "话说天下大势,分久必合,合久必分");
16t(/\p{blk=CJK_Unified_Ideographs}+/u, "吾庄后有一桃园,花开正盛");
17f(/\p{blk=CJK}+/u, "おはようございます");
18f(/\p{blk=CJK_Unified_Ideographs}+/u,
Ben Murdochda12d292016-06-02 14:46:10 +010019 "Something is rotten in the state of Denmark");
20
Ben Murdochc5610432016-08-08 18:44:38 +010021t(/\p{blk=Latin_1}+/u, "Wie froh bin ich, daß ich weg bin!");
22f(/\p{blk=Latin_1_Supplement}+/u, "奔腾千里荡尘埃,渡水登山紫雾开");
23f(/\p{blk=Latin_1_Sup}+/u, "いただきます");
Ben Murdochda12d292016-06-02 14:46:10 +010024
Ben Murdochc5610432016-08-08 18:44:38 +010025t(/\p{blk=Hiragana}/u, "いただきます");
26t(/\p{sc=Hiragana}/u, "\u{1b001}"); // This refers to the script "Hiragana".
27f(/\p{blk=Hiragana}/u, "\u{1b001}"); // This refers to the block "Hiragana".
Ben Murdochda12d292016-06-02 14:46:10 +010028
Ben Murdochc5610432016-08-08 18:44:38 +010029t(/\p{blk=Greek_And_Coptic}/u,
Ben Murdochda12d292016-06-02 14:46:10 +010030 "ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ");
Ben Murdochc5610432016-08-08 18:44:38 +010031t(/\p{blk=Greek}/u, "μῆνιν ἄειδε θεὰ Πηληϊάδεω Ἀχιλῆος");
Ben Murdochda12d292016-06-02 14:46:10 +010032
33assertThrows("/\\p{In}/u");
34assertThrows("/\\pI/u");
35assertThrows("/\\p{I}/u");
36assertThrows("/\\p{CJK}/u");