aboutsummaryrefslogtreecommitdiffstats
path: root/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
diff options
context:
space:
mode:
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')
-rw-r--r--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.js22
-rw-r--r--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.js22
-rw-r--r--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.js22
-rw-r--r--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.js22
-rw-r--r--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.js22
-rw-r--r--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.js23
-rw-r--r--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.js23
-rw-r--r--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.js37
-rw-r--r--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.js33
-rw-r--r--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.js39
-rw-r--r--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.js45
-rw-r--r--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.js39
-rw-r--r--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.js39
-rw-r--r--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.js21
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');
+}