Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(839)

Side by Side Diff: test/mjsunit/harmony/unicode-regexp-restricted-syntax.js

Issue 1681893002: [regexp] parse RegExpUnicodeEscapeSequence according to spec. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: addressed comments Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « test/mjsunit/harmony/unicode-escapes-in-regexps.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Flags: --harmony-unicode-regexps 5 // Flags: --harmony-unicode-regexps
6 6
7 // test262/data/test/language/literals/regexp/u-dec-esc 7 // test262/data/test/language/literals/regexp/u-dec-esc
8 assertThrows("/\\1/u"); 8 assertThrows("/\\1/u", SyntaxError);
9 // test262/language/literals/regexp/u-invalid-char-range-a 9 // test262/language/literals/regexp/u-invalid-char-range-a
10 assertThrows("/[\\w-a]/u"); 10 assertThrows("/[\\w-a]/u", SyntaxError);
11 // test262/language/literals/regexp/u-invalid-char-range-b 11 // test262/language/literals/regexp/u-invalid-char-range-b
12 assertThrows("/[a-\\w]/u"); 12 assertThrows("/[a-\\w]/u", SyntaxError);
13 // test262/language/literals/regexp/u-invalid-char-esc 13 // test262/language/literals/regexp/u-invalid-char-esc
14 assertThrows("/\\c/u"); 14 assertThrows("/\\c/u", SyntaxError);
15 assertThrows("/\\c0/u"); 15 assertThrows("/\\c0/u", SyntaxError);
16 // test262/built-ins/RegExp/unicode_restricted_quantifiable_assertion 16 // test262/built-ins/RegExp/unicode_restricted_quantifiable_assertion
17 assertThrows("/(?=.)*/u"); 17 assertThrows("/(?=.)*/u", SyntaxError);
18 // test262/built-ins/RegExp/unicode_restricted_octal_escape 18 // test262/built-ins/RegExp/unicode_restricted_octal_escape
19 assertThrows("/[\\1]/u"); 19 assertThrows("/[\\1]/u", SyntaxError);
20 assertThrows("/\\00/u"); 20 assertThrows("/\\00/u", SyntaxError);
21 assertThrows("/\\09/u"); 21 assertThrows("/\\09/u", SyntaxError);
22 // test262/built-ins/RegExp/unicode_restricted_identity_escape_alpha 22 // test262/built-ins/RegExp/unicode_restricted_identity_escape_alpha
23 assertThrows("/[\\c]/u"); 23 assertThrows("/[\\c]/u", SyntaxError);
24 // test262/built-ins/RegExp/unicode_restricted_identity_escape_c 24 // test262/built-ins/RegExp/unicode_restricted_identity_escape_c
25 assertThrows("/[\\c0]/u"); 25 assertThrows("/[\\c0]/u", SyntaxError);
26 // test262/built-ins/RegExp/unicode_restricted_incomple_quantifier 26 // test262/built-ins/RegExp/unicode_restricted_incomple_quantifier
27 assertThrows("/a{/u"); 27 assertThrows("/a{/u", SyntaxError);
28 assertThrows("/a{1,/u"); 28 assertThrows("/a{1,/u", SyntaxError);
29 assertThrows("/{/u"); 29 assertThrows("/{/u", SyntaxError);
30 assertThrows("/}/u"); 30 assertThrows("/}/u", SyntaxError);
31 // test262/data/test/built-ins/RegExp/unicode_restricted_brackets 31 // test262/data/test/built-ins/RegExp/unicode_restricted_brackets
32 assertThrows("/]/u"); 32 assertThrows("/]/u", SyntaxError);
33 // test262/built-ins/RegExp/unicode_identity_escape 33 // test262/built-ins/RegExp/unicode_identity_escape
34 /\//u; 34 /\//u;
35
36 // escaped \0 is allowed inside a character class.
37 assertEquals(["\0"], /[\0]/u.exec("\0"));
38 // unless it is followed by another digit.
39 assertThrows("/[\\00]/u", SyntaxError);
40 assertThrows("/[\\01]/u", SyntaxError);
41 assertThrows("/[\\09]/u", SyntaxError);
42 assertEquals(["\u{0}1\u{0}a\u{0}"], /[1\0a]+/u.exec("b\u{0}1\u{0}a\u{0}2"));
43 // escaped \- is allowed inside a character class.
44 assertEquals(["-"], /[a\-z]/u.exec("12-34"));
OLDNEW
« no previous file with comments | « test/mjsunit/harmony/unicode-escapes-in-regexps.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698