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// test262/data/test/language/literals/regexp/u-dec-esc 6assertThrows("/\\1/u", SyntaxError); 7// test262/language/literals/regexp/u-invalid-char-range-a 8assertThrows("/[\\w-a]/u", SyntaxError); 9// test262/language/literals/regexp/u-invalid-char-range-b 10assertThrows("/[a-\\w]/u", SyntaxError); 11// test262/language/literals/regexp/u-invalid-char-esc 12assertThrows("/\\c/u", SyntaxError); 13assertThrows("/\\c0/u", SyntaxError); 14// test262/built-ins/RegExp/unicode_restricted_quantifiable_assertion 15assertThrows("/(?=.)*/u", SyntaxError); 16// test262/built-ins/RegExp/unicode_restricted_octal_escape 17assertThrows("/[\\1]/u", SyntaxError); 18assertThrows("/\\00/u", SyntaxError); 19assertThrows("/\\09/u", SyntaxError); 20// test262/built-ins/RegExp/unicode_restricted_identity_escape_alpha 21assertThrows("/[\\c]/u", SyntaxError); 22// test262/built-ins/RegExp/unicode_restricted_identity_escape_c 23assertThrows("/[\\c0]/u", SyntaxError); 24// test262/built-ins/RegExp/unicode_restricted_incomple_quantifier 25assertThrows("/a{/u", SyntaxError); 26assertThrows("/a{1,/u", SyntaxError); 27assertThrows("/{/u", SyntaxError); 28assertThrows("/}/u", SyntaxError); 29// test262/data/test/built-ins/RegExp/unicode_restricted_brackets 30assertThrows("/]/u", SyntaxError); 31// test262/built-ins/RegExp/unicode_identity_escape 32/\//u; 33 34// escaped \0 is allowed inside a character class. 35assertEquals(["\0"], /[\0]/u.exec("\0")); 36// unless it is followed by another digit. 37assertThrows("/[\\00]/u", SyntaxError); 38assertThrows("/[\\01]/u", SyntaxError); 39assertThrows("/[\\09]/u", SyntaxError); 40assertEquals(["\u{0}1\u{0}a\u{0}"], /[1\0a]+/u.exec("b\u{0}1\u{0}a\u{0}2")); 41// escaped \- is allowed inside a character class. 42assertEquals(["-"], /[a\-z]/u.exec("12-34")); 43