Home | History | Annotate | Download | only in harmony
      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
      3 // found in the LICENSE file.
      4 
      5 // Flags: --harmony-regexp-property
      6 
      7 function t(re, s) { assertTrue(re.test(s)); }
      8 function f(re, s) { assertFalse(re.test(s)); }
      9 
     10 t(/\p{Block=ASCII}+/u, ".");
     11 t(/\p{Block=ASCII}+/u, "supercalifragilisticexpialidocious");
     12 t(/\p{Block=Basic_Latin}+/u, ".");
     13 t(/\p{Block=Basic_Latin}+/u, "supercalifragilisticexpialidocious");
     14 
     15 t(/\p{blk=CJK}+/u, "");
     16 t(/\p{blk=CJK_Unified_Ideographs}+/u, "");
     17 f(/\p{blk=CJK}+/u, "");
     18 f(/\p{blk=CJK_Unified_Ideographs}+/u,
     19   "Something is rotten in the state of Denmark");
     20 
     21 t(/\p{blk=Latin_1}+/u, "Wie froh bin ich, da ich weg bin!");
     22 f(/\p{blk=Latin_1_Supplement}+/u, "");
     23 f(/\p{blk=Latin_1_Sup}+/u, "");
     24 
     25 t(/\p{blk=Hiragana}/u, "");
     26 t(/\p{sc=Hiragana}/u, "\u{1b001}");   // This refers to the script "Hiragana".
     27 f(/\p{blk=Hiragana}/u, "\u{1b001}");  // This refers to the block "Hiragana".
     28 
     29 t(/\p{blk=Greek_And_Coptic}/u,
     30   "  , , ,   ");
     31 t(/\p{blk=Greek}/u, "    ");
     32 
     33 assertThrows("/\\p{In}/u");
     34 assertThrows("/\\pI/u");
     35 assertThrows("/\\p{I}/u");
     36 assertThrows("/\\p{CJK}/u");
     37