mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 03:34:08 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // 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: /[\\/]/");
 |