mirror of https://github.com/tc39/test262.git
93 lines
14 KiB
JSON
93 lines
14 KiB
JSON
{
|
|
"testCollection": {
|
|
"name": "15.10.2.10_CharacterEscape",
|
|
"numTests": 14,
|
|
"tests": [
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "Use \\t in RegExp and \\u0009 in tested string",
|
|
"test": "//CHECK#1\nvar arr = /\\t/.exec(\"\\u0009\");\nif ((arr === null) || (arr[0] !== \"\\u0009\")) {\n $ERROR('#1: var arr = /\\\\t/.exec(\"\\\\u0009\"); arr[0] === \"\\\\u0009\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#2\nvar arr = /\\t\\t/.exec(\"a\\u0009\\u0009b\");\nif ((arr === null) || (arr[0] !== \"\\u0009\\u0009\")) {\n $ERROR('#2: var arr = /\\\\t\\\\t/.exec(\"a\\\\u0009\\\\u0009b\"); arr[0] === \"\\\\u0009\\\\u0009\". Actual. ' + (arr && arr[0]));\n} \n",
|
|
"id": "S15.10.2.10_A1.1_T1"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "Use \\n in RegExp and \\u000A in tested string",
|
|
"test": "//CHECK#1\nvar arr = /\\n/.exec(\"\\u000A\");\nif ((arr === null) || (arr[0] !== \"\\u000A\")) {\n $ERROR('#1: var arr = /\\\\n/.exec(\"\\\\u000A\"); arr[0] === \"\\\\u000A\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#2\nvar arr = /\\n\\n/.exec(\"a\\u000A\\u000Ab\");\nif ((arr === null) || (arr[0] !== \"\\u000A\\u000A\")) {\n $ERROR('#2: var arr = /\\\\n\\\\n/.exec(\"a\\\\u000A\\\\u000Ab\"); arr[0] === \"\\\\u000A\\\\u000A\". Actual. ' + (arr && arr[0]));\n} \n",
|
|
"id": "S15.10.2.10_A1.2_T1"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "Use \\v in RegExp and \\u000B in tested string",
|
|
"test": "//CHECK#1\nvar arr = /\\v/.exec(\"\\u000B\");\nif ((arr === null) || (arr[0] !== \"\\u000B\")) {\n $ERROR('#1: var arr = /\\\\v/.exec(\"\\\\u000B\"); arr[0] === \"\\\\u000B\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#2\nvar arr = /\\v\\v/.exec(\"a\\u000B\\u000Bb\");\nif ((arr === null) || (arr[0] !== \"\\u000B\\u000B\")) {\n $ERROR('#2: var arr = /\\\\v\\\\v/.exec(\"a\\\\u000B\\\\u000Bb\"); arr[0] === \"\\\\u000B\\\\u000B\". Actual. ' + (arr && arr[0]));\n} \n",
|
|
"id": "S15.10.2.10_A1.3_T1"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "Use \\f in RegExp and \\u000C in tested string",
|
|
"test": "//CHECK#1\nvar arr = /\\f/.exec(\"\\u000C\");\nif ((arr === null) || (arr[0] !== \"\\u000C\")) {\n $ERROR('#1: var arr = /\\\\f/.exec(\"\\\\u000C\"); arr[0] === \"\\\\u000C\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#2\nvar arr = /\\f\\f/.exec(\"a\\u000C\\u000Cb\");\nif ((arr === null) || (arr[0] !== \"\\u000C\\u000C\")) {\n $ERROR('#2: var arr = /\\\\f\\\\f/.exec(\"a\\\\u000C\\\\u000Cb\"); arr[0] === \"\\\\u000C\\\\u000C\". Actual. ' + (arr && arr[0]));\n} \n",
|
|
"id": "S15.10.2.10_A1.4_T1"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "Use \\r in RegExp and \\u000D in tested string",
|
|
"test": "//CHECK#1\nvar arr = /\\r/.exec(\"\\u000D\");\nif ((arr === null) || (arr[0] !== \"\\u000D\")) {\n $ERROR('#1: var arr = /\\\\r/.exec(\"\\\\u000D\"); arr[0] === \"\\\\u000D\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#2\nvar arr = /\\r\\r/.exec(\"a\\u000D\\u000Db\");\nif ((arr === null) || (arr[0] !== \"\\u000D\\u000D\")) {\n $ERROR('#2: var arr = /\\\\r\\\\r/.exec(\"a\\\\u000D\\\\u000Db\"); arr[0] === \"\\\\u000D\\\\u000D\". Actual. ' + (arr && arr[0]));\n} \n",
|
|
"id": "S15.10.2.10_A1.5_T1"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "ControlLetter :: A - Z",
|
|
"test": "//CHECK#0041-005A\nvar result = true; \nfor (alpha = 0x0041; alpha <= 0x005A; alpha++) {\n str = String.fromCharCode(alpha % 32);\n arr = (new RegExp(\"\\\\c\" + String.fromCharCode(alpha))).exec(str); \n if ((arr === null) || (arr[0] !== str)) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#1: CharacterEscape :: c A - Z');\n} \n",
|
|
"id": "S15.10.2.10_A2.1_T1"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "ControlLetter :: a - z",
|
|
"test": "//CHECK#0061-007A\nvar result = true; \nfor (alpha = 0x0061; alpha <= 0x007A; alpha++) {\n str = String.fromCharCode(alpha % 32);\n arr = (new RegExp(\"\\\\c\" + String.fromCharCode(alpha))).exec(str); \n if ((arr === null) || (arr[0] !== str)) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#1: CharacterEscape :: c a - z');\n} \n",
|
|
"id": "S15.10.2.10_A2.1_T2"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "ControlLetter :: RUSSIAN ALPHABET is incorrect",
|
|
"test": "//CHECK#0410-042F\nvar result = true; \nfor (alpha = 0x0410; alpha <= 0x042F; alpha++) {\n str = String.fromCharCode(alpha % 32);\n arr = (new RegExp(\"\\\\c\" + String.fromCharCode(alpha))).exec(str); \n if (arr !== null) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#1: RUSSIAN CAPITAL ALPHABET is incorrect');\n}\n\n//CHECK#0430-044F\nvar result = true; \nfor (alpha = 0x0430; alpha <= 0x044F; alpha++) {\n str = String.fromCharCode(alpha % 32);\n arr = (new RegExp(\"\\\\c\" + String.fromCharCode(alpha))).exec(str); \n if (arr !== null) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#2: russian small alphabet is incorrect');\n} \n",
|
|
"id": "S15.10.2.10_A2.1_T3"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "Tested string include equal unicode symbols",
|
|
"test": "//CHECK#0\nvar arr = /\\x00/.exec(\"\\u0000\"); \nif ((arr === null) || (arr[0] !== \"\\u0000\")) {\n $ERROR('#0: var arr = /\\\\x00/.exec(\\\\u0000); arr[0] === \"\\\\u0000\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#1\nvar arr = /\\x01/.exec(\"\\u0001\"); \nif ((arr === null) || (arr[0] !== \"\\u0001\")) {\n $ERROR('#1: var arr = /\\\\x01/.exec(\\\\u0001); arr[0] === \"\\\\u0001\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#2\nvar arr = /\\x0A/.exec(\"\\u000A\"); \nif ((arr === null) || (arr[0] !== \"\\u000A\")) {\n $ERROR('#2: var arr = /\\\\x0A/.exec(\\\\u000A); arr[0] === \"\\\\u000A\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#3\nvar arr = /\\xFF/.exec(\"\\u00FF\"); \nif ((arr === null) || (arr[0] !== \"\\u00FF\")) {\n $ERROR('#3: var arr = /\\\\xFF/.exec(\\\\u00FF); arr[0] === \"\\\\u00FF\". Actual. ' + (arr && arr[0]));\n}\n",
|
|
"id": "S15.10.2.10_A3.1_T1"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "Checking ENGLISH CAPITAL ALPHABET and english small alphabet",
|
|
"test": "//CHECK#41-5A\nhex = [\"\\\\x41\", \"\\\\x42\", \"\\\\x43\", \"\\\\x44\", \"\\\\x45\", \"\\\\x46\", \"\\\\x47\", \"\\\\x48\", \"\\\\x49\", \"\\\\x4A\", \"\\\\x4B\", \"\\\\x4C\", \"\\\\x4D\", \"\\\\x4E\", \"\\\\x4F\", \"\\\\x50\", \"\\\\x51\", \"\\\\x52\", \"\\\\x53\", \"\\\\x54\", \"\\\\x55\", \"\\\\x56\", \"\\\\x57\", \"\\\\x58\", \"\\\\x59\", \"\\\\x5A\"];\ncharacter = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"];\nvar result = true;\nfor (index = 0; index < hex.length; index++) {\n arr = (new RegExp(hex[index])).exec(character[index]); \n if ((arr === null) || (arr[0] !== character[index])) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#1: ENGLISH CAPITAL ALPHABET');\n} \n\n//CHECK#61-7A\nhex = [\"\\\\x61\", \"\\\\x62\", \"\\\\x63\", \"\\\\x64\", \"\\\\x65\", \"\\\\x66\", \"\\\\x67\", \"\\\\x68\", \"\\\\x69\", \"\\\\x6A\", \"\\\\x6B\", \"\\\\x6C\", \"\\\\x6D\", \"\\\\x6E\", \"\\\\x6F\", \"\\\\x70\", \"\\\\x71\", \"\\\\x72\", \"\\\\x73\", \"\\\\x74\", \"\\\\x75\", \"\\\\x76\", \"\\\\x77\", \"\\\\x78\", \"\\\\x79\", \"\\\\x7A\"];\ncharacter = [\"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\"];\nvar result = true;\nfor (index = 0; index < hex.length; index++) {\n arr = (new RegExp(hex[index])).exec(character[index]); \n if ((arr === null) || (arr[0] !== character[index])) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#1: english small alphabet');\n} \n",
|
|
"id": "S15.10.2.10_A3.1_T2"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "RegExp and tested string include uncode symbols",
|
|
"test": "//CHECK#0\nvar arr = /\\u0000/.exec(\"\\u0000\"); \nif ((arr === null) || (arr[0] !== \"\\u0000\")) {\n $ERROR('#0: var arr = /\\\\u0000/.exec(\\\\u0000); arr[0] === \"\\\\u0000\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#1\nvar arr = /\\u0001/.exec(\"\\u0001\"); \nif ((arr === null) || (arr[0] !== \"\\u0001\")) {\n $ERROR('#1: var arr = /\\\\u0001/.exec(\\\\u0001); arr[0] === \"\\\\u0001\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#2\nvar arr = /\\u000A/.exec(\"\\u000A\"); \nif ((arr === null) || (arr[0] !== \"\\u000A\")) {\n $ERROR('#2: var arr = /\\\\u000A/.exec(\\\\u000A); arr[0] === \"\\\\u000A\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#3\nvar arr = /\\u00FF/.exec(\"\\u00FF\"); \nif ((arr === null) || (arr[0] !== \"\\u00FF\")) {\n $ERROR('#3: var arr = /\\\\u00FF/.exec(\\\\u00FF); arr[0] === \"\\\\u00FF\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#4\nvar arr = /\\u0FFF/.exec(\"\\u0FFF\"); \nif ((arr === null) || (arr[0] !== \"\\u0FFF\")) {\n $ERROR('#4: var arr = /\\\\u0FFF/.exec(\\\\u0FFF); arr[0] === \"\\\\u0FFF\". Actual. ' + (arr && arr[0]));\n}\n\n//CHECK#5\nvar arr = /\\uFFFF/.exec(\"\\uFFFF\"); \nif ((arr === null) || (arr[0] !== \"\\uFFFF\")) {\n $ERROR('#5: var arr = /\\\\uFFFF/.exec(\\\\uFFFF); arr[0] === \"\\\\uFFFF\". Actual. ' + (arr && arr[0]));\n}\n",
|
|
"id": "S15.10.2.10_A4.1_T1"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "Tested string include ENGLISH CAPITAL ALPHABET and english small alphabet",
|
|
"test": "//CHECK#41-5A\nhex = [\"\\\\u0041\", \"\\\\u0042\", \"\\\\u0043\", \"\\\\u0044\", \"\\\\u0045\", \"\\\\u0046\", \"\\\\u0047\", \"\\\\u0048\", \"\\\\u0049\", \"\\\\u004A\", \"\\\\u004B\", \"\\\\u004C\", \"\\\\u004D\", \"\\\\u004E\", \"\\\\u004F\", \"\\\\u0050\", \"\\\\u0051\", \"\\\\u0052\", \"\\\\u0053\", \"\\\\u0054\", \"\\\\u0055\", \"\\\\u0056\", \"\\\\u0057\", \"\\\\u0058\", \"\\\\u0059\", \"\\\\u005A\"];\ncharacter = [\"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\"];\nvar result = true;\nfor (index = 0; index < hex.length; index++) {\n arr = (new RegExp(hex[index])).exec(character[index]); \n if ((arr === null) || (arr[0] !== character[index])) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#1: ENGLISH CAPITAL ALPHABET');\n} \n\n//CHECK#61-7A\nhex = [\"\\\\u0061\", \"\\\\u0062\", \"\\\\u0063\", \"\\\\u0064\", \"\\\\u0065\", \"\\\\u0066\", \"\\\\u0067\", \"\\\\u0068\", \"\\\\u0069\", \"\\\\u006A\", \"\\\\u006B\", \"\\\\u006C\", \"\\\\u006D\", \"\\\\u006E\", \"\\\\u006F\", \"\\\\u0070\", \"\\\\u0071\", \"\\\\u0072\", \"\\\\u0073\", \"\\\\u0074\", \"\\\\u0075\", \"\\\\u0076\", \"\\\\u0077\", \"\\\\u0078\", \"\\\\u0079\", \"\\\\u007A\"];\ncharacter = [\"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\"];\nvar result = true;\nfor (index = 0; index < hex.length; index++) {\n arr = (new RegExp(hex[index])).exec(character[index]); \n if ((arr === null) || (arr[0] !== character[index])) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#1: english small alphabet');\n} \n",
|
|
"id": "S15.10.2.10_A4.1_T2"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": "Tested string include RUSSIAN CAPITAL ALPHABET and russian small alphabet in unicode notation",
|
|
"test": "//CHECK#0410-042F, 0401 \nhex = [\"\\\\u0410\", \"\\\\u0411\", \"\\\\u0412\", \"\\\\u0413\", \"\\\\u0414\", \"\\\\u0415\", \"\\\\u0416\", \"\\\\u0417\", \"\\\\u0418\", \"\\\\u0419\", \"\\\\u041A\", \"\\\\u041B\", \"\\\\u041C\", \"\\\\u041D\", \"\\\\u041E\", \"\\\\u041F\", \"\\\\u0420\", \"\\\\u0421\", \"\\\\u0422\", \"\\\\u0423\", \"\\\\u0424\", \"\\\\u0425\", \"\\\\u0426\", \"\\\\u0427\", \"\\\\u0428\", \"\\\\u0429\", \"\\\\u042A\", \"\\\\u042B\", \"\\\\u042C\", \"\\\\u042D\", \"\\\\u042E\", \"\\\\u042F\", \"\\\\u0401\"];\ncharacter = [\"\\u0410\", \"\\u0411\", \"\\u0412\", \"\\u0413\", \"\\u0414\", \"\\u0415\", \"\\u0416\", \"\\u0417\", \"\\u0418\", \"\\u0419\", \"\\u041A\", \"\\u041B\", \"\\u041C\", \"\\u041D\", \"\\u041E\", \"\\u041F\", \"\\u0420\", \"\\u0421\", \"\\u0422\", \"\\u0423\", \"\\u0424\", \"\\u0425\", \"\\u0426\", \"\\u0427\", \"\\u0428\", \"\\u0429\", \"\\u042A\", \"\\u042B\", \"\\u042C\", \"\\u042D\", \"\\u042E\", \"\\u042F\", \"\\u0401\"];\nvar result = true;\nfor (index = 0; index < hex.length; index++) {\n arr = (new RegExp(hex[index])).exec(character[index]); \n if ((arr === null) || (arr[0] !== character[index])) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#1: RUSSIAN CAPITAL ALPHABET');\n} \n\n//CHECK#0430-044F, 0451\nhex = [\"\\\\u0430\", \"\\\\u0431\", \"\\\\u0432\", \"\\\\u0433\", \"\\\\u0434\", \"\\\\u0435\", \"\\\\u0436\", \"\\\\u0437\", \"\\\\u0438\", \"\\\\u0439\", \"\\\\u043A\", \"\\\\u043B\", \"\\\\u043C\", \"\\\\u043D\", \"\\\\u043E\", \"\\\\u043F\", \"\\\\u0440\", \"\\\\u0441\", \"\\\\u0442\", \"\\\\u0443\", \"\\\\u0444\", \"\\\\u0445\", \"\\\\u0446\", \"\\\\u0447\", \"\\\\u0448\", \"\\\\u0449\", \"\\\\u044A\", \"\\\\u044B\", \"\\\\u044C\", \"\\\\u044D\", \"\\\\u044E\", \"\\\\u044F\", \"\\\\u0451\"];\ncharacter = [\"\\u0430\", \"\\u0431\", \"\\u0432\", \"\\u0433\", \"\\u0434\", \"\\u0435\", \"\\u0436\", \"\\u0437\", \"\\u0438\", \"\\u0439\", \"\\u043A\", \"\\u043B\", \"\\u043C\", \"\\u043D\", \"\\u043E\", \"\\u043F\", \"\\u0440\", \"\\u0441\", \"\\u0442\", \"\\u0443\", \"\\u0444\", \"\\u0445\", \"\\u0446\", \"\\u0447\", \"\\u0448\", \"\\u0449\", \"\\u044A\", \"\\u044B\", \"\\u044C\", \"\\u044D\", \"\\u044E\", \"\\u044F\", \"\\u0451\"];\nvar result = true;\nfor (index = 0; index < hex.length; index++) {\n arr = (new RegExp(hex[index])).exec(character[index]); \n if ((arr === null) || (arr[0] !== character[index])) {\n result = false;\n }\n}\n\nif (result !== true) {\n $ERROR('#1: russian small alphabet');\n}\n",
|
|
"id": "S15.10.2.10_A4.1_T3"
|
|
},
|
|
{
|
|
"section": "15.10.2.10",
|
|
"description": ": Tested string is \"~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"';",
|
|
"test": "//CHECK#1\nvar non_ident = \"~`!@#$%^&*()-+={[}]|\\\\:;'<,>./?\" + '\"';\nvar k = -1;\ndo {\n k++;\n arr = new RegExp(\"\\\\\" + non_ident[k], \"g\").exec(non_ident); \n} while ((arr !== null) && (arr[0] === non_ident[k]))\n\nif (non_ident.length !== k) {\n $ERROR('#1: IdentityEscapeSequence :: SourceCharacter but not IdentifierPart');\n} \n",
|
|
"id": "S15.10.2.10_A5.1_T1"
|
|
}
|
|
]
|
|
}
|
|
}
|