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 assertThrows("/\\p/u");
      8 assertThrows("/\\p{garbage}/u");
      9 assertThrows("/\\p{}/u");
     10 assertThrows("/\\p{/u");
     11 assertThrows("/\\p}/u");
     12 assertThrows("/\\pL/u");
     13 assertThrows("/\\P/u");
     14 assertThrows("/\\P{garbage}/u");
     15 assertThrows("/\\P{}/u");
     16 assertThrows("/\\P{/u");
     17 assertThrows("/\\P}/u");
     18 assertThrows("/\\PL/u");
     19 
     20 assertTrue(/\p{Ll}/u.test("a"));
     21 assertFalse(/\P{Ll}/u.test("a"));
     22 assertTrue(/\P{Ll}/u.test("A"));
     23 assertFalse(/\p{Ll}/u.test("A"));
     24 assertTrue(/\p{Ll}/u.test("\u{1D7BE}"));
     25 assertFalse(/\P{Ll}/u.test("\u{1D7BE}"));
     26 assertFalse(/\p{Ll}/u.test("\u{1D5E3}"));
     27 assertTrue(/\P{Ll}/u.test("\u{1D5E3}"));
     28 
     29 assertTrue(/\p{Ll}/iu.test("a"));
     30 assertTrue(/\p{Ll}/iu.test("\u{118D4}"));
     31 assertTrue(/\p{Ll}/iu.test("A"));
     32 assertTrue(/\p{Ll}/iu.test("\u{118B4}"));
     33 assertTrue(/\P{Ll}/iu.test("a"));
     34 assertTrue(/\P{Ll}/iu.test("\u{118D4}"));
     35 assertTrue(/\P{Ll}/iu.test("A"));
     36 assertTrue(/\P{Ll}/iu.test("\u{118B4}"));
     37 
     38 assertTrue(/\p{Lu}/u.test("A"));
     39 assertFalse(/\P{Lu}/u.test("A"));
     40 assertTrue(/\P{Lu}/u.test("a"));
     41 assertFalse(/\p{Lu}/u.test("a"));
     42 assertTrue(/\p{Lu}/u.test("\u{1D5E3}"));
     43 assertFalse(/\P{Lu}/u.test("\u{1D5E3}"));
     44 assertFalse(/\p{Lu}/u.test("\u{1D7BE}"));
     45 assertTrue(/\P{Lu}/u.test("\u{1D7BE}"));
     46 
     47 assertTrue(/\p{Lu}/iu.test("a"));
     48 assertTrue(/\p{Lu}/iu.test("\u{118D4}"));
     49 assertTrue(/\p{Lu}/iu.test("A"));
     50 assertTrue(/\p{Lu}/iu.test("\u{118B4}"));
     51 assertTrue(/\P{Lu}/iu.test("a"));
     52 assertTrue(/\P{Lu}/iu.test("\u{118D4}"));
     53 assertTrue(/\P{Lu}/iu.test("A"));
     54 assertTrue(/\P{Lu}/iu.test("\u{118B4}"));
     55 
     56 assertTrue(/\p{Sm}/u.test("+"));
     57 assertFalse(/\P{Sm}/u.test("+"));
     58 assertTrue(/\p{Sm}/u.test("\u{1D6C1}"));
     59 assertFalse(/\P{Sm}/u.test("\u{1D6C1}"));
     60 
     61 assertFalse(/\p{L}/u.test("\uA6EE"));
     62 assertTrue(/\P{L}/u.test("\uA6EE"));
     63 
     64 assertTrue(/\p{Lowercase_Letter}/u.test("a"));
     65 assertTrue(/\p{Math_Symbol}/u.test("+"));
     66