aboutsummaryrefslogtreecommitdiffstats
path: root/website/resources/scripts/testcases2/11.13.2_Compound_Assignment.json
diff options
context:
space:
mode:
Diffstat (limited to 'website/resources/scripts/testcases2/11.13.2_Compound_Assignment.json')
-rw-r--r--website/resources/scripts/testcases2/11.13.2_Compound_Assignment.json1339
1 files changed, 1339 insertions, 0 deletions
diff --git a/website/resources/scripts/testcases2/11.13.2_Compound_Assignment.json b/website/resources/scripts/testcases2/11.13.2_Compound_Assignment.json
new file mode 100644
index 000000000..7df3948cb
--- /dev/null
+++ b/website/resources/scripts/testcases2/11.13.2_Compound_Assignment.json
@@ -0,0 +1,1339 @@
+{
+ "testCollection": {
+ "name": "11.13.2_Compound_Assignment",
+ "numTests": 220,
+ "tests": [
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x *= y",
+ "test": "//CHECK#1\nx = -1;\nif ((eval(\"x\\u0009*=\\u0009-1\")) !== 1) {\n $ERROR('#1: x = -1; (x\\\\u0009*=\\\\u0009-1) === 1');\n}\n\n//CHECK#2\nx = -1;\nif ((eval(\"x\\u000B*=\\u000B-1\")) !== 1) {\n $ERROR('#2: x = -1; (x\\\\u000B*=\\\\u000B-1) === 1'); \n}\n\n//CHECK#3\nx = -1;\nif ((eval(\"x\\u000C*=\\u000C-1\")) !== 1) {\n $ERROR('#3: x = -1; (x\\\\u000C*=\\\\u000C-1) === 1');\n}\n\n//CHECK#4\nx = -1;\nif ((eval(\"x\\u0020*=\\u0020-1\")) !== 1) {\n $ERROR('#4: x = -1; (x\\\\u0020*=\\\\u0020-1) === 1');\n}\n\n//CHECK#5\nx = -1;\nif ((eval(\"x\\u00A0*=\\u00A0-1\")) !== 1) {\n $ERROR('#5: x = -1; (x\\\\u00A0*=\\\\u00A0-1) === 1');\n}\n\n//CHECK#6\nx = -1;\nif ((eval(\"x\\u000A*=\\u000A-1\")) !== 1) {\n $ERROR('#6: x = -1; (x\\\\u000A*=\\\\u000A-1) === 1'); \n}\n\n//CHECK#7\nx = -1;\nif ((eval(\"x\\u000D*=\\u000D-1\")) !== 1) {\n $ERROR('#7: x = -1; (x\\\\u000D*=\\\\u000D-1) === 1');\n}\n\n//CHECK#8\nx = -1;\nif ((eval(\"x\\u2028*=\\u2028-1\")) !== 1) {\n $ERROR('#8: x = -1; (x\\\\u2028*=\\\\u2028-1) === 1');\n}\n\n//CHECK#9\nx = -1;\nif ((eval(\"x\\u2029*=\\u2029-1\")) !== 1) {\n $ERROR('#9: x = -1; (x\\\\u2029*=\\\\u2029-1) === 1');\n}\n\n\n//CHECK#10\nx = -1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029*=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029-1\")) !== 1) {\n $ERROR('#10: x = -1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029*=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029-1) === 1');\n}\n",
+ "id": "S11.13.2_A1_T1"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x ^= y",
+ "test": "//CHECK#1\nx = 1;\nif ((eval(\"x\\u0009^=\\u00091\")) !== 0) {\n $ERROR('#1: x = 1; (x\\\\u0009^=\\\\u00091) === 0');\n}\n\n//CHECK#2\nx = 1;\nif ((eval(\"x\\u000B^=\\u000B1\")) !== 0) {\n $ERROR('#2: x = 1; (x\\\\u000B^=\\\\u000B1) === 0'); \n}\n\n//CHECK#3\nx = 1;\nif ((eval(\"x\\u000C^=\\u000C1\")) !== 0) {\n $ERROR('#3: x = 1; (x\\\\u000C^=\\\\u000C1) === 0');\n}\n\n//CHECK#4\nx = 1;\nif ((eval(\"x\\u0020^=\\u00201\")) !== 0) {\n $ERROR('#4: x = 1; (x\\\\u0020^=\\\\u00201) === 0');\n}\n\n//CHECK#5\nx = 1;\nif ((eval(\"x\\u00A0^=\\u00A01\")) !== 0) {\n $ERROR('#5: x = 1; (x\\\\u00A0^=\\\\u00A01) === 0');\n}\n\n//CHECK#6\nx = 1;\nif ((eval(\"x\\u000A^=\\u000A1\")) !== 0) {\n $ERROR('#6: x = 1; (x\\\\u000A^=\\\\u000A1) === 0'); \n}\n\n//CHECK#7\nx = 1;\nif ((eval(\"x\\u000D^=\\u000D1\")) !== 0) {\n $ERROR('#7: x = 1; (x\\\\u000D^=\\\\u000D1) === 0');\n}\n\n//CHECK#8\nx = 1;\nif ((eval(\"x\\u2028^=\\u20281\")) !== 0) {\n $ERROR('#8: x = 1; (x\\\\u2028^=\\\\u20281) === 0');\n}\n\n//CHECK#9\nx = 1;\nif ((eval(\"x\\u2029^=\\u20291\")) !== 0) {\n $ERROR('#9: x = 1; (x\\\\u2029^=\\\\u20291) === 0');\n}\n\n\n//CHECK#10\nx = 1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029^=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291\")) !== 0) {\n $ERROR('#10: x = 1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029^=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u20291) === 0');\n}\n",
+ "id": "S11.13.2_A1_T10"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x |= y",
+ "test": "//CHECK#1\nx = 0;\nif ((eval(\"x\\u0009|=\\u00091\")) !== 1) {\n $ERROR('#1: x = 0; (x\\\\u0009|=\\\\u00091) === 1');\n}\n\n//CHECK#2\nx = 0;\nif ((eval(\"x\\u000B|=\\u000B1\")) !== 1) {\n $ERROR('#2: x = 0; (x\\\\u000B|=\\\\u000B1) === 1'); \n}\n\n//CHECK#3\nx = 0;\nif ((eval(\"x\\u000C|=\\u000C1\")) !== 1) {\n $ERROR('#3: x = 0; (x\\\\u000C|=\\\\u000C1) === 1');\n}\n\n//CHECK#4\nx = 0;\nif ((eval(\"x\\u0020|=\\u00201\")) !== 1) {\n $ERROR('#4: x = 0; (x\\\\u0020|=\\\\u00201) === 1');\n}\n\n//CHECK#5\nx = 0;\nif ((eval(\"x\\u00A0|=\\u00A01\")) !== 1) {\n $ERROR('#5: x = 0; (x\\\\u00A0|=\\\\u00A01) === 1');\n}\n\n//CHECK#6\nx = 0;\nif ((eval(\"x\\u000A|=\\u000A1\")) !== 1) {\n $ERROR('#6: x = 0; (x\\\\u000A|=\\\\u000A1) === 1'); \n}\n\n//CHECK#7\nx = 0;\nif ((eval(\"x\\u000D|=\\u000D1\")) !== 1) {\n $ERROR('#7: x = 0; (x\\\\u000D|=\\\\u000D1) === 1');\n}\n\n//CHECK#8\nx = 0;\nif ((eval(\"x\\u2028|=\\u20281\")) !== 1) {\n $ERROR('#8: x = 0; (x\\\\u2028|=\\\\u20281) === 1');\n}\n\n//CHECK#9\nx = 0;\nif ((eval(\"x\\u2029|=\\u20291\")) !== 1) {\n $ERROR('#9: x = 0; (x\\\\u2029|=\\\\u20291) === 1');\n}\n\n\n//CHECK#10\nx = 0;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029|=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291\")) !== 1) {\n $ERROR('#10: x = 0; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029|=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u20291) === 1');\n}\n",
+ "id": "S11.13.2_A1_T11"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x /= y",
+ "test": "//CHECK#1\nx = -1;\nif ((eval(\"x\\u0009/=\\u0009-1\")) !== 1) {\n $ERROR('#1: x = -1; (x\\\\u0009/=\\\\u0009-1) === 1');\n}\n\n//CHECK#2\nx = -1;\nif ((eval(\"x\\u000B/=\\u000B-1\")) !== 1) {\n $ERROR('#2: x = -1; (x\\\\u000B/=\\\\u000B-1) === 1'); \n}\n\n//CHECK#3\nx = -1;\nif ((eval(\"x\\u000C/=\\u000C-1\")) !== 1) {\n $ERROR('#3: x = -1; (x\\\\u000C/=\\\\u000C-1) === 1');\n}\n\n//CHECK#4\nx = -1;\nif ((eval(\"x\\u0020/=\\u0020-1\")) !== 1) {\n $ERROR('#4: x = -1; (x\\\\u0020/=\\\\u0020-1) === 1');\n}\n\n//CHECK#5\nx = -1;\nif ((eval(\"x\\u00A0/=\\u00A0-1\")) !== 1) {\n $ERROR('#5: x = -1; (x\\\\u00A0/=\\\\u00A0-1) === 1');\n}\n\n//CHECK#6\nx = -1;\nif ((eval(\"x\\u000A/=\\u000A-1\")) !== 1) {\n $ERROR('#6: x = -1; (x\\\\u000A/=\\\\u000A-1) === 1'); \n}\n\n//CHECK#7\nx = -1;\nif ((eval(\"x\\u000D/=\\u000D-1\")) !== 1) {\n $ERROR('#7: x = -1; (x\\\\u000D/=\\\\u000D-1) === 1');\n}\n\n//CHECK#8\nx = -1;\nif ((eval(\"x\\u2028/=\\u2028-1\")) !== 1) {\n $ERROR('#8: x = -1; (x\\\\u2028/=\\\\u2028-1) === 1');\n}\n\n//CHECK#9\nx = -1;\nif ((eval(\"x\\u2029/=\\u2029-1\")) !== 1) {\n $ERROR('#9: x = -1; (x\\\\u2029/=\\\\u2029-1) === 1');\n}\n\n\n//CHECK#10\nx = -1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029/=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029-1\")) !== 1) {\n $ERROR('#10: x = -1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029/=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029-1) === 1');\n}\n",
+ "id": "S11.13.2_A1_T2"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x %= y",
+ "test": "//CHECK#1\nx = -1;\nif ((eval(\"x\\u0009%=\\u0009-1\")) !== 0) {\n $ERROR('#1: x = -1; (x\\\\u0009%=\\\\u0009-1) === 0');\n}\n\n//CHECK#2\nx = -1;\nif ((eval(\"x\\u000B%=\\u000B-1\")) !== 0) {\n $ERROR('#2: x = -1; (x\\\\u000B%=\\\\u000B-1) === 0'); \n}\n\n//CHECK#3\nx = -1;\nif ((eval(\"x\\u000C%=\\u000C-1\")) !== 0) {\n $ERROR('#3: x = -1; (x\\\\u000C%=\\\\u000C-1) === 0');\n}\n\n//CHECK#4\nx = -1;\nif ((eval(\"x\\u0020%=\\u0020-1\")) !== 0) {\n $ERROR('#4: x = -1; (x\\\\u0020%=\\\\u0020-1) === 0');\n}\n\n//CHECK#5\nx = -1;\nif ((eval(\"x\\u00A0%=\\u00A0-1\")) !== 0) {\n $ERROR('#5: x = -1; (x\\\\u00A0%=\\\\u00A0-1) === 0');\n}\n\n//CHECK#6\nx = -1;\nif ((eval(\"x\\u000A%=\\u000A-1\")) !== 0) {\n $ERROR('#6: x = -1; (x\\\\u000A%=\\\\u000A-1) === 0'); \n}\n\n//CHECK#7\nx = -1;\nif ((eval(\"x\\u000D%=\\u000D-1\")) !== 0) {\n $ERROR('#7: x = -1; (x\\\\u000D%=\\\\u000D-1) === 0');\n}\n\n//CHECK#8\nx = -1;\nif ((eval(\"x\\u2028%=\\u2028-1\")) !== 0) {\n $ERROR('#8: x = -1; (x\\\\u2028%=\\\\u2028-1) === 0');\n}\n\n//CHECK#9\nx = -1;\nif ((eval(\"x\\u2029%=\\u2029-1\")) !== 0) {\n $ERROR('#9: x = -1; (x\\\\u2029%=\\\\u2029-1) === 0');\n}\n\n\n//CHECK#10\nx = -1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029%=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029-1\")) !== 0) {\n $ERROR('#10: x = -1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029%=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029-1) === 0');\n}\n",
+ "id": "S11.13.2_A1_T3"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x += y",
+ "test": "//CHECK#1\nx = -1;\nif ((eval(\"x\\u0009+=\\u0009-1\")) !== -2) {\n $ERROR('#1: x = -1; (x\\\\u0009+=\\\\u0009-1) === -2');\n}\n\n//CHECK#2\nx = -1;\nif ((eval(\"x\\u000B+=\\u000B-1\")) !== -2) {\n $ERROR('#2: x = -1; (x\\\\u000B+=\\\\u000B-1) === -2'); \n}\n\n//CHECK#3\nx = -1;\nif ((eval(\"x\\u000C+=\\u000C-1\")) !== -2) {\n $ERROR('#3: x = -1; (x\\\\u000C+=\\\\u000C-1) === -2');\n}\n\n//CHECK#4\nx = -1;\nif ((eval(\"x\\u0020+=\\u0020-1\")) !== -2) {\n $ERROR('#4: x = -1; (x\\\\u0020+=\\\\u0020-1) === -2');\n}\n\n//CHECK#5\nx = -1;\nif ((eval(\"x\\u00A0+=\\u00A0-1\")) !== -2) {\n $ERROR('#5: x = -1; (x\\\\u00A0+=\\\\u00A0-1) === -2');\n}\n\n//CHECK#6\nx = -1;\nif ((eval(\"x\\u000A+=\\u000A-1\")) !== -2) {\n $ERROR('#6: x = -1; (x\\\\u000A+=\\\\u000A-1) === -2'); \n}\n\n//CHECK#7\nx = -1;\nif ((eval(\"x\\u000D+=\\u000D-1\")) !== -2) {\n $ERROR('#7: x = -1; (x\\\\u000D+=\\\\u000D-1) === -2');\n}\n\n//CHECK#8\nx = -1;\nif ((eval(\"x\\u2028+=\\u2028-1\")) !== -2) {\n $ERROR('#8: x = -1; (x\\\\u2028+=\\\\u2028-1) === -2');\n}\n\n//CHECK#9\nx = -1;\nif ((eval(\"x\\u2029+=\\u2029-1\")) !== -2) {\n $ERROR('#9: x = -1; (x\\\\u2029+=\\\\u2029-1) === -2');\n}\n\n\n//CHECK#10\nx = -1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029+=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029-1\")) !== -2) {\n $ERROR('#10: x = -1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029+=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029-1) === -2');\n}\n",
+ "id": "S11.13.2_A1_T4"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x -= y",
+ "test": "//CHECK#1\nx = -1;\nif ((eval(\"x\\u0009-=\\u00091\")) !== -2) {\n $ERROR('#1: x = -1; (x\\\\u0009-=\\\\u00091) === -2');\n}\n\n//CHECK#2\nx = -1;\nif ((eval(\"x\\u000B-=\\u000B1\")) !== -2) {\n $ERROR('#2: x = -1; (x\\\\u000B-=\\\\u000B1) === -2'); \n}\n\n//CHECK#3\nx = -1;\nif ((eval(\"x\\u000C-=\\u000C1\")) !== -2) {\n $ERROR('#3: x = -1; (x\\\\u000C-=\\\\u000C1) === -2');\n}\n\n//CHECK#4\nx = -1;\nif ((eval(\"x\\u0020-=\\u00201\")) !== -2) {\n $ERROR('#4: x = -1; (x\\\\u0020-=\\\\u00201) === -2');\n}\n\n//CHECK#5\nx = -1;\nif ((eval(\"x\\u00A0-=\\u00A01\")) !== -2) {\n $ERROR('#5: x = -1; (x\\\\u00A0-=\\\\u00A01) === -2');\n}\n\n//CHECK#6\nx = -1;\nif ((eval(\"x\\u000A-=\\u000A1\")) !== -2) {\n $ERROR('#6: x = -1; (x\\\\u000A-=\\\\u000A1) === -2'); \n}\n\n//CHECK#7\nx = -1;\nif ((eval(\"x\\u000D-=\\u000D1\")) !== -2) {\n $ERROR('#7: x = -1; (x\\\\u000D-=\\\\u000D1) === -2');\n}\n\n//CHECK#8\nx = -1;\nif ((eval(\"x\\u2028-=\\u20281\")) !== -2) {\n $ERROR('#8: x = -1; (x\\\\u2028-=\\\\u20281) === -2');\n}\n\n//CHECK#9\nx = -1;\nif ((eval(\"x\\u2029-=\\u20291\")) !== -2) {\n $ERROR('#9: x = -1; (x\\\\u2029-=\\\\u20291) === -2');\n}\n\n\n//CHECK#10\nx = -1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029-=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291\")) !== -2) {\n $ERROR('#10: x = -1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029-=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u20291) === -2');\n}\n",
+ "id": "S11.13.2_A1_T5"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x <<= y",
+ "test": "//CHECK#1\nx = 1;\nif ((eval(\"x\\u0009<<=\\u00091\")) !== 2) {\n $ERROR('#1: x = 1; (x\\\\u0009<<=\\\\u00091) === 2');\n}\n\n//CHECK#2\nx = 1;\nif ((eval(\"x\\u000B<<=\\u000B1\")) !== 2) {\n $ERROR('#2: x = 1; (x\\\\u000B<<=\\\\u000B1) === 2'); \n}\n\n//CHECK#3\nx = 1;\nif ((eval(\"x\\u000C<<=\\u000C1\")) !== 2) {\n $ERROR('#3: x = 1; (x\\\\u000C<<=\\\\u000C1) === 2');\n}\n\n//CHECK#4\nx = 1;\nif ((eval(\"x\\u0020<<=\\u00201\")) !== 2) {\n $ERROR('#4: x = 1; (x\\\\u0020<<=\\\\u00201) === 2');\n}\n\n//CHECK#5\nx = 1;\nif ((eval(\"x\\u00A0<<=\\u00A01\")) !== 2) {\n $ERROR('#5: x = 1; (x\\\\u00A0<<=\\\\u00A01) === 2');\n}\n\n//CHECK#6\nx = 1;\nif ((eval(\"x\\u000A<<=\\u000A1\")) !== 2) {\n $ERROR('#6: x = 1; (x\\\\u000A<<=\\\\u000A1) === 2'); \n}\n\n//CHECK#7\nx = 1;\nif ((eval(\"x\\u000D<<=\\u000D1\")) !== 2) {\n $ERROR('#7: x = 1; (x\\\\u000D<<=\\\\u000D1) === 2');\n}\n\n//CHECK#8\nx = 1;\nif ((eval(\"x\\u2028<<=\\u20281\")) !== 2) {\n $ERROR('#8: x = 1; (x\\\\u2028<<=\\\\u20281) === 2');\n}\n\n//CHECK#9\nx = 1;\nif ((eval(\"x\\u2029<<=\\u20291\")) !== 2) {\n $ERROR('#9: x = 1; (x\\\\u2029<<=\\\\u20291) === 2');\n}\n\n\n//CHECK#10\nx = 1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029<<=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291\")) !== 2) {\n $ERROR('#10: x = 1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029<<=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u20291) === 2');\n}\n",
+ "id": "S11.13.2_A1_T6"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x >>= y",
+ "test": "//CHECK#1\nx = 1;\nif ((eval(\"x\\u0009>>=\\u00091\")) !== 0) {\n $ERROR('#1: x = 1; (x\\\\u0009>>=\\\\u00091) === 0');\n}\n\n//CHECK#2\nx = 1;\nif ((eval(\"x\\u000B>>=\\u000B1\")) !== 0) {\n $ERROR('#2: x = 1; (x\\\\u000B>>=\\\\u000B1) === 0'); \n}\n\n//CHECK#3\nx = 1;\nif ((eval(\"x\\u000C>>=\\u000C1\")) !== 0) {\n $ERROR('#3: x = 1; (x\\\\u000C>>=\\\\u000C1) === 0');\n}\n\n//CHECK#4\nx = 1;\nif ((eval(\"x\\u0020>>=\\u00201\")) !== 0) {\n $ERROR('#4: x = 1; (x\\\\u0020>>=\\\\u00201) === 0');\n}\n\n//CHECK#5\nx = 1;\nif ((eval(\"x\\u00A0>>=\\u00A01\")) !== 0) {\n $ERROR('#5: x = 1; (x\\\\u00A0>>=\\\\u00A01) === 0');\n}\n\n//CHECK#6\nx = 1;\nif ((eval(\"x\\u000A>>=\\u000A1\")) !== 0) {\n $ERROR('#6: x = 1; (x\\\\u000A>>=\\\\u000A1) === 0'); \n}\n\n//CHECK#7\nx = 1;\nif ((eval(\"x\\u000D>>=\\u000D1\")) !== 0) {\n $ERROR('#7: x = 1; (x\\\\u000D>>=\\\\u000D1) === 0');\n}\n\n//CHECK#8\nx = 1;\nif ((eval(\"x\\u2028>>=\\u20281\")) !== 0) {\n $ERROR('#8: x = 1; (x\\\\u2028>>=\\\\u20281) === 0');\n}\n\n//CHECK#9\nx = 1;\nif ((eval(\"x\\u2029>>=\\u20291\")) !== 0) {\n $ERROR('#9: x = 1; (x\\\\u2029>>=\\\\u20291) === 0');\n}\n\n\n//CHECK#10\nx = 1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029>>=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291\")) !== 0) {\n $ERROR('#10: x = 1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029>>=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u20291) === 0');\n}\n",
+ "id": "S11.13.2_A1_T7"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x >>>= y",
+ "test": "//CHECK#1\nx = 1;\nif ((eval(\"x\\u0009>>>=\\u00091\")) !== 0) {\n $ERROR('#1: x = 1; (x\\\\u0009>>>=\\\\u00091) === 0');\n}\n\n//CHECK#2\nx = 1;\nif ((eval(\"x\\u000B>>>=\\u000B1\")) !== 0) {\n $ERROR('#2: x = 1; (x\\\\u000B>>>=\\\\u000B1) === 0'); \n}\n\n//CHECK#3\nx = 1;\nif ((eval(\"x\\u000C>>>=\\u000C1\")) !== 0) {\n $ERROR('#3: x = 1; (x\\\\u000C>>>=\\\\u000C1) === 0');\n}\n\n//CHECK#4\nx = 1;\nif ((eval(\"x\\u0020>>>=\\u00201\")) !== 0) {\n $ERROR('#4: x = 1; (x\\\\u0020>>>=\\\\u00201) === 0');\n}\n\n//CHECK#5\nx = 1;\nif ((eval(\"x\\u00A0>>>=\\u00A01\")) !== 0) {\n $ERROR('#5: x = 1; (x\\\\u00A0>>>=\\\\u00A01) === 0');\n}\n\n//CHECK#6\nx = 1;\nif ((eval(\"x\\u000A>>>=\\u000A1\")) !== 0) {\n $ERROR('#6: x = 1; (x\\\\u000A>>>=\\\\u000A1) === 0'); \n}\n\n//CHECK#7\nx = 1;\nif ((eval(\"x\\u000D>>>=\\u000D1\")) !== 0) {\n $ERROR('#7: x = 1; (x\\\\u000D>>>=\\\\u000D1) === 0');\n}\n\n//CHECK#8\nx = 1;\nif ((eval(\"x\\u2028>>>=\\u20281\")) !== 0) {\n $ERROR('#8: x = 1; (x\\\\u2028>>>=\\\\u20281) === 0');\n}\n\n//CHECK#9\nx = 1;\nif ((eval(\"x\\u2029>>>=\\u20291\")) !== 0) {\n $ERROR('#9: x = 1; (x\\\\u2029>>>=\\\\u20291) === 0');\n}\n\n\n//CHECK#10\nx = 1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029>>>=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291\")) !== 0) {\n $ERROR('#10: x = 1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029>>>=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u20291) === 0');\n}\n",
+ "id": "S11.13.2_A1_T8"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking by using eval, check operator is x &= y",
+ "test": "//CHECK#1\nx = 1;\nif ((eval(\"x\\u0009&=\\u00091\")) !== 1) {\n $ERROR('#1: x = 1; (x\\\\u0009&=\\\\u00091) === 1');\n}\n\n//CHECK#2\nx = 1;\nif ((eval(\"x\\u000B&=\\u000B1\")) !== 1) {\n $ERROR('#2: x = 1; (x\\\\u000B&=\\\\u000B1) === 1'); \n}\n\n//CHECK#3\nx = 1;\nif ((eval(\"x\\u000C&=\\u000C1\")) !== 1) {\n $ERROR('#3: x = 1; (x\\\\u000C&=\\\\u000C1) === 1');\n}\n\n//CHECK#4\nx = 1;\nif ((eval(\"x\\u0020&=\\u00201\")) !== 1) {\n $ERROR('#4: x = 1; (x\\\\u0020&=\\\\u00201) === 1');\n}\n\n//CHECK#5\nx = 1;\nif ((eval(\"x\\u00A0&=\\u00A01\")) !== 1) {\n $ERROR('#5: x = 1; (x\\\\u00A0&=\\\\u00A01) === 1');\n}\n\n//CHECK#6\nx = 1;\nif ((eval(\"x\\u000A&=\\u000A1\")) !== 1) {\n $ERROR('#6: x = 1; (x\\\\u000A&=\\\\u000A1) === 1'); \n}\n\n//CHECK#7\nx = 1;\nif ((eval(\"x\\u000D&=\\u000D1\")) !== 1) {\n $ERROR('#7: x = 1; (x\\\\u000D&=\\\\u000D1) === 1');\n}\n\n//CHECK#8\nx = 1;\nif ((eval(\"x\\u2028&=\\u20281\")) !== 1) {\n $ERROR('#8: x = 1; (x\\\\u2028&=\\\\u20281) === 1');\n}\n\n//CHECK#9\nx = 1;\nif ((eval(\"x\\u2029&=\\u20291\")) !== 1) {\n $ERROR('#9: x = 1; (x\\\\u2029&=\\\\u20291) === 1');\n}\n\n\n//CHECK#10\nx = 1;\nif ((eval(\"x\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u2029&=\\u0009\\u000B\\u000C\\u0020\\u00A0\\u000A\\u000D\\u2028\\u20291\")) !== 1) {\n $ERROR('#10: x = 1; (x\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u2029&=\\\\u0009\\\\u000B\\\\u000C\\\\u0020\\\\u00A0\\\\u000A\\\\u000D\\\\u2028\\\\u20291) === 1');\n}\n",
+ "id": "S11.13.2_A1_T9"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x *= y\"",
+ "test": "//CHECK#1\nvar x = 1;\nvar z = (x *= -1);\nif (z !== -1) {\n $ERROR('#1: var x = 1; var z = (x *= -1); z === -1. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 1;\nvar y = -1;\nvar z = (x *= y);\nif (z !== -1) {\n $ERROR('#2: var x = 1; var y = -1; var z = (x *= y); z === -1. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.1"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x ^= y\"",
+ "test": "//CHECK#1\nvar x = 1;\nvar z = (x ^= 1);\nif (z !== 0) {\n $ERROR('#1: var x = 1; var z = (x ^= 1); z === 0. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 1;\nvar y = 1;\nvar z = (x ^= y);\nif (z !== 0) {\n $ERROR('#2: var x = 1; var y = 1; var z = (x ^= y); z === 0. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.10"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x |= y\"",
+ "test": "//CHECK#1\nvar x = 0;\nvar z = (x |= 1);\nif (z !== 1) {\n $ERROR('#1: var x = 0; var z = (x |= 1); z === 1. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 0;\nvar y = 1;\nvar z = (x |= y);\nif (z !== 1) {\n $ERROR('#2: var x = 0; var y = 1; var z = (x |= y); z === 1. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.11"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x /= y\"",
+ "test": "//CHECK#1\nvar x = 1;\nvar z = (x /= -1);\nif (z !== -1) {\n $ERROR('#1: var x = 1; var z = (x /= -1); z === -1. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 1;\nvar y = -1;\nvar z = (x /= y);\nif (z !== -1) {\n $ERROR('#2: var x = 1; var y = -1; var z = (x /= y); z === -1. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.2"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x %= y\"",
+ "test": "//CHECK#1\nvar x = -1;\nvar z = (x %= 2);\nif (z !== -1) {\n $ERROR('#1: var x = -1; var z = (x %= 2); z === -1. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = -1;\nvar y = 2;\nvar z = (x %= y);\nif (z !== -1) {\n $ERROR('#2: var x = -1; var y = 2; var z = (x %= y); z === -1. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.3"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x += y\"",
+ "test": "//CHECK#1\nvar x = 1;\nvar z = (x += 1);\nif (z !== 2) {\n $ERROR('#1: var x = 1; var z = (x += 1); z === 2. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 1;\nvar y = 1;\nvar z = (x += y);\nif (z !== 2) {\n $ERROR('#2: var x = 1; var y = 1; var z = (x += y); z === 2. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.4"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x -= y\"",
+ "test": "//CHECK#1\nvar x = 1;\nvar z = (x -= 1);\nif (z !== 0) {\n $ERROR('#1: var x = 1; var z = (x -= 1); z === 0. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 1;\nvar y = 1;\nvar z = (x -= y);\nif (z !== 0) {\n $ERROR('#2: var x = 1; var y = 1; var z = (x -= y); z === 0. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.5"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x <<= y\"",
+ "test": "//CHECK#1\nvar x = 1;\nvar z = (x <<= 1);\nif (z !== 2) {\n $ERROR('#1: var x = 1; var z = (x <<= 1); z === 2. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 1;\nvar y = 1;\nvar z = (x <<= y);\nif (z !== 2) {\n $ERROR('#2: var x = 1; var y = 1; var z = (x <<= y); z === 2. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.6"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x >>= y\"",
+ "test": "//CHECK#1\nvar x = 4;\nvar z = (x >>= 1);\nif (z !== 2) {\n $ERROR('#1: var x = 4; var z = (x >>= 1); z === 2. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 4;\nvar y = 1;\nvar z = (x >>= y);\nif (z !== 2) {\n $ERROR('#2: var x = 4; var y = 1; var z = (x >>= y); z === 2. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.7"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x >>>= y\"",
+ "test": "//CHECK#1\nvar x = 4;\nvar z = (x >>>= 1);\nif (z !== 2) {\n $ERROR('#1: var x = 4; var z = (x >>>= 1); z === 2. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 4;\nvar y = 1;\nvar z = (x >>>= y);\nif (z !== 2) {\n $ERROR('#2: var x = 4; var y = 1; var z = (x >>>= y); z === 2. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.8"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Either Type is not Reference or GetBase is not null, check opeartor is \"x &= y\"",
+ "test": "//CHECK#1\nvar x = 1;\nvar z = (x &= 1);\nif (z !== 1) {\n $ERROR('#1: var x = 1; var z = (x &= 1); z === 1. Actual: ' + (z));\n}\n\n//CHECK#2\nvar x = 1;\nvar y = 1;\nvar z = (x &= y);\nif (z !== 1) {\n $ERROR('#2: var x = 1; var y = 1; var z = (x &= y); z === 1. Actual: ' + (z));\n}\n\n",
+ "id": "S11.13.2_A2.1_T1.9"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x *= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x *= y);\n $ERROR('#1.1: var x = 1; x *= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x *= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.1"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x ^= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x ^= y);\n $ERROR('#1.1: var x = 1; x ^= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x ^= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.10"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x |= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x |= y);\n $ERROR('#1.1: var x = 1; x |= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x |= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.11"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x /= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x /= y);\n $ERROR('#1.1: var x = 1; x /= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x /= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.2"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x %= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x %= y);\n $ERROR('#1.1: var x = 1; x %= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x %= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.3"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x += y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x += y);\n $ERROR('#1.1: var x = 1; x += y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x += y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.4"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x -= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x -= y);\n $ERROR('#1.1: var x = 1; x -= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x -= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.5"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x <<= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x <<= y);\n $ERROR('#1.1: var x = 1; x <<= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x <<= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.6"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x >>= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x >>= y);\n $ERROR('#1.1: var x = 1; x >>= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x >>= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.7"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x >>>= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x >>>= y);\n $ERROR('#1.1: var x = 1; x >>>= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x >>>= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.8"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(AssigmentExpression) is null, throw ReferenceError. Check operator is \"x &= y\"",
+ "test": "//CHECK#1\ntry {\n var x = 1;\n var z = (x &= y);\n $ERROR('#1.1: var x = 1; x &= y throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: var x = 1; x &= y throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T2.9"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x *= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x *= 1);\n $ERROR('#1.1: x *= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x *= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.1"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x ^= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x ^= 1);\n $ERROR('#1.1: x ^= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x ^= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.10"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x |= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x |= 1);\n $ERROR('#1.1: x |= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x |= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.11"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x /= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x /= 1);\n $ERROR('#1.1: x /= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x /= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.2"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x %= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x %= 1);\n $ERROR('#1.1: x %= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x %= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.3"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x += y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x += 1);\n $ERROR('#1.1: x += 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x += 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.4"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x -= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x -= 1);\n $ERROR('#1.1: x -= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x -= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.5"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x <<= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x <<= 1);\n $ERROR('#1.1: x <<= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x <<= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.6"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x >>= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x >>= 1);\n $ERROR('#1.1: x >>= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x >>= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.7"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x >>>= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x >>>= 1);\n $ERROR('#1.1: x >>>= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x >>>= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.8"
+ },
+ {
+ "section": "11.13.2",
+ "description": "If GetBase(LeftHandSideExpression) is null, throw ReferenceError. Check operator is \"x &= y\"",
+ "test": "//CHECK#1\ntry {\n var z = (x &= 1);\n $ERROR('#1.1: x &= 1 throw ReferenceError. Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: x &= 1 throw ReferenceError. Actual: ' + (e)); \n }\n}\n",
+ "id": "S11.13.2_A2.1_T3.9"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x *= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 *= 1);\n $ERROR('#1.1: 1 *= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 *= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 *= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T1"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x ^= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 ^= 1);\n $ERROR('#1.1: 1 ^= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 ^= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 ^= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T10"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x |= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 |= 1);\n $ERROR('#1.1: 1 |= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 |= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 |= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T11"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x /= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 /= 1);\n $ERROR('#1.1: 1 /= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 /= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 /= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T2"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x %= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 %= 1);\n $ERROR('#1.1: 1 %= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 %= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 %= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T3"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x += y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 += 1);\n $ERROR('#1.1: 1 += 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 += 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 += 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T4"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x -= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 -= 1);\n $ERROR('#1.1: 1 -= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 -= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 -= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T5"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x <<= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 <<= 1);\n $ERROR('#1.1: 1 <<= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 <<= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 <<= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T6"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x >>= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 >>= 1);\n $ERROR('#1.1: 1 >>= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 >>= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 >>= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T7"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x >>>= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 >>>= 1);\n $ERROR('#1.1: 1 >>>= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 >>>= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 >>>= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T8"
+ },
+ {
+ "section": "11.13.2, 16",
+ "description": "If Type(LeftHandSideExpression) is not Reference, throw ReferenceError (or SyntaxError). Check operator is \"x &= y\"",
+ "negative": "",
+ "test": "//CHECK#1\ntry {\n var z = (1 &= 1);\n $ERROR('#1.1: 1 &= 1 throw ReferenceError (or SyntaxError). Actual: ' + (z)); \n}\ncatch (e) {\n if ((e instanceof ReferenceError) !== true) {\n $ERROR('#1.2: 1 &= 1 throw ReferenceError (or SyntaxError). Actual: ' + (e)); \n } else {\n var z = (1 &= 1);\n }\n}\n",
+ "id": "S11.13.2_A2.2_T9"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x *= y",
+ "test": "//CHECK#1\nvar x = 1;\nx *= -1; \nif (x !== -1) {\n $ERROR('#1: var x = 1; x *= -1; x === -1. Actual: ' + (x));\n}\n\n//CHECK#2\ny = 1;\ny *= -1;\nif (y !== -1) {\n $ERROR('#2: y = 1; y *= -1; y === -1. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T1"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x ^= y",
+ "test": "//CHECK#1\nvar x = 0;\nx ^= 1; \nif (x !== 1) {\n $ERROR('#1: var x = 0; x ^= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\ny = 1;\ny ^= 0;\nif (y !== 1) {\n $ERROR('#2: y = 1; y ^= 0; y === 1. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T10"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x |= y",
+ "test": "//CHECK#1\nvar x = 0;\nx |= 1; \nif (x !== 1) {\n $ERROR('#1: var x = 0; x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\ny = 1;\ny |= 0;\nif (y !== 1) {\n $ERROR('#2: y = 1; y |= 0; y === 1. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T11"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x /= y",
+ "test": "//CHECK#1\nvar x = 1;\nx /= -1; \nif (x !== -1) {\n $ERROR('#1: var x = 1; x /= -1; x === -1. Actual: ' + (x));\n}\n\n//CHECK#2\ny = 1;\ny /= -1;\nif (y !== -1) {\n $ERROR('#2: y = 1; y /= -1; y === -1. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T2"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x %= y",
+ "test": "//CHECK#1\nvar x = -1;\nx %= 2; \nif (x !== -1) {\n $ERROR('#1: var x = -1; x %= 2; x === -1. Actual: ' + (x));\n}\n\n//CHECK#2\ny = -1;\ny %= 2;\nif (y !== -1) {\n $ERROR('#2: y = -1; y %= 2; y === -1. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T3"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x += y",
+ "test": "//CHECK#1\nvar x = 1;\nx += 1; \nif (x !== 2) {\n $ERROR('#1: var x = 1; x += 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\ny = 1;\ny += 1;\nif (y !== 2) {\n $ERROR('#2: y = 1; y += 1; y === 2. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T4"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x -= y",
+ "test": "//CHECK#1\nvar x = -1;\nx -= 1; \nif (x !== -2) {\n $ERROR('#1: var x = -1; x -= 1; x === -2. Actual: ' + (x));\n}\n\n//CHECK#2\ny = -1;\ny -= 1;\nif (y !== -2) {\n $ERROR('#2: y = -1; y -= 1; y === -2. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T5"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x <<= y",
+ "test": "//CHECK#1\nvar x = 1;\nx <<= 1; \nif (x !== 2) {\n $ERROR('#1: var x = 1; x <<= 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\ny = 1;\ny <<= 1;\nif (y !== 2) {\n $ERROR('#2: y = 1; y <<= 1; y === 2. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T6"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x >>= y",
+ "test": "//CHECK#1\nvar x = 4;\nx >>= 1; \nif (x !== 2) {\n $ERROR('#1: var x = 4; x >>= 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\ny = 4;\ny >>= 1;\nif (y !== 2) {\n $ERROR('#2: y = 4; y >>= 1; y === 2. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T7"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x >>>= y",
+ "test": "//CHECK#1\nvar x = 4;\nx >>>= 1; \nif (x !== 2) {\n $ERROR('#1: var x = 4; x >>>= 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\ny = 4;\ny >>>= 1;\nif (y !== 2) {\n $ERROR('#2: y = 4; y >>>= 1; y === 2. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T8"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x &= y",
+ "test": "//CHECK#1\nvar x = 1;\nx &= 1; \nif (x !== 1) {\n $ERROR('#1: var x = 1; x &= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\ny = 1;\ny &= 1;\nif (y !== 1) {\n $ERROR('#2: y = 1; y &= 1; y === 1. Actual: ' + (y));\n}\n",
+ "id": "S11.13.2_A3.1_T9"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x *= y",
+ "test": "//CHECK#1\nvar x = 1;\nvar x1 = (x *= -1);\nif (x1 !== -1) {\n $ERROR('#1: var x = 1; var x1 = (x *= -1); x1 === -1. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = 1;\ny1 = (y *= -1);\nif (y1 !== -1) {\n $ERROR('#2: y = 1; y1 = (y *= -1); y1 === -1. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T1"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x ^= y",
+ "test": "//CHECK#1\nvar x = 0;\nvar x1 = (x ^= 1);\nif (x1 !== 1) {\n $ERROR('#1: var x = 0; var x1 = (x ^= 1); x1 === 1. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = 1;\ny1 = (y ^= 0);\nif (y1 !== 1) {\n $ERROR('#2: y = 1; y1 = (y ^= 0); y1 === 1. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T10"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x |= y",
+ "test": "//CHECK#1\nvar x = 0;\nvar x1 = (x |= 1);\nif (x1 !== 1) {\n $ERROR('#1: var x = 0; var x1 = (x |= 1); x1 === 1. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = 1;\ny1 = (y |= 0);\nif (y1 !== 1) {\n $ERROR('#2: y = 1; y1 = (y |= 0); y1 === 1. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T11"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x /= y",
+ "test": "//CHECK#1\nvar x = 1;\nvar x1 = (x /= -1);\nif (x1 !== -1) {\n $ERROR('#1: var x = 1; var x1 = (x /= -1); x1 === -1. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = 1;\ny1 = (y /= -1);\nif (y1 !== -1) {\n $ERROR('#2: y = 1; y1 = (y /= -1); y1 === -1. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T2"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x %= y",
+ "test": "//CHECK#1\nvar x = -1;\nvar x1 = (x %= 2);\nif (x1 !== -1) {\n $ERROR('#1: var x = -1; var x1 = (x %= 2); x1 === -1. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = -1;\ny1 = (y %= 2);\nif (y1 !== -1) {\n $ERROR('#2: y = -1; y1 = (y %= 2); y1 === -1. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T3"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x += y",
+ "test": "//CHECK#1\nvar x = 1;\nvar x1 = (x += 1);\nif (x1 !== 2) {\n $ERROR('#1: var x = 1; var x1 = (x += 1); x1 === 2. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = 1;\ny1 = (y += 1);\nif (y1 !== 2) {\n $ERROR('#2: y = 1; y1 = (y += 1); y1 === 2. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T4"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x -= y",
+ "test": "//CHECK#1\nvar x = -1;\nvar x1 = (x -= 1);\nif (x1 !== -2) {\n $ERROR('#1: var x = -1; var x1 = (x -= 1); x1 === -2. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = -1;\ny1 = (y -= 1);\nif (y1 !== -2) {\n $ERROR('#2: y = -1; y1 = (y -= 1); y1 === -2. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T5"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x <<= y",
+ "test": "//CHECK#1\nvar x = 1;\nvar x1 = (x <<= 1);\nif (x1 !== 2) {\n $ERROR('#1: var x = 1; var x1 = (x <<= 1); x1 === 2. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = 1;\ny1 = (y <<= 1);\nif (y1 !== 2) {\n $ERROR('#2: y = 1; y1 = (y <<= 1); y1 === 2. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T6"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x >>= y",
+ "test": "//CHECK#1\nvar x = 4;\nvar x1 = (x >>= 1);\nif (x1 !== 2) {\n $ERROR('#1: var x = 4; var x1 = (x >>= 1); x1 === 2. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = 4;\ny1 = (y >>= 1);\nif (y1 !== 2) {\n $ERROR('#2: y = 4; y1 = (y >>= 1); y1 === 2. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T7"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x >>>= y",
+ "test": "//CHECK#1\nvar x = 4;\nvar x1 = (x >>>= 1);\nif (x1 !== 2) {\n $ERROR('#1: var x = 4; var x1 = (x >>>= 1); x1 === 2. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = 4;\ny1 = (y >>>= 1);\nif (y1 !== 2) {\n $ERROR('#2: y = 4; y1 = (y >>>= 1); y1 === 2. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T8"
+ },
+ {
+ "section": "11.13.2",
+ "description": "Checking Expression and Variable statements for x &= y",
+ "test": "//CHECK#1\nvar x = 1;\nvar x1 = (x &= 1);\nif (x1 !== 1) {\n $ERROR('#1: var x = 1; var x1 = (x &= 1); x1 === 1. Actual: ' + (x1));\n}\n\n//CHECK#2\ny = 1;\ny1 = (y &= 1);\nif (y1 !== 1) {\n $ERROR('#2: y = 1; y1 = (y &= 1); y1 === 1. Actual: ' + (y1));\n}\n",
+ "id": "S11.13.2_A3.2_T9"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx ^= true;\nif (x !== 0) {\n $ERROR('#1: x = true; x ^= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx ^= true;\nif (x !== 0) {\n $ERROR('#2: x = new Boolean(true); x ^= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx ^= new Boolean(true);\nif (x !== 0) {\n $ERROR('#3: x = true; x ^= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx ^= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = new Boolean(true); x ^= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx ^= 1;\nif (x !== 0) {\n $ERROR('#1: x = 1; x ^= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx ^= 1;\nif (x !== 0) {\n $ERROR('#2: x = new Number(1); x ^= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx ^= new Number(1);\nif (x !== 0) {\n $ERROR('#3: x = 1; x ^= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx ^= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = new Number(1); x ^= new Number(1); x === 0. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.10_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx ^= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x ^= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx ^= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = new String(\"1\"); x ^= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx ^= new String(\"1\");\nif (x !== 0) {\n $ERROR('#3: x = \"1\"; x ^= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx ^= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = new String(\"1\"); x ^= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx ^= \"1\";\nif (x !== 1) {\n $ERROR('#5: x = \"x\"; x ^= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx ^= \"x\";\nif (x !== 1) {\n $ERROR('#6: x = \"1\"; x ^= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx ^= undefined;\nif (x !== 0) {\n $ERROR('#1: x = null; x ^= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx ^= null;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x ^= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx ^= undefined;\nif (x !== 0) {\n $ERROR('#3: x = undefined; x ^= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx ^= null;\nif (x !== 0) {\n $ERROR('#4: x = null; x ^= null; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx ^= 1;\nif (x !== 0) {\n $ERROR('#1: x = true; x ^= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx ^= true;\nif (x !== 0) {\n $ERROR('#2: x = 1; x ^= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx ^= 1;\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x ^= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx ^= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = 1; x ^= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx ^= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = true; x ^= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx ^= true;\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x ^= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx ^= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x ^= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx ^= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x ^= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx ^= 1;\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x ^= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx ^= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = 1; x ^= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx ^= 1;\nif (x !== 0) {\n $ERROR('#3: x = new String(\"1\"); x ^= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx ^= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = 1; x ^= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx ^= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = \"1\"; x ^= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx ^= \"1\";\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x ^= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx ^= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new String(\"1\"); x ^= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx ^= new String(\"1\");\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x ^= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx ^= 1;\nif (x !== 1) {\n $ERROR('#9: x = \"x\"; x ^= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx ^= \"x\";\nif (x !== 1) {\n $ERROR('#10: x = 1; x ^= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx ^= null;\nif (x !== 1) {\n $ERROR('#1: x = 1; x ^= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx ^= 1;\nif (x !== 1) {\n $ERROR('#2: x = null; x ^= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx ^= null;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x ^= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx ^= new Number(1);\nif (x !== 1) {\n $ERROR('#4: x = null; x ^= new Number(1); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx ^= undefined;\nif (x !== 1) {\n $ERROR('#1: x = 1; x ^= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx ^= 1;\nif (x !== 1) {\n $ERROR('#2: x = undefined; x ^= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx ^= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x ^= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx ^= new Number(1);\nif (x !== 1) {\n $ERROR('#4: x = undefined; x ^= new Number(1); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx ^= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = true; x ^= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx ^= true;\nif (x !== 0) {\n $ERROR('#2: x = \"1\"; x ^= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx ^= \"1\";\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x ^= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx ^= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = \"1\"; x ^= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx ^= new String(\"1\");\nif (x !== 0) {\n $ERROR('#5: x = true; x ^= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx ^= true;\nif (x !== 0) {\n $ERROR('#6: x = new String(\"1\"); x ^= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx ^= new String(\"1\");\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x ^= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx ^= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new String(\"1\"); x ^= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx ^= undefined;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x ^= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx ^= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = undefined; x ^= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx ^= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x ^= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx ^= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = undefined; x ^= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx ^= null;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x ^= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx ^= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = null; x ^= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx ^= null;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x ^= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx ^= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = null; x ^= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx ^= undefined;\nif (x !== 1) {\n $ERROR('#1: x = true; x ^= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx ^= true;\nif (x !== 1) {\n $ERROR('#2: x = undefined; x ^= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx ^= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x ^= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx ^= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = undefined; x ^= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.10.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx ^= null;\nif (x !== 1) {\n $ERROR('#1: x = true; x ^= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx ^= true;\nif (x !== 1) {\n $ERROR('#2: x = null; x ^= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx ^= null;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x ^= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx ^= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = null; x ^= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.10_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx |= true;\nif (x !== 1) {\n $ERROR('#1: x = true; x |= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx |= true;\nif (x !== 1) {\n $ERROR('#2: x = new Boolean(true); x |= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx |= new Boolean(true);\nif (x !== 1) {\n $ERROR('#3: x = true; x |= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx |= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = new Boolean(true); x |= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx |= 1;\nif (x !== 1) {\n $ERROR('#1: x = 1; x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx |= 1;\nif (x !== 1) {\n $ERROR('#2: x = new Number(1); x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx |= new Number(1);\nif (x !== 1) {\n $ERROR('#3: x = 1; x |= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx |= new Number(1);\nif (x !== 1) {\n $ERROR('#4: x = new Number(1); x |= new Number(1); x === 1. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.11_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx |= \"1\";\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x |= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx |= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = new String(\"1\"); x |= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx |= new String(\"1\");\nif (x !== 1) {\n $ERROR('#3: x = \"1\"; x |= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx |= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = new String(\"1\"); x |= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx |= \"1\";\nif (x !== 1) {\n $ERROR('#5: x = \"x\"; x |= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx |= \"x\";\nif (x !== 1) {\n $ERROR('#6: x = \"1\"; x |= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx |= undefined;\nif (x !== 0) {\n $ERROR('#1: x = null; x |= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx |= null;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x |= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx |= undefined;\nif (x !== 0) {\n $ERROR('#3: x = undefined; x |= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx |= null;\nif (x !== 0) {\n $ERROR('#4: x = null; x |= null; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx |= 1;\nif (x !== 1) {\n $ERROR('#1: x = true; x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx |= true;\nif (x !== 1) {\n $ERROR('#2: x = 1; x |= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx |= 1;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx |= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = 1; x |= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx |= new Number(1);\nif (x !== 1) {\n $ERROR('#5: x = true; x |= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx |= true;\nif (x !== 1) {\n $ERROR('#6: x = new Number(1); x |= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx |= new Number(1);\nif (x !== 1) {\n $ERROR('#7: x = new Boolean(true); x |= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx |= new Boolean(true);\nif (x !== 1) {\n $ERROR('#8: x = new Number(1); x |= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx |= 1;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx |= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = 1; x |= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx |= 1;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx |= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = 1; x |= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx |= new Number(1);\nif (x !== 1) {\n $ERROR('#5: x = \"1\"; x |= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx |= \"1\";\nif (x !== 1) {\n $ERROR('#6: x = new Number(1); x |= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx |= new Number(1);\nif (x !== 1) {\n $ERROR('#7: x = new String(\"1\"); x |= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx |= new String(\"1\");\nif (x !== 1) {\n $ERROR('#8: x = new Number(1); x |= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx |= 1;\nif (x !== 1) {\n $ERROR('#9: x = \"x\"; x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx |= \"x\";\nif (x !== 1) {\n $ERROR('#10: x = 1; x |= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx |= null;\nif (x !== 1) {\n $ERROR('#1: x = 1; x |= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx |= 1;\nif (x !== 1) {\n $ERROR('#2: x = null; x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx |= null;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x |= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx |= new Number(1);\nif (x !== 1) {\n $ERROR('#4: x = null; x |= new Number(1); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx |= undefined;\nif (x !== 1) {\n $ERROR('#1: x = 1; x |= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx |= 1;\nif (x !== 1) {\n $ERROR('#2: x = undefined; x |= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx |= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x |= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx |= new Number(1);\nif (x !== 1) {\n $ERROR('#4: x = undefined; x |= new Number(1); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx |= \"1\";\nif (x !== 1) {\n $ERROR('#1: x = true; x |= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx |= true;\nif (x !== 1) {\n $ERROR('#2: x = \"1\"; x |= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx |= \"1\";\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x |= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx |= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = \"1\"; x |= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx |= new String(\"1\");\nif (x !== 1) {\n $ERROR('#5: x = true; x |= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx |= true;\nif (x !== 1) {\n $ERROR('#6: x = new String(\"1\"); x |= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx |= new String(\"1\");\nif (x !== 1) {\n $ERROR('#7: x = new Boolean(true); x |= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx |= new Boolean(true);\nif (x !== 1) {\n $ERROR('#8: x = new String(\"1\"); x |= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx |= undefined;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x |= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx |= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = undefined; x |= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx |= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x |= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx |= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = undefined; x |= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx |= null;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x |= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx |= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = null; x |= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx |= null;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x |= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx |= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = null; x |= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx |= undefined;\nif (x !== 1) {\n $ERROR('#1: x = true; x |= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx |= true;\nif (x !== 1) {\n $ERROR('#2: x = undefined; x |= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx |= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x |= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx |= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = undefined; x |= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.10.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx |= null;\nif (x !== 1) {\n $ERROR('#1: x = true; x |= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx |= true;\nif (x !== 1) {\n $ERROR('#2: x = null; x |= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx |= null;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x |= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx |= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = null; x |= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.11_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx *= true;\nif (x !== 1) {\n $ERROR('#1: x = true; x *= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx *= true;\nif (x !== 1) {\n $ERROR('#2: x = new Boolean(true); x *= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx *= new Boolean(true);\nif (x !== 1) {\n $ERROR('#3: x = true; x *= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx *= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = new Boolean(true); x *= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx *= 1;\nif (x !== 1) {\n $ERROR('#1: x = 1; x *= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx *= 1;\nif (x !== 1) {\n $ERROR('#2: x = new Number(1); x *= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx *= new Number(1);\nif (x !== 1) {\n $ERROR('#3: x = 1; x *= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx *= new Number(1);\nif (x !== 1) {\n $ERROR('#4: x = new Number(1); x *= new Number(1); x === 1. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.1_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx *= \"1\";\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x *= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx *= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = new String(\"1\"); x *= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx *= new String(\"1\");\nif (x !== 1) {\n $ERROR('#3: x = \"1\"; x *= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx *= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = new String(\"1\"); x *= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx *= \"1\";\nif (isNaN(x) !== true) {\n $ERROR('#5: x = \"x\"; x *= \"1\"; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx *= \"x\";\nif (isNaN(x) !== true) {\n $ERROR('#6: x = \"1\"; x *= \"x\"; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx *= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = null; x *= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx *= null;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x *= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx *= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = undefined; x *= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx *= null;\nif (x !== 0) {\n $ERROR('#4: x = null; x *= null; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Number (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx *= 1;\nif (x !== 1) {\n $ERROR('#1: x = true; x *= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx *= true;\nif (x !== 1) {\n $ERROR('#2: x = 1; x *= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx *= 1;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x *= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx *= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = 1; x *= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx *= new Number(1);\nif (x !== 1) {\n $ERROR('#5: x = true; x *= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx *= true;\nif (x !== 1) {\n $ERROR('#6: x = new Number(1); x *= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx *= new Number(1);\nif (x !== 1) {\n $ERROR('#7: x = new Boolean(true); x *= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx *= new Boolean(true);\nif (x !== 1) {\n $ERROR('#8: x = new Number(1); x *= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx *= 1;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x *= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx *= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = 1; x *= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx *= 1;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x *= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx *= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = 1; x *= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx *= new Number(1);\nif (x !== 1) {\n $ERROR('#5: x = \"1\"; x *= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx *= \"1\";\nif (x !== 1) {\n $ERROR('#6: x = new Number(1); x *= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx *= new Number(1);\nif (x !== 1) {\n $ERROR('#7: x = new String(\"1\"); x *= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx *= new String(\"1\");\nif (x !== 1) {\n $ERROR('#8: x = new Number(1); x *= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx *= 1;\nif (isNaN(x) !== true) {\n $ERROR('#9: x = \"x\"; x *= 1; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx *= \"x\";\nif (isNaN(x) !== true) {\n $ERROR('#10: x = 1; x *= \"x\"; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx *= null;\nif (x !== 0) {\n $ERROR('#1: x = 1; x *= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx *= 1;\nif (x !== 0) {\n $ERROR('#2: x = null; x *= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx *= null;\nif (x !== 0) {\n $ERROR('#3: x = new Number(1); x *= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx *= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = null; x *= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx *= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = 1; x *= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx *= 1;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x *= 1; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx *= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Number(1); x *= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx *= new Number(1);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x *= new Number(1); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) amd Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx *= \"1\";\nif (x !== 1) {\n $ERROR('#1: x = true; x *= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx *= true;\nif (x !== 1) {\n $ERROR('#2: x = \"1\"; x *= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx *= \"1\";\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x *= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx *= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = \"1\"; x *= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx *= new String(\"1\");\nif (x !== 1) {\n $ERROR('#5: x = true; x *= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx *= true;\nif (x !== 1) {\n $ERROR('#6: x = new String(\"1\"); x *= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx *= new String(\"1\");\nif (x !== 1) {\n $ERROR('#7: x = new Boolean(true); x *= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx *= new Boolean(true);\nif (x !== 1) {\n $ERROR('#8: x = new String(\"1\"); x *= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) is different from Type(y) and both types vary between primitive String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx *= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = \"1\"; x *= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx *= \"1\";\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x *= \"1\"; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx *= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new String(\"1\"); x *= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx *= new String(\"1\");\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x *= new String(\"1\"); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx *= null;\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x *= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx *= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = null; x *= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx *= null;\nif (x !== 0) {\n $ERROR('#3: x = new String(\"1\"); x *= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx *= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = null; x *= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx *= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = true; x *= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx *= true;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x *= true; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx *= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Boolean(true); x *= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx *= new Boolean(true);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x *= new Boolean(true); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.5.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx *= null;\nif (x !== 0) {\n $ERROR('#1: x = true; x *= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx *= true;\nif (x !== 0) {\n $ERROR('#2: x = null; x *= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx *= null;\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x *= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx *= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = null; x *= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.1_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx /= true;\nif (x !== 1) {\n $ERROR('#1: x = true; x /= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx /= true;\nif (x !== 1) {\n $ERROR('#2: x = new Boolean(true); x /= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx /= new Boolean(true);\nif (x !== 1) {\n $ERROR('#3: x = true; x /= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx /= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = new Boolean(true); x /= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx /= 1;\nif (x !== 1) {\n $ERROR('#1: x = 1; x /= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx /= 1;\nif (x !== 1) {\n $ERROR('#2: x = new Number(1); x /= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx /= new Number(1);\nif (x !== 1) {\n $ERROR('#3: x = 1; x /= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx /= new Number(1);\nif (x !== 1) {\n $ERROR('#4: x = new Number(1); x /= new Number(1); x === 1. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.2_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx /= \"1\";\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x /= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx /= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = new String(\"1\"); x /= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx /= new String(\"1\");\nif (x !== 1) {\n $ERROR('#3: x = \"1\"; x /= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx /= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = new String(\"1\"); x /= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx /= \"1\";\nif (isNaN(x) !== true) {\n $ERROR('#5: x = \"x\"; x /= \"1\"; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx /= \"x\";\nif (isNaN(x) !== true) {\n $ERROR('#6: x = \"1\"; x /= \"x\"; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx /= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = null; x /= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx /= null;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x /= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx /= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = undefined; x /= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx /= null;\nif (isNaN(x) !== true) {\n $ERROR('#4: x = null; x /= null; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx /= 1;\nif (x !== 1) {\n $ERROR('#1: x = true; x /= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx /= true;\nif (x !== 1) {\n $ERROR('#2: x = 1; x /= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx /= 1;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x /= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx /= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = 1; x /= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx /= new Number(1);\nif (x !== 1) {\n $ERROR('#5: x = true; x /= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx /= true;\nif (x !== 1) {\n $ERROR('#6: x = new Number(1); x /= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx /= new Number(1);\nif (x !== 1) {\n $ERROR('#7: x = new Boolean(true); x /= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx /= new Boolean(true);\nif (x !== 1) {\n $ERROR('#8: x = new Number(1); x /= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx /= 1;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x /= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx /= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = 1; x /= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx /= 1;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x /= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx /= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = 1; x /= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx /= new Number(1);\nif (x !== 1) {\n $ERROR('#5: x = \"1\"; x /= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx /= \"1\";\nif (x !== 1) {\n $ERROR('#6: x = new Number(1); x /= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx /= new Number(1);\nif (x !== 1) {\n $ERROR('#7: x = new String(\"1\"); x /= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx /= new String(\"1\");\nif (x !== 1) {\n $ERROR('#8: x = new Number(1); x /= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx /= 1;\nif (isNaN(x) !== true) {\n $ERROR('#9: x = \"x\"; x /= 1; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx /= \"x\";\nif (isNaN(x) !== true) {\n $ERROR('#10: x = 1; x /= \"x\"; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx /= null;\nif (x !== Number.POSITIVE_INFINITY) {\n $ERROR('#1: x = 1; x /= null; x === +Infinity. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx /= 1;\nif (x !== 0) {\n $ERROR('#2: x = null; x /= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx /= null;\nif (x !== Number.POSITIVE_INFINITY) {\n $ERROR('#3: x = new Number(1); x /= null; x === +Infinity. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx /= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = null; x /= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx /= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = 1; x /= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx /= 1;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x /= 1; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx /= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Number(1); x /= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx /= new Number(1);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x /= new Number(1); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx /= \"1\";\nif (x !== 1) {\n $ERROR('#1: x = true; x /= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx /= true;\nif (x !== 1) {\n $ERROR('#2: x = \"1\"; x /= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx /= \"1\";\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x /= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx /= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = \"1\"; x /= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx /= new String(\"1\");\nif (x !== 1) {\n $ERROR('#5: x = true; x /= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx /= true;\nif (x !== 1) {\n $ERROR('#6: x = new String(\"1\"); x /= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx /= new String(\"1\");\nif (x !== 1) {\n $ERROR('#7: x = new Boolean(true); x /= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx /= new Boolean(true);\nif (x !== 1) {\n $ERROR('#8: x = new String(\"1\"); x /= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx /= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = \"1\"; x /= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx /= \"1\";\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x /= \"1\"; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx /= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new String(\"1\"); x /= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx /= new String(\"1\");\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x /= new String(\"1\"); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx /= null;\nif (x !== Number.POSITIVE_INFINITY) {\n $ERROR('#1: x = \"1\"; x /= null; x === +Infinity. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx /= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = null; x /= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx /= null;\nif (x !== Number.POSITIVE_INFINITY) {\n $ERROR('#3: x = new String(\"1\"); x /= null; x === +Infinity. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx /= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = null; x /= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx /= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = true; x /= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx /= true;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x /= true; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx /= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Boolean(true); x /= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx /= new Boolean(true);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x /= new Boolean(true); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.5.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx /= null;\nif (x !== Number.POSITIVE_INFINITY) {\n $ERROR('#1: x = true; x /= null; x === +Infinity. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx /= true;\nif (x !== 0) {\n $ERROR('#2: x = null; x /= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx /= null;\nif (x !== Number.POSITIVE_INFINITY) {\n $ERROR('#3: x = new Boolean(true); x /= null; x === +Infinity. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx /= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = null; x /= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.2_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx %= true;\nif (x !== 0) {\n $ERROR('#1: x = true; x %= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx %= true;\nif (x !== 0) {\n $ERROR('#2: x = new Boolean(true); x %= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx %= new Boolean(true);\nif (x !== 0) {\n $ERROR('#3: x = true; x %= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx %= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = new Boolean(true); x %= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx %= 1;\nif (x !== 0) {\n $ERROR('#1: x = 1; x %= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx %= 1;\nif (x !== 0) {\n $ERROR('#2: x = new Number(1); x %= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx %= new Number(1);\nif (x !== 0) {\n $ERROR('#3: x = 1; x %= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx %= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = new Number(1); x %= new Number(1); x === 0. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.3_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx %= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x %= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx %= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = new String(\"1\"); x %= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx %= new String(\"1\");\nif (x !== 0) {\n $ERROR('#3: x = \"1\"; x %= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx %= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = new String(\"1\"); x %= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx %= \"1\";\nif (isNaN(x) !== true) {\n $ERROR('#5: x = \"x\"; x %= \"1\"; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx %= \"x\";\nif (isNaN(x) !== true) {\n $ERROR('#6: x = \"1\"; x %= \"x\"; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx %= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = null; x %= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx %= null;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x %= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx %= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = undefined; x %= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx %= null;\nif (isNaN(x) !== true) {\n $ERROR('#4: x = null; x %= null; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx %= 1;\nif (x !== 0) {\n $ERROR('#1: x = true; x %= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx %= true;\nif (x !== 0) {\n $ERROR('#2: x = 1; x %= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx %= 1;\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x %= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx %= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = 1; x %= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx %= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = true; x %= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx %= true;\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x %= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx %= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x %= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx %= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x %= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx %= 1;\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x %= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx %= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = 1; x %= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx %= 1;\nif (x !== 0) {\n $ERROR('#3: x = new String(\"1\"); x %= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx %= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = 1; x %= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx %= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = \"1\"; x %= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx %= \"1\";\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x %= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx %= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new String(\"1\"); x %= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx %= new String(\"1\");\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x %= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx %= 1;\nif (isNaN(x) !== true) {\n $ERROR('#9: x = \"x\"; x %= 1; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx %= \"x\";\nif (isNaN(x) !== true) {\n $ERROR('#10: x = 1; x %= \"x\"; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx %= null;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = 1; x %= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx %= 1;\nif (x !== 0) {\n $ERROR('#2: x = null; x %= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx %= null;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Number(1); x %= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx %= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = null; x %= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx %= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = 1; x %= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx %= 1;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x %= 1; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx %= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Number(1); x %= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx %= new Number(1);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x %= new Number(1); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx %= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = true; x %= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx %= true;\nif (x !== 0) {\n $ERROR('#2: x = \"1\"; x %= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx %= \"1\";\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x %= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx %= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = \"1\"; x %= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx %= new String(\"1\");\nif (x !== 0) {\n $ERROR('#5: x = true; x %= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx %= true;\nif (x !== 0) {\n $ERROR('#6: x = new String(\"1\"); x %= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx %= new String(\"1\");\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x %= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx %= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new String(\"1\"); x %= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx %= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = \"1\"; x %= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx %= \"1\";\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x %= \"1\"; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx %= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new String(\"1\"); x %= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx %= new String(\"1\");\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x %= new String(\"1\"); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx %= null;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = \"1\"; x %= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx %= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = null; x %= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx %= null;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new String(\"1\"); x %= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx %= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = null; x %= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx %= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = true; x %= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx %= true;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x %= true; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx %= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Boolean(true); x %= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx %= new Boolean(true);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x %= new Boolean(true); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.5.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx %= null;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = true; x %= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx %= true;\nif (x !== 0) {\n $ERROR('#2: x = null; x %= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx %= null;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Boolean(true); x %= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx %= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = null; x %= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.3_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx += true;\nif (x !== 2) {\n $ERROR('#1: x = true; x += true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx += true;\nif (x !== 2) {\n $ERROR('#2: x = new Boolean(true); x += true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx += new Boolean(true);\nif (x !== 2) {\n $ERROR('#3: x = true; x += new Boolean(true); x === 2. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx += new Boolean(true);\nif (x !== 2) {\n $ERROR('#4: x = new Boolean(true); x += new Boolean(true); x === 2. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx += 1;\nif (x !== 2) {\n $ERROR('#1: x = 1; x += 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx += 1;\nif (x !== 2) {\n $ERROR('#2: x = new Number(1); x += 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx += new Number(1);\nif (x !== 2) {\n $ERROR('#3: x = 1; x += new Number(1); x === 2. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx += new Number(1);\nif (x !== 2) {\n $ERROR('#4: x = new Number(1); x += new Number(1); x === 2. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.4_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx += undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = null; x += undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx += null;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x += null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx += undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = undefined; x += undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx += null;\nif (x !== 0) {\n $ERROR('#4: x = null; x += null; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx += \"1\";\nif (x !== \"11\") {\n $ERROR('#1: x = \"1\"; x += \"1\"; x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx += \"1\";\nif (x !== \"11\") {\n $ERROR('#2: x = new String(\"1\"); x += \"1\"; x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx += new String(\"1\");\nif (x !== \"11\") {\n $ERROR('#3: x = \"1\"; x += new String(\"1\"); x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx += new String(\"1\");\nif (x !== \"11\") {\n $ERROR('#4: x = new String(\"1\"); x += new String(\"1\"); x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#5\nif (\"x\" + \"1\" !==\"x1\") {\n $ERROR('#5: x = \"x\"; x += \"1\"; x === \"x1\". Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx += \"x\";\nif (x !== \"1x\") {\n $ERROR('#6: x = \"1\"; x += \"x\"; x === \"1x\". Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx += 1;\nif (x !== 2) {\n $ERROR('#1: x = true; x += 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx += true;\nif (x !== 2) {\n $ERROR('#2: x = 1; x += true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx += 1;\nif (x !== 2) {\n $ERROR('#3: x = new Boolean(true); x += 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx += new Boolean(true);\nif (x !== 2) {\n $ERROR('#4: x = 1; x += new Boolean(true); x === 2. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx += new Number(1);\nif (x !== 2) {\n $ERROR('#5: x = true; x += new Number(1); x === 2. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx += true;\nif (x !== 2) {\n $ERROR('#6: x = new Number(1); x += true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx += new Number(1);\nif (x !== 2) {\n $ERROR('#7: x = new Boolean(true); x += new Number(1); x === 2. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx += new Boolean(true);\nif (x !== 2) {\n $ERROR('#8: x = new Number(1); x += new Boolean(true); x === 2. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx += null;\nif (x !== 1) {\n $ERROR('#1: x = 1; x += null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx += 1;\nif (x !== 1) {\n $ERROR('#2: x = null; x += 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx += null;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x += null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx += new Number(1);\nif (x !== 1) {\n $ERROR('#4: x = null; x += new Number(1); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx += undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = 1; x += undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx += 1;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x += 1; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx += undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Number(1); x += undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx += new Number(1);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x += new Number(1); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx += undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = true; x += undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx += true;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x += true; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx += undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Boolean(true); x += undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx += new Boolean(true);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x += new Boolean(true); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx += null;\nif (x !== 1) {\n $ERROR('#1: x = true; x += null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx += true;\nif (x !== 1) {\n $ERROR('#2: x = null; x += true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx += null;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x += null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx += new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = null; x += new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx += 1;\nif (x !== \"11\") {\n $ERROR('#1: x = \"1\"; x += 1; x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx += \"1\";\nif (x !== \"11\") {\n $ERROR('#2: x = 1; x += \"1\"; x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx += 1;\nif (x !== \"11\") {\n $ERROR('#3: x = new String(\"1\"); x += 1; x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx += new String(\"1\");\nif (x !== \"11\") {\n $ERROR('#4: x = 1; x += new String(\"1\"); x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx += new Number(1);\nif (x !== \"11\") {\n $ERROR('#5: x = \"1\"; x += new Number(1); x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx += \"1\";\nif (x !== \"11\") {\n $ERROR('#6: x = new Number(1); x += \"1\"; x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx += new Number(1);\nif (x !== \"11\") {\n $ERROR('#7: x = new String(\"1\"); x += new Number(1); x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx += new String(\"1\");\nif (x !== \"11\") {\n $ERROR('#8: x = new Number(1); x += new String(\"1\"); x === \"11\". Actual: ' + (x));\n}\n\n//CHECK#9\nif (\"x\" + 1 !==\"x1\") {\n $ERROR('#9: x = \"x\"; x += 1; x === \"x1\". Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx += \"x\";\nif (x !== \"1x\") {\n $ERROR('#10: x = 1; x += \"x\"; x === \"1x\". Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx += \"1\";\nif (x !== \"true1\") {\n $ERROR('#1: x = true; x += \"1\"; x === \"true1\". Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx += true;\nif (x !== \"1true\") {\n $ERROR('#2: x = \"1\"; x += true; x === \"1true\". Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx += \"1\";\nif (x !== \"true1\") {\n $ERROR('#3: x = new Boolean(true); x += \"1\"; x === \"true1\". Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx += new Boolean(true);\nif (x !== \"1true\") {\n $ERROR('#4: x = \"1\"; x += new Boolean(true); x === \"1true\". Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx += new String(\"1\");\nif (x !== \"true1\") {\n $ERROR('#5: x = true; x += new String(\"1\"); x === \"true1\". Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx += true;\nif (x !== \"1true\") {\n $ERROR('#6: x = new String(\"1\"); x += true; x === \"1true\". Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx += new String(\"1\");\nif (x !== \"true1\") {\n $ERROR('#7: x = new Boolean(true); x += new String(\"1\"); x === \"true1\". Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx += new Boolean(true);\nif (x !== \"1true\") {\n $ERROR('#8: x = new String(\"1\"); x += new Boolean(true); x === \"1true\". Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx += undefined;\nif (x !== \"1undefined\") {\n $ERROR('#1: x = \"1\"; x += undefined; x === \"1undefined\". Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx += \"1\";\nif (x !== \"undefined1\") {\n $ERROR('#2: x = undefined; x += \"1\"; x === \"undefined1\". Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx += undefined;\nif (x !== \"1undefined\") {\n $ERROR('#3: x = new String(\"1\"); x += undefined; x === \"1undefined\". Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx += new String(\"1\");\nif (x !== \"undefined1\") {\n $ERROR('#4: x = undefined; x += new String(\"1\"); x === \"undefined1\". Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.6.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx += null;\nif (x !== \"1null\") {\n $ERROR('#1: x = \"1\"; x += null; x === \"1null\". Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx += \"1\";\nif (x !== \"null1\") {\n $ERROR('#2: x = null; x += \"1\"; x === \"null1\". Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx += null;\nif (x !== \"1null\") {\n $ERROR('#3: x = new String(\"1\"); x += null; x === \"1null\". Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx += new String(\"1\");\nif (x !== \"null1\") {\n $ERROR('#4: x = null; x += new String(\"1\"); x === \"null1\". Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.4_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx -= true;\nif (x !== 0) {\n $ERROR('#1: x = true; x -= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx -= true;\nif (x !== 0) {\n $ERROR('#2: x = new Boolean(true); x -= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx -= new Boolean(true);\nif (x !== 0) {\n $ERROR('#3: x = true; x -= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx -= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = new Boolean(true); x -= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx -= 1;\nif (x !== 0) {\n $ERROR('#1: x = 1; x -= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx -= 1;\nif (x !== 0) {\n $ERROR('#2: x = new Number(1); x -= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx -= new Number(1);\nif (x !== 0) {\n $ERROR('#3: x = 1; x -= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx -= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = new Number(1); x -= new Number(1); x === 0. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.5_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx -= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x -= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx -= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = new String(\"1\"); x -= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx -= new String(\"1\");\nif (x !== 0) {\n $ERROR('#3: x = \"1\"; x -= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx -= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = new String(\"1\"); x -= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx -= \"1\";\nif (isNaN(x) !== true) {\n $ERROR('#5: x = \"x\"; x -= \"1\"; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx -= \"x\";\nif (isNaN(x) !== true) {\n $ERROR('#6: x = \"1\"; x -= \"x\"; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx -= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = null; x -= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx -= null;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x -= null; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx -= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = undefined; x -= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx -= null;\nif (x !== 0) {\n $ERROR('#4: x = null; x -= null; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx -= 1;\nif (x !== 0) {\n $ERROR('#1: x = true; x -= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx -= true;\nif (x !== 0) {\n $ERROR('#2: x = 1; x -= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx -= 1;\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x -= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx -= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = 1; x -= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx -= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = true; x -= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx -= true;\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x -= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx -= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x -= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx -= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x -= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx -= 1;\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x -= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx -= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = 1; x -= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx -= 1;\nif (x !== 0) {\n $ERROR('#3: x = new String(\"1\"); x -= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx -= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = 1; x -= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx -= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = \"1\"; x -= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx -= \"1\";\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x -= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx -= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new String(\"1\"); x -= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx -= new String(\"1\");\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x -= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx -= 1;\nif (isNaN(x) !== true) {\n $ERROR('#9: x = \"x\"; x -= 1; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx -= \"x\";\nif (isNaN(x) !== true) {\n $ERROR('#10: x = 1; x -= \"x\"; x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx -= null;\nif (x !== 1) {\n $ERROR('#1: x = 1; x -= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx -= 1;\nif (x !== -1) {\n $ERROR('#2: x = null; x -= 1; x === -1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx -= null;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x -= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx -= new Number(1);\nif (x !== -1) {\n $ERROR('#4: x = null; x -= new Number(1); x === -1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx -= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = 1; x -= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx -= 1;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x -= 1; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx -= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Number(1); x -= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx -= new Number(1);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x -= new Number(1); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx -= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = true; x -= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx -= true;\nif (x !== 0) {\n $ERROR('#2: x = \"1\"; x -= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx -= \"1\";\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x -= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx -= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = \"1\"; x -= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx -= new String(\"1\");\nif (x !== 0) {\n $ERROR('#5: x = true; x -= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx -= true;\nif (x !== 0) {\n $ERROR('#6: x = new String(\"1\"); x -= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx -= new String(\"1\");\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x -= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx -= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new String(\"1\"); x -= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx -= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = \"1\"; x -= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx -= \"1\";\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x -= \"1\"; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx -= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new String(\"1\"); x -= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx -= new String(\"1\");\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x -= new String(\"1\"); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx -= null;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x -= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx -= \"1\";\nif (x !== -1) {\n $ERROR('#2: x = null; x -= \"1\"; x === -1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx -= null;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x -= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx -= new String(\"1\");\nif (x !== -1) {\n $ERROR('#4: x = null; x -= new String(\"1\"); x === -1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx -= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#1: x = true; x -= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx -= true;\nif (isNaN(x) !== true) {\n $ERROR('#2: x = undefined; x -= true; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx -= undefined;\nif (isNaN(x) !== true) {\n $ERROR('#3: x = new Boolean(true); x -= undefined; x === Not-a-Number. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx -= new Boolean(true);\nif (isNaN(x) !== true) {\n $ERROR('#4: x = undefined; x -= new Boolean(true); x === Not-a-Number. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.6.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx -= null;\nif (x !== 1) {\n $ERROR('#1: x = true; x -= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx -= true;\nif (x !== -1) {\n $ERROR('#2: x = null; x -= true; x === -1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx -= null;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x -= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx -= new Boolean(true);\nif (x !== -1) {\n $ERROR('#4: x = null; x -= new Boolean(true); x === -1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.5_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx <<= true;\nif (x !== 2) {\n $ERROR('#1: x = true; x <<= true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx <<= true;\nif (x !== 2) {\n $ERROR('#2: x = new Boolean(true); x <<= true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx <<= new Boolean(true);\nif (x !== 2) {\n $ERROR('#3: x = true; x <<= new Boolean(true); x === 2. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx <<= new Boolean(true);\nif (x !== 2) {\n $ERROR('#4: x = new Boolean(true); x <<= new Boolean(true); x === 2. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx <<= 1;\nif (x !== 2) {\n $ERROR('#1: x = 1; x <<= 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx <<= 1;\nif (x !== 2) {\n $ERROR('#2: x = new Number(1); x <<= 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx <<= new Number(1);\nif (x !== 2) {\n $ERROR('#3: x = 1; x <<= new Number(1); x === 2. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx <<= new Number(1);\nif (x !== 2) {\n $ERROR('#4: x = new Number(1); x <<= new Number(1); x === 2. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.6_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx <<= \"1\";\nif (x !== 2) {\n $ERROR('#1: x = \"1\"; x <<= \"1\"; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx <<= \"1\";\nif (x !== 2) {\n $ERROR('#2: x = new String(\"1\"); x <<= \"1\"; x === 2. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx <<= new String(\"1\");\nif (x !== 2) {\n $ERROR('#3: x = \"1\"; x <<= new String(\"1\"); x === 2. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx <<= new String(\"1\");\nif (x !== 2) {\n $ERROR('#4: x = new String(\"1\"); x <<= new String(\"1\"); x === 2. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx <<= \"1\";\nif (x !== 0) {\n $ERROR('#5: x = \"x\"; x <<= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx <<= \"x\";\nif (x !== 1) {\n $ERROR('#6: x = \"1\"; x <<= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx <<= undefined;\nif (x !== 0) {\n $ERROR('#1: x = null; x <<= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx <<= null;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x <<= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx <<= undefined;\nif (x !== 0) {\n $ERROR('#3: x = undefined; x <<= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx <<= null;\nif (x !== 0) {\n $ERROR('#4: x = null; x <<= null; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx <<= 1;\nif (x !== 2) {\n $ERROR('#1: x = true; x <<= 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx <<= true;\nif (x !== 2) {\n $ERROR('#2: x = 1; x <<= true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx <<= 1;\nif (x !== 2) {\n $ERROR('#3: x = new Boolean(true); x <<= 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx <<= new Boolean(true);\nif (x !== 2) {\n $ERROR('#4: x = 1; x <<= new Boolean(true); x === 2. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx <<= new Number(1);\nif (x !== 2) {\n $ERROR('#5: x = true; x <<= new Number(1); x === 2. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx <<= true;\nif (x !== 2) {\n $ERROR('#6: x = new Number(1); x <<= true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx <<= new Number(1);\nif (x !== 2) {\n $ERROR('#7: x = new Boolean(true); x <<= new Number(1); x === 2. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx <<= new Boolean(true);\nif (x !== 2) {\n $ERROR('#8: x = new Number(1); x <<= new Boolean(true); x === 2. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx <<= 1;\nif (x !== 2) {\n $ERROR('#1: x = \"1\"; x <<= 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx <<= \"1\";\nif (x !== 2) {\n $ERROR('#2: x = 1; x <<= \"1\"; x === 2. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx <<= 1;\nif (x !== 2) {\n $ERROR('#3: x = new String(\"1\"); x <<= 1; x === 2. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx <<= new String(\"1\");\nif (x !== 2) {\n $ERROR('#4: x = 1; x <<= new String(\"1\"); x === 2. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx <<= new Number(1);\nif (x !== 2) {\n $ERROR('#5: x = \"1\"; x <<= new Number(1); x === 2. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx <<= \"1\";\nif (x !== 2) {\n $ERROR('#6: x = new Number(1); x <<= \"1\"; x === 2. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx <<= new Number(1);\nif (x !== 2) {\n $ERROR('#7: x = new String(\"1\"); x <<= new Number(1); x === 2. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx <<= new String(\"1\");\nif (x !== 2) {\n $ERROR('#8: x = new Number(1); x <<= new String(\"1\"); x === 2. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx <<= 1;\nif (x !== 0) {\n $ERROR('#9: x = \"x\"; x <<= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx <<= \"x\";\nif (x !== 1) {\n $ERROR('#10: x = 1; x <<= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx <<= null;\nif (x !== 1) {\n $ERROR('#1: x = 1; x <<= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx <<= 1;\nif (x !== 0) {\n $ERROR('#2: x = null; x <<= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx <<= null;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x <<= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx <<= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = null; x <<= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx <<= undefined;\nif (x !== 1) {\n $ERROR('#1: x = 1; x <<= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx <<= 1;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x <<= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx <<= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x <<= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx <<= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = undefined; x <<= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx <<= \"1\";\nif (x !== 2) {\n $ERROR('#1: x = true; x <<= \"1\"; x === 2. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx <<= true;\nif (x !== 2) {\n $ERROR('#2: x = \"1\"; x <<= true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx <<= \"1\";\nif (x !== 2) {\n $ERROR('#3: x = new Boolean(true); x <<= \"1\"; x === 2. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx <<= new Boolean(true);\nif (x !== 2) {\n $ERROR('#4: x = \"1\"; x <<= new Boolean(true); x === 2. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx <<= new String(\"1\");\nif (x !== 2) {\n $ERROR('#5: x = true; x <<= new String(\"1\"); x === 2. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx <<= true;\nif (x !== 2) {\n $ERROR('#6: x = new String(\"1\"); x <<= true; x === 2. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx <<= new String(\"1\");\nif (x !== 2) {\n $ERROR('#7: x = new Boolean(true); x <<= new String(\"1\"); x === 2. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx <<= new Boolean(true);\nif (x !== 2) {\n $ERROR('#8: x = new String(\"1\"); x <<= new Boolean(true); x === 2. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx <<= undefined;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x <<= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx <<= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = undefined; x <<= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx <<= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x <<= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx <<= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = undefined; x <<= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx <<= null;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x <<= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx <<= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = null; x <<= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx <<= null;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x <<= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx <<= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = null; x <<= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx <<= undefined;\nif (x !== 1) {\n $ERROR('#1: x = true; x <<= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx <<= true;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x <<= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx <<= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x <<= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx <<= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = undefined; x <<= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.7.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx <<= null;\nif (x !== 1) {\n $ERROR('#1: x = true; x <<= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx <<= true;\nif (x !== 0) {\n $ERROR('#2: x = null; x <<= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx <<= null;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x <<= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx <<= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = null; x <<= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.6_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx >>= true;\nif (x !== 0) {\n $ERROR('#1: x = true; x >>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx >>= true;\nif (x !== 0) {\n $ERROR('#2: x = new Boolean(true); x >>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx >>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#3: x = true; x >>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx >>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = new Boolean(true); x >>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx >>= 1;\nif (x !== 0) {\n $ERROR('#1: x = 1; x >>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx >>= 1;\nif (x !== 0) {\n $ERROR('#2: x = new Number(1); x >>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx >>= new Number(1);\nif (x !== 0) {\n $ERROR('#3: x = 1; x >>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx >>= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = new Number(1); x >>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.7_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx >>= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x >>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx >>= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = new String(\"1\"); x >>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx >>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#3: x = \"1\"; x >>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx >>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = new String(\"1\"); x >>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx >>= \"1\";\nif (x !== 0) {\n $ERROR('#5: x = \"x\"; x >>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx >>= \"x\";\nif (x !== 1) {\n $ERROR('#6: x = \"1\"; x >>= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx >>= undefined;\nif (x !== 0) {\n $ERROR('#1: x = null; x >>= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx >>= null;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x >>= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx >>= undefined;\nif (x !== 0) {\n $ERROR('#3: x = undefined; x >>= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx >>= null;\nif (x !== 0) {\n $ERROR('#4: x = null; x >>= null; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx >>= 1;\nif (x !== 0) {\n $ERROR('#1: x = true; x >>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx >>= true;\nif (x !== 0) {\n $ERROR('#2: x = 1; x >>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx >>= 1;\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x >>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx >>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = 1; x >>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx >>= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = true; x >>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx >>= true;\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x >>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx >>= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x >>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx >>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x >>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx >>= 1;\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x >>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx >>= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = 1; x >>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx >>= 1;\nif (x !== 0) {\n $ERROR('#3: x = new String(\"1\"); x >>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx >>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = 1; x >>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx >>= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = \"1\"; x >>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx >>= \"1\";\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x >>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx >>= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new String(\"1\"); x >>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx >>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x >>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx >>= 1;\nif (x !== 0) {\n $ERROR('#9: x = \"x\"; x >>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx >>= \"x\";\nif (x !== 1) {\n $ERROR('#10: x = 1; x >>= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx >>= null;\nif (x !== 1) {\n $ERROR('#1: x = 1; x >>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx >>= 1;\nif (x !== 0) {\n $ERROR('#2: x = null; x >>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx >>= null;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x >>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx >>= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = null; x >>= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx >>= undefined;\nif (x !== 1) {\n $ERROR('#1: x = 1; x >>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx >>= 1;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x >>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx >>= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x >>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx >>= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = undefined; x >>= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx >>= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = true; x >>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx >>= true;\nif (x !== 0) {\n $ERROR('#2: x = \"1\"; x >>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx >>= \"1\";\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x >>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx >>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = \"1\"; x >>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx >>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#5: x = true; x >>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx >>= true;\nif (x !== 0) {\n $ERROR('#6: x = new String(\"1\"); x >>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx >>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x >>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx >>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new String(\"1\"); x >>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx >>= undefined;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x >>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx >>= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = undefined; x >>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx >>= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x >>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx >>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = undefined; x >>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx >>= null;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x >>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx >>= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = null; x >>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx >>= null;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x >>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx >>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = null; x >>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx >>= undefined;\nif (x !== 1) {\n $ERROR('#1: x = true; x >>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx >>= true;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x >>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx >>= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x >>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx >>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = undefined; x >>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.7.2",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx >>= null;\nif (x !== 1) {\n $ERROR('#1: x = true; x >>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx >>= true;\nif (x !== 0) {\n $ERROR('#2: x = null; x >>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx >>= null;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x >>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx >>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = null; x >>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.7_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx >>>= true;\nif (x !== 0) {\n $ERROR('#1: x = true; x >>>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx >>>= true;\nif (x !== 0) {\n $ERROR('#2: x = new Boolean(true); x >>>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx >>>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#3: x = true; x >>>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx >>>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = new Boolean(true); x >>>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx >>>= 1;\nif (x !== 0) {\n $ERROR('#1: x = 1; x >>>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx >>>= 1;\nif (x !== 0) {\n $ERROR('#2: x = new Number(1); x >>>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx >>>= new Number(1);\nif (x !== 0) {\n $ERROR('#3: x = 1; x >>>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx >>>= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = new Number(1); x >>>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.8_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx >>>= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x >>>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx >>>= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = new String(\"1\"); x >>>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx >>>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#3: x = \"1\"; x >>>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx >>>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = new String(\"1\"); x >>>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx >>>= \"1\";\nif (x !== 0) {\n $ERROR('#5: x = \"x\"; x >>>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx >>>= \"x\";\nif (x !== 1) {\n $ERROR('#6: x = \"1\"; x >>>= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx >>>= undefined;\nif (x !== 0) {\n $ERROR('#1: x = null; x >>>= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx >>>= null;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x >>>= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx >>>= undefined;\nif (x !== 0) {\n $ERROR('#3: x = undefined; x >>>= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx >>>= null;\nif (x !== 0) {\n $ERROR('#4: x = null; x >>>= null; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx >>>= 1;\nif (x !== 0) {\n $ERROR('#1: x = true; x >>>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx >>>= true;\nif (x !== 0) {\n $ERROR('#2: x = 1; x >>>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx >>>= 1;\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x >>>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx >>>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = 1; x >>>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx >>>= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = true; x >>>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx >>>= true;\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x >>>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx >>>= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x >>>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx >>>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x >>>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx >>>= 1;\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x >>>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx >>>= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = 1; x >>>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx >>>= 1;\nif (x !== 0) {\n $ERROR('#3: x = new String(\"1\"); x >>>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx >>>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = 1; x >>>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx >>>= new Number(1);\nif (x !== 0) {\n $ERROR('#5: x = \"1\"; x >>>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx >>>= \"1\";\nif (x !== 0) {\n $ERROR('#6: x = new Number(1); x >>>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx >>>= new Number(1);\nif (x !== 0) {\n $ERROR('#7: x = new String(\"1\"); x >>>= new Number(1); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx >>>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#8: x = new Number(1); x >>>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx >>>= 1;\nif (x !== 0) {\n $ERROR('#9: x = \"x\"; x >>>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx >>>= \"x\";\nif (x !== 1) {\n $ERROR('#10: x = 1; x >>>= \"x\"; x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx >>>= null;\nif (x !== 1) {\n $ERROR('#1: x = 1; x >>>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx >>>= 1;\nif (x !== 0) {\n $ERROR('#2: x = null; x >>>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx >>>= null;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x >>>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx >>>= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = null; x >>>= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx >>>= undefined;\nif (x !== 1) {\n $ERROR('#1: x = 1; x >>>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx >>>= 1;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x >>>= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx >>>= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Number(1); x >>>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx >>>= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = undefined; x >>>= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx >>>= \"1\";\nif (x !== 0) {\n $ERROR('#1: x = true; x >>>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx >>>= true;\nif (x !== 0) {\n $ERROR('#2: x = \"1\"; x >>>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx >>>= \"1\";\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x >>>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx >>>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = \"1\"; x >>>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx >>>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#5: x = true; x >>>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx >>>= true;\nif (x !== 0) {\n $ERROR('#6: x = new String(\"1\"); x >>>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx >>>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#7: x = new Boolean(true); x >>>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx >>>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#8: x = new String(\"1\"); x >>>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx >>>= undefined;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x >>>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx >>>= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = undefined; x >>>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx >>>= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x >>>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx >>>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = undefined; x >>>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx >>>= null;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x >>>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx >>>= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = null; x >>>= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx >>>= null;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x >>>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx >>>= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = null; x >>>= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx >>>= undefined;\nif (x !== 1) {\n $ERROR('#1: x = true; x >>>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx >>>= true;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x >>>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx >>>= undefined;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x >>>= undefined; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx >>>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = undefined; x >>>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.7.3",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx >>>= null;\nif (x !== 1) {\n $ERROR('#1: x = true; x >>>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx >>>= true;\nif (x !== 0) {\n $ERROR('#2: x = null; x >>>= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx >>>= null;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x >>>= null; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx >>>= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = null; x >>>= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.8_T2.9"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) and Type(y) vary between primitive boolean and Boolean object",
+ "test": "//CHECK#1\nx = true;\nx &= true;\nif (x !== 1) {\n $ERROR('#1: x = true; x &= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Boolean(true);\nx &= true;\nif (x !== 1) {\n $ERROR('#2: x = new Boolean(true); x &= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = true;\nx &= new Boolean(true);\nif (x !== 1) {\n $ERROR('#3: x = true; x &= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Boolean(true);\nx &= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = new Boolean(true); x &= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T1.1"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) and Type(y) vary between primitive number and Number object",
+ "test": "//CHECK#1\nx = 1;\nx &= 1;\nif (x !== 1) {\n $ERROR('#1: x = 1; x &= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new Number(1);\nx &= 1;\nif (x !== 1) {\n $ERROR('#2: x = new Number(1); x &= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = 1;\nx &= new Number(1);\nif (x !== 1) {\n $ERROR('#3: x = 1; x &= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new Number(1);\nx &= new Number(1);\nif (x !== 1) {\n $ERROR('#4: x = new Number(1); x &= new Number(1); x === 1. Actual: ' + (x));\n}\n\n",
+ "id": "S11.13.2_A4.9_T1.2"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) and Type(y) vary between primitive string and String object",
+ "test": "//CHECK#1\nx = \"1\";\nx &= \"1\";\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x &= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = new String(\"1\");\nx &= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = new String(\"1\"); x &= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = \"1\";\nx &= new String(\"1\");\nif (x !== 1) {\n $ERROR('#3: x = \"1\"; x &= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = new String(\"1\");\nx &= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = new String(\"1\"); x &= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"x\";\nx &= \"1\";\nif (x !== 0) {\n $ERROR('#5: x = \"x\"; x &= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#6\nx = \"1\";\nx &= \"x\";\nif (x !== 0) {\n $ERROR('#6: x = \"1\"; x &= \"x\"; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T1.3"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) and Type(y) vary between Null and Undefined",
+ "test": "//CHECK#1\nx = null;\nx &= undefined;\nif (x !== 0) {\n $ERROR('#1: x = null; x &= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx &= null;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x &= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = undefined;\nx &= undefined;\nif (x !== 0) {\n $ERROR('#3: x = undefined; x &= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx &= null;\nif (x !== 0) {\n $ERROR('#4: x = null; x &= null; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T1.4"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx &= 1;\nif (x !== 1) {\n $ERROR('#1: x = true; x &= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx &= true;\nif (x !== 1) {\n $ERROR('#2: x = 1; x &= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx &= 1;\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x &= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx &= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = 1; x &= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx &= new Number(1);\nif (x !== 1) {\n $ERROR('#5: x = true; x &= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx &= true;\nif (x !== 1) {\n $ERROR('#6: x = new Number(1); x &= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx &= new Number(1);\nif (x !== 1) {\n $ERROR('#7: x = new Boolean(true); x &= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx &= new Boolean(true);\nif (x !== 1) {\n $ERROR('#8: x = new Number(1); x &= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T2.1"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and String (primitive and object)",
+ "test": "//CHECK#1\nx = \"1\";\nx &= 1;\nif (x !== 1) {\n $ERROR('#1: x = \"1\"; x &= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = 1;\nx &= \"1\";\nif (x !== 1) {\n $ERROR('#2: x = 1; x &= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx &= 1;\nif (x !== 1) {\n $ERROR('#3: x = new String(\"1\"); x &= 1; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = 1;\nx &= new String(\"1\");\nif (x !== 1) {\n $ERROR('#4: x = 1; x &= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = \"1\";\nx &= new Number(1);\nif (x !== 1) {\n $ERROR('#5: x = \"1\"; x &= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new Number(1);\nx &= \"1\";\nif (x !== 1) {\n $ERROR('#6: x = new Number(1); x &= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new String(\"1\");\nx &= new Number(1);\nif (x !== 1) {\n $ERROR('#7: x = new String(\"1\"); x &= new Number(1); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new Number(1);\nx &= new String(\"1\");\nif (x !== 1) {\n $ERROR('#8: x = new Number(1); x &= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#9\nx = \"x\";\nx &= 1;\nif (x !== 0) {\n $ERROR('#9: x = \"x\"; x &= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#10\nx = 1;\nx &= \"x\";\nif (x !== 0) {\n $ERROR('#10: x = 1; x &= \"x\"; x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T2.2"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Null",
+ "test": "//CHECK#1\nx = 1;\nx &= null;\nif (x !== 0) {\n $ERROR('#1: x = 1; x &= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx &= 1;\nif (x !== 0) {\n $ERROR('#2: x = null; x &= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx &= null;\nif (x !== 0) {\n $ERROR('#3: x = new Number(1); x &= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx &= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = null; x &= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T2.3"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Number (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = 1;\nx &= undefined;\nif (x !== 0) {\n $ERROR('#1: x = 1; x &= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx &= 1;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x &= 1; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Number(1);\nx &= undefined;\nif (x !== 0) {\n $ERROR('#3: x = new Number(1); x &= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx &= new Number(1);\nif (x !== 0) {\n $ERROR('#4: x = undefined; x &= new Number(1); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T2.4"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Boolean (primitive and object)",
+ "test": "//CHECK#1\nx = true;\nx &= \"1\";\nif (x !== 1) {\n $ERROR('#1: x = true; x &= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#2\nx = \"1\";\nx &= true;\nif (x !== 1) {\n $ERROR('#2: x = \"1\"; x &= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx &= \"1\";\nif (x !== 1) {\n $ERROR('#3: x = new Boolean(true); x &= \"1\"; x === 1. Actual: ' + (x));\n}\n\n//CHECK#4\nx = \"1\";\nx &= new Boolean(true);\nif (x !== 1) {\n $ERROR('#4: x = \"1\"; x &= new Boolean(true); x === 1. Actual: ' + (x));\n}\n\n//CHECK#5\nx = true;\nx &= new String(\"1\");\nif (x !== 1) {\n $ERROR('#5: x = true; x &= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#6\nx = new String(\"1\");\nx &= true;\nif (x !== 1) {\n $ERROR('#6: x = new String(\"1\"); x &= true; x === 1. Actual: ' + (x));\n}\n\n//CHECK#7\nx = new Boolean(true);\nx &= new String(\"1\");\nif (x !== 1) {\n $ERROR('#7: x = new Boolean(true); x &= new String(\"1\"); x === 1. Actual: ' + (x));\n}\n\n//CHECK#8\nx = new String(\"1\");\nx &= new Boolean(true);\nif (x !== 1) {\n $ERROR('#8: x = new String(\"1\"); x &= new Boolean(true); x === 1. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T2.5"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = \"1\";\nx &= undefined;\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x &= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx &= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = undefined; x &= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx &= undefined;\nif (x !== 0) {\n $ERROR('#3: x = new String(\"1\"); x &= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx &= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = undefined; x &= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T2.6"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) is different from Type(y) and both types vary between String (primitive or object) and Null",
+ "test": "//CHECK#1\nx = \"1\";\nx &= null;\nif (x !== 0) {\n $ERROR('#1: x = \"1\"; x &= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx &= \"1\";\nif (x !== 0) {\n $ERROR('#2: x = null; x &= \"1\"; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new String(\"1\");\nx &= null;\nif (x !== 0) {\n $ERROR('#3: x = new String(\"1\"); x &= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx &= new String(\"1\");\nif (x !== 0) {\n $ERROR('#4: x = null; x &= new String(\"1\"); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T2.7"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Undefined",
+ "test": "//CHECK#1\nx = true;\nx &= undefined;\nif (x !== 0) {\n $ERROR('#1: x = true; x &= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = undefined;\nx &= true;\nif (x !== 0) {\n $ERROR('#2: x = undefined; x &= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx &= undefined;\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x &= undefined; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = undefined;\nx &= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = undefined; x &= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T2.8"
+ },
+ {
+ "section": "11.13.2, 11.10.1",
+ "description": "Type(x) is different from Type(y) and both types vary between Boolean (primitive or object) and Null",
+ "test": "//CHECK#1\nx = true;\nx &= null;\nif (x !== 0) {\n $ERROR('#1: x = true; x &= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#2\nx = null;\nx &= true;\nif (x !== 0) {\n $ERROR('#2: x = null; x &= true; x === 0. Actual: ' + (x));\n}\n\n//CHECK#3\nx = new Boolean(true);\nx &= null;\nif (x !== 0) {\n $ERROR('#3: x = new Boolean(true); x &= null; x === 0. Actual: ' + (x));\n}\n\n//CHECK#4\nx = null;\nx &= new Boolean(true);\nif (x !== 0) {\n $ERROR('#4: x = null; x &= new Boolean(true); x === 0. Actual: ' + (x));\n}\n",
+ "id": "S11.13.2_A4.9_T2.9"
+ }
+ ]
+ }
+}