diff options
Diffstat (limited to 'external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape')
14 files changed, 409 insertions, 0 deletions
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.1_T1.js new file mode 100644 index 000000000..903ec1c11 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.1_T1.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A1.1_T1; +* @section: 15.10.2.10; +* @assertion: The production CharacterEscape :: t evaluates by returning +* the character \u0009; +* @description: Use \t in RegExp and \u0009 in tested string; +*/ + +//CHECK#1 +var arr = /\t/.exec("\u0009"); +if ((arr === null) || (arr[0] !== "\u0009")) { + $ERROR('#1: var arr = /\\t/.exec("\\u0009"); arr[0] === "\\u0009". Actual. ' + (arr && arr[0])); +} + +//CHECK#2 +var arr = /\t\t/.exec("a\u0009\u0009b"); +if ((arr === null) || (arr[0] !== "\u0009\u0009")) { + $ERROR('#2: var arr = /\\t\\t/.exec("a\\u0009\\u0009b"); arr[0] === "\\u0009\\u0009". Actual. ' + (arr && arr[0])); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.2_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.2_T1.js new file mode 100644 index 000000000..1e36e3b3d --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.2_T1.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A1.2_T1; +* @section: 15.10.2.10; +* @assertion: The production CharacterEscape :: n evaluates by returning +* the character \u000A; +* @description: Use \n in RegExp and \u000A in tested string; +*/ + +//CHECK#1 +var arr = /\n/.exec("\u000A"); +if ((arr === null) || (arr[0] !== "\u000A")) { + $ERROR('#1: var arr = /\\n/.exec("\\u000A"); arr[0] === "\\u000A". Actual. ' + (arr && arr[0])); +} + +//CHECK#2 +var arr = /\n\n/.exec("a\u000A\u000Ab"); +if ((arr === null) || (arr[0] !== "\u000A\u000A")) { + $ERROR('#2: var arr = /\\n\\n/.exec("a\\u000A\\u000Ab"); arr[0] === "\\u000A\\u000A". Actual. ' + (arr && arr[0])); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.3_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.3_T1.js new file mode 100644 index 000000000..d9c3bfac7 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.3_T1.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A1.3_T1; +* @section: 15.10.2.10; +* @assertion: The production CharacterEscape :: v evaluates by returning +* the character \u000B; +* @description: Use \v in RegExp and \u000B in tested string; +*/ + +//CHECK#1 +var arr = /\v/.exec("\u000B"); +if ((arr === null) || (arr[0] !== "\u000B")) { + $ERROR('#1: var arr = /\\v/.exec("\\u000B"); arr[0] === "\\u000B". Actual. ' + (arr && arr[0])); +} + +//CHECK#2 +var arr = /\v\v/.exec("a\u000B\u000Bb"); +if ((arr === null) || (arr[0] !== "\u000B\u000B")) { + $ERROR('#2: var arr = /\\v\\v/.exec("a\\u000B\\u000Bb"); arr[0] === "\\u000B\\u000B". Actual. ' + (arr && arr[0])); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.4_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.4_T1.js new file mode 100644 index 000000000..7650dfaec --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.4_T1.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A1.4_T1; +* @section: 15.10.2.10; +* @assertion: The production CharacterEscape :: f evaluates by returning +* the character \u000C; +* @description: Use \f in RegExp and \u000C in tested string; +*/ + +//CHECK#1 +var arr = /\f/.exec("\u000C"); +if ((arr === null) || (arr[0] !== "\u000C")) { + $ERROR('#1: var arr = /\\f/.exec("\\u000C"); arr[0] === "\\u000C". Actual. ' + (arr && arr[0])); +} + +//CHECK#2 +var arr = /\f\f/.exec("a\u000C\u000Cb"); +if ((arr === null) || (arr[0] !== "\u000C\u000C")) { + $ERROR('#2: var arr = /\\f\\f/.exec("a\\u000C\\u000Cb"); arr[0] === "\\u000C\\u000C". Actual. ' + (arr && arr[0])); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.5_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.5_T1.js new file mode 100644 index 000000000..143da247c --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A1.5_T1.js @@ -0,0 +1,22 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A1.5_T1; +* @section: 15.10.2.10; +* @assertion: The production CharacterEscape :: r evaluates by returning +* the character \u000D; +* @description: Use \r in RegExp and \u000D in tested string; +*/ + +//CHECK#1 +var arr = /\r/.exec("\u000D"); +if ((arr === null) || (arr[0] !== "\u000D")) { + $ERROR('#1: var arr = /\\r/.exec("\\u000D"); arr[0] === "\\u000D". Actual. ' + (arr && arr[0])); +} + +//CHECK#2 +var arr = /\r\r/.exec("a\u000D\u000Db"); +if ((arr === null) || (arr[0] !== "\u000D\u000D")) { + $ERROR('#2: var arr = /\\r\\r/.exec("a\\u000D\\u000Db"); arr[0] === "\\u000D\\u000D". Actual. ' + (arr && arr[0])); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T1.js new file mode 100644 index 000000000..1e971b925 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T1.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A2.1_T1; +* @section: 15.10.2.10; +* @assertion: CharacterEscape :: c ControlLetter; +* @description: ControlLetter :: A - Z; +*/ + +//CHECK#0041-005A +var result = true; +for (alpha = 0x0041; alpha <= 0x005A; alpha++) { + str = String.fromCharCode(alpha % 32); + arr = (new RegExp("\\c" + String.fromCharCode(alpha))).exec(str); + if ((arr === null) || (arr[0] !== str)) { + result = false; + } +} + +if (result !== true) { + $ERROR('#1: CharacterEscape :: c A - Z'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T2.js new file mode 100644 index 000000000..a76782d9f --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T2.js @@ -0,0 +1,23 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A2.1_T2; +* @section: 15.10.2.10; +* @assertion: CharacterEscape :: c ControlLetter; +* @description: ControlLetter :: a - z; +*/ + +//CHECK#0061-007A +var result = true; +for (alpha = 0x0061; alpha <= 0x007A; alpha++) { + str = String.fromCharCode(alpha % 32); + arr = (new RegExp("\\c" + String.fromCharCode(alpha))).exec(str); + if ((arr === null) || (arr[0] !== str)) { + result = false; + } +} + +if (result !== true) { + $ERROR('#1: CharacterEscape :: c a - z'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T3.js new file mode 100644 index 000000000..99cdd5b0c --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A2.1_T3.js @@ -0,0 +1,37 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A2.1_T3; +* @section: 15.10.2.10; +* @assertion: CharacterEscape :: c ControlLetter; +* @description: ControlLetter :: RUSSIAN ALPHABET is incorrect; +*/ + +//CHECK#0410-042F +var result = true; +for (alpha = 0x0410; alpha <= 0x042F; alpha++) { + str = String.fromCharCode(alpha % 32); + arr = (new RegExp("\\c" + String.fromCharCode(alpha))).exec(str); + if (arr !== null) { + result = false; + } +} + +if (result !== true) { + $ERROR('#1: RUSSIAN CAPITAL ALPHABET is incorrect'); +} + +//CHECK#0430-044F +var result = true; +for (alpha = 0x0430; alpha <= 0x044F; alpha++) { + str = String.fromCharCode(alpha % 32); + arr = (new RegExp("\\c" + String.fromCharCode(alpha))).exec(str); + if (arr !== null) { + result = false; + } +} + +if (result !== true) { + $ERROR('#2: russian small alphabet is incorrect'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A3.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A3.1_T1.js new file mode 100644 index 000000000..b948aaa60 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A3.1_T1.js @@ -0,0 +1,33 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A3.1_T1; +* @section: 15.10.2.10; +* @assertion: CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit; +* @description: Tested string include equal unicode symbols; +*/ + +//CHECK#0 +var arr = /\x00/.exec("\u0000"); +if ((arr === null) || (arr[0] !== "\u0000")) { + $ERROR('#0: var arr = /\\x00/.exec(\\u0000); arr[0] === "\\u0000". Actual. ' + (arr && arr[0])); +} + +//CHECK#1 +var arr = /\x01/.exec("\u0001"); +if ((arr === null) || (arr[0] !== "\u0001")) { + $ERROR('#1: var arr = /\\x01/.exec(\\u0001); arr[0] === "\\u0001". Actual. ' + (arr && arr[0])); +} + +//CHECK#2 +var arr = /\x0A/.exec("\u000A"); +if ((arr === null) || (arr[0] !== "\u000A")) { + $ERROR('#2: var arr = /\\x0A/.exec(\\u000A); arr[0] === "\\u000A". Actual. ' + (arr && arr[0])); +} + +//CHECK#3 +var arr = /\xFF/.exec("\u00FF"); +if ((arr === null) || (arr[0] !== "\u00FF")) { + $ERROR('#3: var arr = /\\xFF/.exec(\\u00FF); arr[0] === "\\u00FF". Actual. ' + (arr && arr[0])); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A3.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A3.1_T2.js new file mode 100644 index 000000000..dd56e464b --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A3.1_T2.js @@ -0,0 +1,39 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A3.1_T2; +* @section: 15.10.2.10; +* @assertion: CharacterEscape :: HexEscapeSequence :: x HexDigit HexDigit; +* @description: Checking ENGLISH CAPITAL ALPHABET and english small alphabet; +*/ + +//CHECK#41-5A +hex = ["\\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"]; +character = ["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"]; +var result = true; +for (index = 0; index < hex.length; index++) { + arr = (new RegExp(hex[index])).exec(character[index]); + if ((arr === null) || (arr[0] !== character[index])) { + result = false; + } +} + +if (result !== true) { + $ERROR('#1: ENGLISH CAPITAL ALPHABET'); +} + +//CHECK#61-7A +hex = ["\\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"]; +character = ["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"]; +var result = true; +for (index = 0; index < hex.length; index++) { + arr = (new RegExp(hex[index])).exec(character[index]); + if ((arr === null) || (arr[0] !== character[index])) { + result = false; + } +} + +if (result !== true) { + $ERROR('#1: english small alphabet'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T1.js new file mode 100644 index 000000000..02b2de83f --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T1.js @@ -0,0 +1,45 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A4.1_T1; +* @section: 15.10.2.10; +* @assertion: CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit; +* @description: RegExp and tested string include uncode symbols; +*/ + +//CHECK#0 +var arr = /\u0000/.exec("\u0000"); +if ((arr === null) || (arr[0] !== "\u0000")) { + $ERROR('#0: var arr = /\\u0000/.exec(\\u0000); arr[0] === "\\u0000". Actual. ' + (arr && arr[0])); +} + +//CHECK#1 +var arr = /\u0001/.exec("\u0001"); +if ((arr === null) || (arr[0] !== "\u0001")) { + $ERROR('#1: var arr = /\\u0001/.exec(\\u0001); arr[0] === "\\u0001". Actual. ' + (arr && arr[0])); +} + +//CHECK#2 +var arr = /\u000A/.exec("\u000A"); +if ((arr === null) || (arr[0] !== "\u000A")) { + $ERROR('#2: var arr = /\\u000A/.exec(\\u000A); arr[0] === "\\u000A". Actual. ' + (arr && arr[0])); +} + +//CHECK#3 +var arr = /\u00FF/.exec("\u00FF"); +if ((arr === null) || (arr[0] !== "\u00FF")) { + $ERROR('#3: var arr = /\\u00FF/.exec(\\u00FF); arr[0] === "\\u00FF". Actual. ' + (arr && arr[0])); +} + +//CHECK#4 +var arr = /\u0FFF/.exec("\u0FFF"); +if ((arr === null) || (arr[0] !== "\u0FFF")) { + $ERROR('#4: var arr = /\\u0FFF/.exec(\\u0FFF); arr[0] === "\\u0FFF". Actual. ' + (arr && arr[0])); +} + +//CHECK#5 +var arr = /\uFFFF/.exec("\uFFFF"); +if ((arr === null) || (arr[0] !== "\uFFFF")) { + $ERROR('#5: var arr = /\\uFFFF/.exec(\\uFFFF); arr[0] === "\\uFFFF". Actual. ' + (arr && arr[0])); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T2.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T2.js new file mode 100644 index 000000000..b0260a7dd --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T2.js @@ -0,0 +1,39 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A4.1_T2; +* @section: 15.10.2.10; +* @assertion: CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit; +* @description: Tested string include ENGLISH CAPITAL ALPHABET and english small alphabet; +*/ + +//CHECK#41-5A +hex = ["\\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"]; +character = ["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"]; +var result = true; +for (index = 0; index < hex.length; index++) { + arr = (new RegExp(hex[index])).exec(character[index]); + if ((arr === null) || (arr[0] !== character[index])) { + result = false; + } +} + +if (result !== true) { + $ERROR('#1: ENGLISH CAPITAL ALPHABET'); +} + +//CHECK#61-7A +hex = ["\\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"]; +character = ["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"]; +var result = true; +for (index = 0; index < hex.length; index++) { + arr = (new RegExp(hex[index])).exec(character[index]); + if ((arr === null) || (arr[0] !== character[index])) { + result = false; + } +} + +if (result !== true) { + $ERROR('#1: english small alphabet'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T3.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T3.js new file mode 100644 index 000000000..25df0e56c --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A4.1_T3.js @@ -0,0 +1,39 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A4.1_T3; +* @section: 15.10.2.10; +* @assertion: CharacterEscape :: UnicodeEscapeSequence :: u HexDigit HexDigit HexDigit HexDigit; +* @description: Tested string include RUSSIAN CAPITAL ALPHABET and russian small alphabet in unicode notation; +*/ + +//CHECK#0410-042F, 0401 +hex = ["\\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"]; +character = ["\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"]; +var result = true; +for (index = 0; index < hex.length; index++) { + arr = (new RegExp(hex[index])).exec(character[index]); + if ((arr === null) || (arr[0] !== character[index])) { + result = false; + } +} + +if (result !== true) { + $ERROR('#1: RUSSIAN CAPITAL ALPHABET'); +} + +//CHECK#0430-044F, 0451 +hex = ["\\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"]; +character = ["\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"]; +var result = true; +for (index = 0; index < hex.length; index++) { + arr = (new RegExp(hex[index])).exec(character[index]); + if ((arr === null) || (arr[0] !== character[index])) { + result = false; + } +} + +if (result !== true) { + $ERROR('#1: russian small alphabet'); +} diff --git a/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A5.1_T1.js b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A5.1_T1.js new file mode 100644 index 000000000..a0bac1cd0 --- /dev/null +++ b/external/contributions/Google/sputniktests/tests/Conformance/15_Native_ECMA_Script_Objects/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.10_CharacterEscape/S15.10.2.10_A5.1_T1.js @@ -0,0 +1,21 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/** +* @name: S15.10.2.10_A5.1_T1; +* @section: 15.10.2.10; +* @assertion: CharacterEscape :: IdentityEscapeSequence :: SourceCharacter but not IdentifierPart; +* @description: Tested string is "~`!@#$%^&*()-+={[}]|\\:;'<,>./?" + '"'; +*/ + +//CHECK#1 +var non_ident = "~`!@#$%^&*()-+={[}]|\\:;'<,>./?" + '"'; +var k = -1; +do { + k++; + arr = new RegExp("\\" + non_ident[k], "g").exec(non_ident); +} while ((arr !== null) && (arr[0] === non_ident[k])) + +if (non_ident.length !== k) { + $ERROR('#1: IdentityEscapeSequence :: SourceCharacter but not IdentifierPart'); +} |