diff --git a/Libraries/LibJS/Tests/assignment-operators.js b/Libraries/LibJS/Tests/assignment-operators.js new file mode 100644 index 0000000000..9f02675f46 --- /dev/null +++ b/Libraries/LibJS/Tests/assignment-operators.js @@ -0,0 +1,41 @@ +load("test-common.js"); + +try { + var x; + + x = 1; + assert((x = 2) === 2); + assert(x === 2); + + x = 1; + assert((x += 2) === 3); + assert(x === 3); + + x = 3; + assert((x -= 2) === 1); + assert(x === 1); + + x = 3; + assert((x *= 2) === 6); + assert(x === 6); + + x = 6; + assert((x /= 2) === 3); + assert(x === 3); + + x = 2; + assert((x <<= 2) === 8); + assert(x === 8); + + x = 8; + assert((x >>= 2) === 2); + assert(x === 2); + + x = -(2 ** 32 - 10); + assert((x >>>= 2) === 2); + assert(x === 2); + + console.log("PASS"); +} catch (e) { + console.log("FAIL: " + e); +}