aboutsummaryrefslogtreecommitdiffstats
path: root/external/contributions/Google/sputniktests/tests/Conformance/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.1.js
diff options
context:
space:
mode:
Diffstat (limited to 'external/contributions/Google/sputniktests/tests/Conformance/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.1.js')
-rw-r--r--external/contributions/Google/sputniktests/tests/Conformance/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.1.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/external/contributions/Google/sputniktests/tests/Conformance/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.1.js b/external/contributions/Google/sputniktests/tests/Conformance/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_T2.1.js
new file mode 100644
index 000000000..982187c00
--- /dev/null
+++ b/external/contributions/Google/sputniktests/tests/Conformance/11_Expressions/11.13_Assignment_Operators/11.13.2_Compound_Assignment/S11.13.2_A4.3_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.3_T2.1;
+ * @section: 11.13.2, 11.5.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));
+}