summaryrefslogtreecommitdiff
path: root/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction')
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T1.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T10.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T11.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T12.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T13.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T14.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T15.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T16.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T17.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T2.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T3.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T4.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T5.js19
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T6.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T7.js19
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T8.js40
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T9.js40
17 files changed, 638 insertions, 0 deletions
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T1.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T1.js
new file mode 100644
index 000000000..75cba617a
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T1.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T1;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /a|ab/.exec("abc") and check results;
+*/
+
+__executed = /a|ab/.exec("abc");
+
+__expected = ["a"];
+__expected.index = 0;
+__expected.input = "abc";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /a|ab/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /a|ab/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /a|ab/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /a|ab/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T10.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T10.js
new file mode 100644
index 000000000..008804e63
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T10.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T10;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /(?:ab|cd)+|ef/i.exec("AEKeFCDab") and check results;
+*/
+
+__executed = /(?:ab|cd)+|ef/i.exec("AEKeFCDab");
+
+__expected = ["eF"];
+__expected.index = 3;
+__expected.input = "AEKeFCDab";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /(?:ab|cd)+|ef/i.exec("AEKeFCDab"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /(?:ab|cd)+|ef/i.exec("AEKeFCDab"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /(?:ab|cd)+|ef/i.exec("AEKeFCDab"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /(?:ab|cd)+|ef/i.exec("AEKeFCDab"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T11.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T11.js
new file mode 100644
index 000000000..5c577e8e3
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T11.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T11;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /11111|111/.exec("1111111111111111") and check results;
+*/
+
+__executed = /11111|111/.exec("1111111111111111");
+
+__expected = ["11111"];
+__expected.index = 0;
+__expected.input = "1111111111111111";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /11111|111/.exec("1111111111111111"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /11111|111/.exec("1111111111111111"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /11111|111/.exec("1111111111111111"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /11111|111/.exec("1111111111111111"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T12.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T12.js
new file mode 100644
index 000000000..2f47b3448
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T12.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T12;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /xyz|.../.exec("abc") and check results;
+*/
+
+__executed = /xyz|.../.exec("abc");
+
+__expected = ["abc"];
+__expected.index = 0;
+__expected.input = "abc";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /xyz|.../.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /xyz|.../.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /xyz|.../.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /xyz|.../.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T13.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T13.js
new file mode 100644
index 000000000..85561ae20
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T13.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T13;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /(.)..|abc/.exec("abc") and check results;
+*/
+
+__executed = /(.)..|abc/.exec("abc");
+
+__expected = ["abc","a"];
+__expected.index = 0;
+__expected.input = "abc";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /(.)..|abc/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /(.)..|abc/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /(.)..|abc/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /(.)..|abc/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T14.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T14.js
new file mode 100644
index 000000000..e85e5ac69
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T14.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T14;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /.+: gr(a|e)y/.exec("color: grey") and check results;
+*/
+
+__executed = /.+: gr(a|e)y/.exec("color: grey");
+
+__expected = ["color: grey","e"];
+__expected.index = 0;
+__expected.input = "color: grey";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /.+: gr(a|e)y/.exec("color: grey"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /.+: gr(a|e)y/.exec("color: grey"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /.+: gr(a|e)y/.exec("color: grey"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /.+: gr(a|e)y/.exec("color: grey"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T15.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T15.js
new file mode 100644
index 000000000..8b6e33aa5
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T15.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T15;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob") and check results;
+*/
+
+__executed = /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob");
+
+__expected = ["Bob",undefined,"Bob", undefined, undefined];
+__expected.index = 3;
+__expected.input = "Hi Bob";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /(Rob)|(Bob)|(Robert)|(Bobby)/.exec("Hi Bob"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T16.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T16.js
new file mode 100644
index 000000000..507c908cb
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T16.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T16;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /()|/.exec("") and check results;
+*/
+
+__executed = /()|/.exec("");
+
+__expected = ["",""];
+__expected.index = 0;
+__expected.input = "";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /()|/.exec(""); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /()|/.exec(""); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /()|/.exec(""); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /()|/.exec(""); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T17.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T17.js
new file mode 100644
index 000000000..3a7b94403
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T17.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T17;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /|()/.exec("") and check results;
+*/
+
+__executed = /|()/.exec("");
+
+__expected = ["",undefined];
+__expected.index = 0;
+__expected.input = "";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /|()/.exec(""); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /|()/.exec(""); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /|()/.exec(""); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /|()/.exec(""); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T2.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T2.js
new file mode 100644
index 000000000..34840da61
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T2.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T2;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /((a)|(ab))((c)|(bc))/.exec("abc") and check results;
+*/
+
+__executed = /((a)|(ab))((c)|(bc))/.exec("abc");
+
+__expected = ["abc", "a", "a", undefined, "bc", undefined, "bc"];
+__expected.index = 0;
+__expected.input = "abc";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /((a)|(ab))((c)|(bc))/.exec("abc"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /((a)|(ab))((c)|(bc))/.exec("abc"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /((a)|(ab))((c)|(bc))/.exec("abc"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /((a)|(ab))((c)|(bc))/.exec("abc"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T3.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T3.js
new file mode 100644
index 000000000..988462f6a
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T3.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T3;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12") and check results;
+*/
+
+__executed = /\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12");
+
+__expected = ["cour"];
+__expected.index = 13;
+__expected.input = "2, 12 and of course repeat 12";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and of course repeat 12"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T4.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T4.js
new file mode 100644
index 000000000..353f86ca8
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T4.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T4;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12") and check results;
+*/
+
+__executed = /\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12");
+
+__expected = ["234"];
+__expected.index = 10;
+__expected.input = "2, 12 and 234 AND of course repeat 12";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /\\d{3}|[a-z]{4}/.exec("2, 12 and 234 AND of course repeat 12"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T5.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T5.js
new file mode 100644
index 000000000..0d09f8f55
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T5.js
@@ -0,0 +1,19 @@
+// 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.3_A1_T5;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /\d{3}|[a-z]{4}/.test("2, 12 and 23 AND 0.00.1") and check results;
+*/
+
+__executed = /\d{3}|[a-z]{4}/.test("2, 12 and 23 AND 0.00.1");
+
+//CHECK#1
+if (__executed) {
+ $ERROR('#1: /\\d{3}|[a-z]{4}/.test("2, 12 and 23 AND 0.00.1") === false');
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T6.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T6.js
new file mode 100644
index 000000000..e132c4975
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T6.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T6;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /ab|cd|ef/i.exec("AEKFCD") and check results;
+*/
+
+__executed = /ab|cd|ef/i.exec("AEKFCD");
+
+__expected = ["CD"];
+__expected.index = 4;
+__expected.input = "AEKFCD";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /ab|cd|ef/i.exec("AEKFCD"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /ab|cd|ef/i.exec("AEKFCD"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /ab|cd|ef/i.exec("AEKFCD"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /ab|cd|ef/i.exec("AEKFCD"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T7.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T7.js
new file mode 100644
index 000000000..f5b9b1ecd
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T7.js
@@ -0,0 +1,19 @@
+// 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.3_A1_T7;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /ab|cd|ef/.test("AEKFCD") and check results;
+*/
+
+__executed = /ab|cd|ef/.test("AEKFCD");
+
+//CHECK#1
+if (__executed) {
+ $ERROR('#1: /ab|cd|ef/.test("AEKFCD") === false');
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T8.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T8.js
new file mode 100644
index 000000000..1c5be5fb0
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T8.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T8;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /(?:ab|cd)+|ef/i.exec("AEKFCD") and check results;
+*/
+
+__executed = /(?:ab|cd)+|ef/i.exec("AEKFCD");
+
+__expected = ["CD"];
+__expected.index = 4;
+__expected.input = "AEKFCD";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCD"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCD"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCD"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCD"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T9.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T9.js
new file mode 100644
index 000000000..0909a0c76
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.2_Pattern_Semantics/15.10.2.3_Disjunction/S15.10.2.3_A1_T9.js
@@ -0,0 +1,40 @@
+// 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.3_A1_T9;
+* @section: 15.10.2.3;
+* @assertion: The | regular expression operator separates two alternatives.
+* The pattern first tries to match the left Alternative (followed by the sequel of the regular expression).
+* If it fails, it tries to match the right Disjunction (followed by the sequel of the regular expression);
+* @description: Execute /(?:ab|cd)+|ef/i.exec("AEKFCDab") and check results;
+*/
+
+__executed = /(?:ab|cd)+|ef/i.exec("AEKFCDab");
+
+__expected = ["CDab"];
+__expected.index = 4;
+__expected.input = "AEKFCDab";
+
+//CHECK#1
+if (__executed.length !== __expected.length) {
+ $ERROR('#1: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCDab"); __executed.length === ' + __expected.length + '. Actual: ' + __executed.length);
+}
+
+//CHECK#2
+if (__executed.index !== __expected.index) {
+ $ERROR('#2: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCDab"); __executed.index === ' + __expected.index + '. Actual: ' + __executed.index);
+}
+
+//CHECK#3
+if (__executed.input !== __expected.input) {
+ $ERROR('#3: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCDab"); __executed.input === ' + __expected.input + '. Actual: ' + __executed.input);
+}
+
+//CHECK#4
+for(var index=0; index<__expected.length; index++) {
+ if (__executed[index] !== __expected[index]) {
+ $ERROR('#4: __executed = /(?:ab|cd)+|ef/i.exec("AEKFCDab"); __executed[' + index + '] === ' + __expected[index] + '. Actual: ' + __executed[index]);
+ }
+}
+