summaryrefslogtreecommitdiff
path: root/external/contributions/Google/sputnik_conformance_modified/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.1.js
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Google/sputnik_conformance_modified/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.1.js')
-rw-r--r--external/contributions/Google/sputnik_conformance_modified/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.1.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/external/contributions/Google/sputnik_conformance_modified/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.1.js b/external/contributions/Google/sputnik_conformance_modified/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.1.js
new file mode 100644
index 000000000..a0a91c8cd
--- /dev/null
+++ b/external/contributions/Google/sputnik_conformance_modified/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.8_T2.1.js
@@ -0,0 +1,65 @@
+// Copyright 2009 the Sputnik authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/**
+ * @name: S11.13.2_A4.8_T2.1;
+ * @section: 11.13.2, 11.7.3;
+ * @assertion: The production x >>>= y is the same as x = x >>> y;
+ * @description: Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object);
+ */
+
+//CHECK#1
+x = true;
+x >>>= 1;
+if (x !== 0) {
+ $ERROR('#1: x = true; x >>>= 1; x === 0. Actual: ' + (x));
+}
+
+//CHECK#2
+x = 1;
+x >>>= true;
+if (x !== 0) {
+ $ERROR('#2: x = 1; x >>>= true; x === 0. Actual: ' + (x));
+}
+
+//CHECK#3
+x = new Boolean(true);
+x >>>= 1;
+if (x !== 0) {
+ $ERROR('#3: x = new Boolean(true); x >>>= 1; x === 0. Actual: ' + (x));
+}
+
+//CHECK#4
+x = 1;
+x >>>= new Boolean(true);
+if (x !== 0) {
+ $ERROR('#4: x = 1; x >>>= new Boolean(true); x === 0. Actual: ' + (x));
+}
+
+//CHECK#5
+x = true;
+x >>>= new Number(1);
+if (x !== 0) {
+ $ERROR('#5: x = true; x >>>= new Number(1); x === 0. Actual: ' + (x));
+}
+
+//CHECK#6
+x = new Number(1);
+x >>>= true;
+if (x !== 0) {
+ $ERROR('#6: x = new Number(1); x >>>= true; x === 0. Actual: ' + (x));
+}
+
+//CHECK#7
+x = new Boolean(true);
+x >>>= new Number(1);
+if (x !== 0) {
+ $ERROR('#7: x = new Boolean(true); x >>>= new Number(1); x === 0. Actual: ' + (x));
+}
+
+//CHECK#8
+x = new Number(1);
+x >>>= new Boolean(true);
+if (x !== 0) {
+ $ERROR('#8: x = new Number(1); x >>>= new Boolean(true); x === 0. Actual: ' + (x));
+}