blob: e4fb8b5232de868c67d27945a0b8e7a60c857a0d [file] [log] [blame]
Ben Murdoch097c5b22016-05-18 11:27:45 +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 Murdoch097c5b22016-05-18 11:27:45 +01006
7assertThrows("/\\p/u");
8assertThrows("/\\p{garbage}/u");
9assertThrows("/\\p{}/u");
10assertThrows("/\\p{/u");
11assertThrows("/\\p}/u");
Ben Murdoch61f157c2016-09-16 13:49:30 +010012assertThrows("/\\pL/u");
13assertThrows("/\\P/u");
14assertThrows("/\\P{garbage}/u");
15assertThrows("/\\P{}/u");
16assertThrows("/\\P{/u");
17assertThrows("/\\P}/u");
18assertThrows("/\\PL/u");
Ben Murdoch097c5b22016-05-18 11:27:45 +010019
20assertTrue(/\p{Ll}/u.test("a"));
21assertFalse(/\P{Ll}/u.test("a"));
22assertTrue(/\P{Ll}/u.test("A"));
23assertFalse(/\p{Ll}/u.test("A"));
24assertTrue(/\p{Ll}/u.test("\u{1D7BE}"));
25assertFalse(/\P{Ll}/u.test("\u{1D7BE}"));
26assertFalse(/\p{Ll}/u.test("\u{1D5E3}"));
27assertTrue(/\P{Ll}/u.test("\u{1D5E3}"));
28
29assertTrue(/\p{Ll}/iu.test("a"));
30assertTrue(/\p{Ll}/iu.test("\u{118D4}"));
31assertTrue(/\p{Ll}/iu.test("A"));
32assertTrue(/\p{Ll}/iu.test("\u{118B4}"));
Ben Murdoch61f157c2016-09-16 13:49:30 +010033assertTrue(/\P{Ll}/iu.test("a"));
34assertTrue(/\P{Ll}/iu.test("\u{118D4}"));
35assertTrue(/\P{Ll}/iu.test("A"));
36assertTrue(/\P{Ll}/iu.test("\u{118B4}"));
Ben Murdoch097c5b22016-05-18 11:27:45 +010037
38assertTrue(/\p{Lu}/u.test("A"));
39assertFalse(/\P{Lu}/u.test("A"));
40assertTrue(/\P{Lu}/u.test("a"));
41assertFalse(/\p{Lu}/u.test("a"));
42assertTrue(/\p{Lu}/u.test("\u{1D5E3}"));
43assertFalse(/\P{Lu}/u.test("\u{1D5E3}"));
44assertFalse(/\p{Lu}/u.test("\u{1D7BE}"));
45assertTrue(/\P{Lu}/u.test("\u{1D7BE}"));
46
47assertTrue(/\p{Lu}/iu.test("a"));
48assertTrue(/\p{Lu}/iu.test("\u{118D4}"));
49assertTrue(/\p{Lu}/iu.test("A"));
50assertTrue(/\p{Lu}/iu.test("\u{118B4}"));
Ben Murdoch61f157c2016-09-16 13:49:30 +010051assertTrue(/\P{Lu}/iu.test("a"));
52assertTrue(/\P{Lu}/iu.test("\u{118D4}"));
53assertTrue(/\P{Lu}/iu.test("A"));
54assertTrue(/\P{Lu}/iu.test("\u{118B4}"));
Ben Murdoch097c5b22016-05-18 11:27:45 +010055
56assertTrue(/\p{Sm}/u.test("+"));
57assertFalse(/\P{Sm}/u.test("+"));
58assertTrue(/\p{Sm}/u.test("\u{1D6C1}"));
59assertFalse(/\P{Sm}/u.test("\u{1D6C1}"));
60
Ben Murdoch097c5b22016-05-18 11:27:45 +010061assertFalse(/\p{L}/u.test("\uA6EE"));
62assertTrue(/\P{L}/u.test("\uA6EE"));
Ben Murdochda12d292016-06-02 14:46:10 +010063
64assertTrue(/\p{Lowercase_Letter}/u.test("a"));
65assertTrue(/\p{Math_Symbol}/u.test("+"));