diff options
Diffstat (limited to 'js/src/tests/test262/built-ins/RegExp/unicode_identity_escape.js')
-rw-r--r-- | js/src/tests/test262/built-ins/RegExp/unicode_identity_escape.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/RegExp/unicode_identity_escape.js b/js/src/tests/test262/built-ins/RegExp/unicode_identity_escape.js new file mode 100644 index 0000000000..1c5b47ad5e --- /dev/null +++ b/js/src/tests/test262/built-ins/RegExp/unicode_identity_escape.js @@ -0,0 +1,55 @@ +// Copyright (C) 2015 André Bargull. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +description: IdentityEscape for Unicode RegExp +info: | + IdentityEscape for Unicode RegExps is restricted to SyntaxCharacter and U+002F (SOLIDUS) +es6id: 21.1.2 +---*/ + +// 21.2.1 Patterns +// +// IdentityEscape[U] :: +// [+U] SyntaxCharacter +// [+U] / +// +// SyntaxCharacter :: one of +// ^ $ \ . * + ? ( ) [ ] { } | + +// IdentityEscape in AtomEscape +assert(/\^/u.test("^"), "IdentityEscape in AtomEscape: /\\^/"); +assert(/\$/u.test("$"), "IdentityEscape in AtomEscape: /\\$/"); +assert(/\\/u.test("\\"), "IdentityEscape in AtomEscape: /\\\\/"); +assert(/\./u.test("."), "IdentityEscape in AtomEscape: /\\./"); +assert(/\*/u.test("*"), "IdentityEscape in AtomEscape: /\\*/"); +assert(/\+/u.test("+"), "IdentityEscape in AtomEscape: /\\+/"); +assert(/\?/u.test("?"), "IdentityEscape in AtomEscape: /\\?/"); +assert(/\(/u.test("("), "IdentityEscape in AtomEscape: /\\(/"); +assert(/\)/u.test(")"), "IdentityEscape in AtomEscape: /\\)/"); +assert(/\[/u.test("["), "IdentityEscape in AtomEscape: /\\[/"); +assert(/\]/u.test("]"), "IdentityEscape in AtomEscape: /\\]/"); +assert(/\{/u.test("{"), "IdentityEscape in AtomEscape: /\\{/"); +assert(/\}/u.test("}"), "IdentityEscape in AtomEscape: /\\}/"); +assert(/\|/u.test("|"), "IdentityEscape in AtomEscape: /\\|/"); +assert(/\//u.test("/"), "IdentityEscape in AtomEscape: /\\//"); + + +// IdentityEscape in ClassEscape +assert(/[\^]/u.test("^"), "IdentityEscape in ClassEscape: /[\\^]/"); +assert(/[\$]/u.test("$"), "IdentityEscape in ClassEscape: /[\\$]/"); +assert(/[\\]/u.test("\\"), "IdentityEscape in ClassEscape: /[\\\\]/"); +assert(/[\.]/u.test("."), "IdentityEscape in ClassEscape: /[\\.]/"); +assert(/[\*]/u.test("*"), "IdentityEscape in ClassEscape: /[\\*]/"); +assert(/[\+]/u.test("+"), "IdentityEscape in ClassEscape: /[\\+]/"); +assert(/[\?]/u.test("?"), "IdentityEscape in ClassEscape: /[\\?]/"); +assert(/[\(]/u.test("("), "IdentityEscape in ClassEscape: /[\\(]/"); +assert(/[\)]/u.test(")"), "IdentityEscape in ClassEscape: /[\\)]/"); +assert(/[\[]/u.test("["), "IdentityEscape in ClassEscape: /[\\[]/"); +assert(/[\]]/u.test("]"), "IdentityEscape in ClassEscape: /[\\]]/"); +assert(/[\{]/u.test("{"), "IdentityEscape in ClassEscape: /[\\{]/"); +assert(/[\}]/u.test("}"), "IdentityEscape in ClassEscape: /[\\}]/"); +assert(/[\|]/u.test("|"), "IdentityEscape in ClassEscape: /[\\|]/"); +assert(/[\/]/u.test("/"), "IdentityEscape in ClassEscape: /[\\/]/"); + +reportCompare(0, 0); |