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