summaryrefslogtreecommitdiff
path: root/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A5_T3.js
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A5_T3.js')
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A5_T3.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A5_T3.js b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A5_T3.js
new file mode 100644
index 000000000..1029d9a6e
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/15_Native/15.10_RegExp_Objects/15.10.6_Properties_of_the_RegExp_Prototype_Object/15.10.6.2_RegExp.prototype.exec/S15.10.6.2_A5_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.6.2_A5_T3;
+* @section: 15.10.6.2, 13.2;
+* @assertion: RegExp.prototype.exec behavior depends on global property.
+* Let global is true and let I = If ToInteger(lastIndex).
+* Then if I<0 orI>length then set lastIndex to 0 and return null;
+* @description: Set lastIndex to -1 and call /(?:ab|cd)\d?/g.exec("aacd22 ");
+*/
+
+__re = /(?:ab|cd)\d?/g;
+__re.lastIndex=-1;
+__executed = __re.test("aacd22 ");
+
+//CHECK#1
+if (__executed) {
+ $ERROR('#1: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __executed === true');
+}
+
+//CHECK#2
+if (__re.lastIndex !== 0) {
+ $ERROR('#2: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __re.lastIndex === 0. Actual: ' + (__re.lastIndex));
+}
+
+__re.lastIndex=-100;
+__executed = __re.test("aacd22 ");
+
+//CHECK#3
+if (__executed) {
+ $ERROR('#3: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __re.lastIndex=-100; __executed = __re.test("aacd22 "); __executed === true');
+}
+
+//CHECK#4
+if (__re.lastIndex !== 0) {
+ $ERROR('#4: __re = /(?:ab|cd)\\d?/g; __re.lastIndex=-1; __executed = __re.test("aacd22 "); __re.lastIndex=-100; __executed = __re.test("aacd22 "); __re.lastIndex === 0. Actual: ' + (__re.lastIndex));
+}
+