diff options
author | sgjesse@chromium.org <sgjesse@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-07 14:04:36 +0000 |
---|---|---|
committer | sgjesse@chromium.org <sgjesse@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-07 14:04:36 +0000 |
commit | ce1eb3bd99a3af516f3efa93229146e3569e5570 (patch) | |
tree | c143b9ffa20159570b86a83f8680a70993fcc40e /webkit | |
parent | 63d319ebcaddfe4a84b5bb1898b88ab3999fa173 (diff) | |
download | chromium_src-ce1eb3bd99a3af516f3efa93229146e3569e5570.zip chromium_src-ce1eb3bd99a3af516f3efa93229146e3569e5570.tar.gz chromium_src-ce1eb3bd99a3af516f3efa93229146e3569e5570.tar.bz2 |
Update V8 to version 1.3.15.
This change contails the layout test expectation changes from http://codereview.chromium.org/248001 and http://codereview.chromium.org/251071 as the V8 update requires these.
This change also contains a change to compile against the changes IdleNotification API in the new V8 version.
BUG=none
TEST=none
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/263008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28246 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
14 files changed, 322 insertions, 206 deletions
diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt index ba47d1f4..a2f718d 100644 --- a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt @@ -1,5 +1,5 @@ -CONSOLE MESSAGE: line 222: Uncaught TypeError: undefined is not a function
-Text for bug 25290: Crash when constructing XMLHttpRequest in a detached document.
-
-PASS
-
+CONSOLE MESSAGE: line 401: Uncaught TypeError: undefined is not a function +Text for bug 25290: Crash when constructing XMLHttpRequest in a detached document. + +PASS + diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/assign-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/assign-expected.txt index 420352c..89f4a54 100644 --- a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/assign-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/assign-expected.txt @@ -13,9 +13,9 @@ PASS y, x = 7; x is 7 PASS ((x)) = 8; x is 8 PASS ((window.x)) = 9; x is 9 PASS ((window["x"])) = 10; x is 10 -PASS (y, x) = "FAIL"; threw exception SyntaxError: Invalid left-hand side in assignment. -PASS (true ? x : y) = "FAIL"; threw exception SyntaxError: Invalid left-hand side in assignment. -PASS x++ = "FAIL"; threw exception SyntaxError: Invalid left-hand side in assignment. +PASS (y, x) = "FAIL"; threw exception ReferenceError: Invalid left-hand side in assignment. +PASS (true ? x : y) = "FAIL"; threw exception ReferenceError: Invalid left-hand side in assignment. +PASS x++ = "FAIL"; threw exception ReferenceError: Invalid left-hand side in assignment. PASS successfullyParsed is true TEST COMPLETE diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/exception-codegen-crash-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/exception-codegen-crash-expected.txt index 90843b9..8daca06 100644 --- a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/exception-codegen-crash-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/exception-codegen-crash-expected.txt @@ -1,4 +1,4 @@ -CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Invalid left-hand side expression in postfix operation +CONSOLE MESSAGE: line 1: Uncaught ReferenceError: Invalid left-hand side expression in postfix operation This page tests some conditions that used to cause crashes during codegen. If you don't crash, you pass. diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/function-toString-parentheses-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/function-toString-parentheses-expected.txt index 4fe27e2..b2ff34c 100644 --- a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/function-toString-parentheses-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/function-toString-parentheses-expected.txt @@ -211,145 +211,145 @@ PASS compileAndSerialize('a || b || c') is 'a || b || c' PASS compileAndSerialize('(a || b) || c') is '(a || b) || c' PASS compileAndSerialize('a || (b || c)') is 'a || (b || c)' PASS compileAndSerialize('a = b = c') is 'a = b = c' -FAIL compileAndSerialize('(a = b) = c') should be (a = b) = c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) = c') is '(a = b) = c' PASS compileAndSerialize('a = (b = c)') is 'a = (b = c)' PASS compileAndSerialize('a = b + c') is 'a = b + c' PASS compileAndSerialize('(a = b) + c') is '(a = b) + c' PASS compileAndSerialize('a = (b + c)') is 'a = (b + c)' -PASS compileAndSerialize('a + b = c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) = c') should be (a + b) = c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b = c') should throw an exception. Was a + b = c. +PASS compileAndSerialize('(a + b) = c') is '(a + b) = c' PASS compileAndSerialize('a + (b = c)') is 'a + (b = c)' PASS compileAndSerialize('a *= b *= c') is 'a *= b *= c' -FAIL compileAndSerialize('(a *= b) *= c') should be (a *= b) *= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a *= b) *= c') is '(a *= b) *= c' PASS compileAndSerialize('a *= (b *= c)') is 'a *= (b *= c)' PASS compileAndSerialize('a = b *= c') is 'a = b *= c' -FAIL compileAndSerialize('(a = b) *= c') should be (a = b) *= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) *= c') is '(a = b) *= c' PASS compileAndSerialize('a = (b *= c)') is 'a = (b *= c)' PASS compileAndSerialize('a *= b + c') is 'a *= b + c' PASS compileAndSerialize('(a *= b) + c') is '(a *= b) + c' PASS compileAndSerialize('a *= (b + c)') is 'a *= (b + c)' -PASS compileAndSerialize('a + b *= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) *= c') should be (a + b) *= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b *= c') should throw an exception. Was a + b *= c. +PASS compileAndSerialize('(a + b) *= c') is '(a + b) *= c' PASS compileAndSerialize('a + (b *= c)') is 'a + (b *= c)' PASS compileAndSerialize('a /= b /= c') is 'a /= b /= c' -FAIL compileAndSerialize('(a /= b) /= c') should be (a /= b) /= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a /= b) /= c') is '(a /= b) /= c' PASS compileAndSerialize('a /= (b /= c)') is 'a /= (b /= c)' PASS compileAndSerialize('a = b /= c') is 'a = b /= c' -FAIL compileAndSerialize('(a = b) /= c') should be (a = b) /= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) /= c') is '(a = b) /= c' PASS compileAndSerialize('a = (b /= c)') is 'a = (b /= c)' PASS compileAndSerialize('a /= b + c') is 'a /= b + c' PASS compileAndSerialize('(a /= b) + c') is '(a /= b) + c' PASS compileAndSerialize('a /= (b + c)') is 'a /= (b + c)' -PASS compileAndSerialize('a + b /= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) /= c') should be (a + b) /= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b /= c') should throw an exception. Was a + b /= c. +PASS compileAndSerialize('(a + b) /= c') is '(a + b) /= c' PASS compileAndSerialize('a + (b /= c)') is 'a + (b /= c)' PASS compileAndSerialize('a %= b %= c') is 'a %= b %= c' -FAIL compileAndSerialize('(a %= b) %= c') should be (a %= b) %= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a %= b) %= c') is '(a %= b) %= c' PASS compileAndSerialize('a %= (b %= c)') is 'a %= (b %= c)' PASS compileAndSerialize('a = b %= c') is 'a = b %= c' -FAIL compileAndSerialize('(a = b) %= c') should be (a = b) %= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) %= c') is '(a = b) %= c' PASS compileAndSerialize('a = (b %= c)') is 'a = (b %= c)' PASS compileAndSerialize('a %= b + c') is 'a %= b + c' PASS compileAndSerialize('(a %= b) + c') is '(a %= b) + c' PASS compileAndSerialize('a %= (b + c)') is 'a %= (b + c)' -PASS compileAndSerialize('a + b %= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) %= c') should be (a + b) %= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b %= c') should throw an exception. Was a + b %= c. +PASS compileAndSerialize('(a + b) %= c') is '(a + b) %= c' PASS compileAndSerialize('a + (b %= c)') is 'a + (b %= c)' PASS compileAndSerialize('a += b += c') is 'a += b += c' -FAIL compileAndSerialize('(a += b) += c') should be (a += b) += c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a += b) += c') is '(a += b) += c' PASS compileAndSerialize('a += (b += c)') is 'a += (b += c)' PASS compileAndSerialize('a = b += c') is 'a = b += c' -FAIL compileAndSerialize('(a = b) += c') should be (a = b) += c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) += c') is '(a = b) += c' PASS compileAndSerialize('a = (b += c)') is 'a = (b += c)' PASS compileAndSerialize('a += b + c') is 'a += b + c' PASS compileAndSerialize('(a += b) + c') is '(a += b) + c' PASS compileAndSerialize('a += (b + c)') is 'a += (b + c)' -PASS compileAndSerialize('a + b += c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) += c') should be (a + b) += c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b += c') should throw an exception. Was a + b += c. +PASS compileAndSerialize('(a + b) += c') is '(a + b) += c' PASS compileAndSerialize('a + (b += c)') is 'a + (b += c)' PASS compileAndSerialize('a -= b -= c') is 'a -= b -= c' -FAIL compileAndSerialize('(a -= b) -= c') should be (a -= b) -= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a -= b) -= c') is '(a -= b) -= c' PASS compileAndSerialize('a -= (b -= c)') is 'a -= (b -= c)' PASS compileAndSerialize('a = b -= c') is 'a = b -= c' -FAIL compileAndSerialize('(a = b) -= c') should be (a = b) -= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) -= c') is '(a = b) -= c' PASS compileAndSerialize('a = (b -= c)') is 'a = (b -= c)' PASS compileAndSerialize('a -= b + c') is 'a -= b + c' PASS compileAndSerialize('(a -= b) + c') is '(a -= b) + c' PASS compileAndSerialize('a -= (b + c)') is 'a -= (b + c)' -PASS compileAndSerialize('a + b -= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) -= c') should be (a + b) -= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b -= c') should throw an exception. Was a + b -= c. +PASS compileAndSerialize('(a + b) -= c') is '(a + b) -= c' PASS compileAndSerialize('a + (b -= c)') is 'a + (b -= c)' PASS compileAndSerialize('a <<= b <<= c') is 'a <<= b <<= c' -FAIL compileAndSerialize('(a <<= b) <<= c') should be (a <<= b) <<= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a <<= b) <<= c') is '(a <<= b) <<= c' PASS compileAndSerialize('a <<= (b <<= c)') is 'a <<= (b <<= c)' PASS compileAndSerialize('a = b <<= c') is 'a = b <<= c' -FAIL compileAndSerialize('(a = b) <<= c') should be (a = b) <<= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) <<= c') is '(a = b) <<= c' PASS compileAndSerialize('a = (b <<= c)') is 'a = (b <<= c)' PASS compileAndSerialize('a <<= b + c') is 'a <<= b + c' PASS compileAndSerialize('(a <<= b) + c') is '(a <<= b) + c' PASS compileAndSerialize('a <<= (b + c)') is 'a <<= (b + c)' -PASS compileAndSerialize('a + b <<= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) <<= c') should be (a + b) <<= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b <<= c') should throw an exception. Was a + b <<= c. +PASS compileAndSerialize('(a + b) <<= c') is '(a + b) <<= c' PASS compileAndSerialize('a + (b <<= c)') is 'a + (b <<= c)' PASS compileAndSerialize('a >>= b >>= c') is 'a >>= b >>= c' -FAIL compileAndSerialize('(a >>= b) >>= c') should be (a >>= b) >>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a >>= b) >>= c') is '(a >>= b) >>= c' PASS compileAndSerialize('a >>= (b >>= c)') is 'a >>= (b >>= c)' PASS compileAndSerialize('a = b >>= c') is 'a = b >>= c' -FAIL compileAndSerialize('(a = b) >>= c') should be (a = b) >>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) >>= c') is '(a = b) >>= c' PASS compileAndSerialize('a = (b >>= c)') is 'a = (b >>= c)' PASS compileAndSerialize('a >>= b + c') is 'a >>= b + c' PASS compileAndSerialize('(a >>= b) + c') is '(a >>= b) + c' PASS compileAndSerialize('a >>= (b + c)') is 'a >>= (b + c)' -PASS compileAndSerialize('a + b >>= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) >>= c') should be (a + b) >>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b >>= c') should throw an exception. Was a + b >>= c. +PASS compileAndSerialize('(a + b) >>= c') is '(a + b) >>= c' PASS compileAndSerialize('a + (b >>= c)') is 'a + (b >>= c)' PASS compileAndSerialize('a >>>= b >>>= c') is 'a >>>= b >>>= c' -FAIL compileAndSerialize('(a >>>= b) >>>= c') should be (a >>>= b) >>>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a >>>= b) >>>= c') is '(a >>>= b) >>>= c' PASS compileAndSerialize('a >>>= (b >>>= c)') is 'a >>>= (b >>>= c)' PASS compileAndSerialize('a = b >>>= c') is 'a = b >>>= c' -FAIL compileAndSerialize('(a = b) >>>= c') should be (a = b) >>>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) >>>= c') is '(a = b) >>>= c' PASS compileAndSerialize('a = (b >>>= c)') is 'a = (b >>>= c)' PASS compileAndSerialize('a >>>= b + c') is 'a >>>= b + c' PASS compileAndSerialize('(a >>>= b) + c') is '(a >>>= b) + c' PASS compileAndSerialize('a >>>= (b + c)') is 'a >>>= (b + c)' -PASS compileAndSerialize('a + b >>>= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) >>>= c') should be (a + b) >>>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b >>>= c') should throw an exception. Was a + b >>>= c. +PASS compileAndSerialize('(a + b) >>>= c') is '(a + b) >>>= c' PASS compileAndSerialize('a + (b >>>= c)') is 'a + (b >>>= c)' PASS compileAndSerialize('a &= b &= c') is 'a &= b &= c' -FAIL compileAndSerialize('(a &= b) &= c') should be (a &= b) &= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a &= b) &= c') is '(a &= b) &= c' PASS compileAndSerialize('a &= (b &= c)') is 'a &= (b &= c)' PASS compileAndSerialize('a = b &= c') is 'a = b &= c' -FAIL compileAndSerialize('(a = b) &= c') should be (a = b) &= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) &= c') is '(a = b) &= c' PASS compileAndSerialize('a = (b &= c)') is 'a = (b &= c)' PASS compileAndSerialize('a &= b + c') is 'a &= b + c' PASS compileAndSerialize('(a &= b) + c') is '(a &= b) + c' PASS compileAndSerialize('a &= (b + c)') is 'a &= (b + c)' -PASS compileAndSerialize('a + b &= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) &= c') should be (a + b) &= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b &= c') should throw an exception. Was a + b &= c. +PASS compileAndSerialize('(a + b) &= c') is '(a + b) &= c' PASS compileAndSerialize('a + (b &= c)') is 'a + (b &= c)' PASS compileAndSerialize('a ^= b ^= c') is 'a ^= b ^= c' -FAIL compileAndSerialize('(a ^= b) ^= c') should be (a ^= b) ^= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a ^= b) ^= c') is '(a ^= b) ^= c' PASS compileAndSerialize('a ^= (b ^= c)') is 'a ^= (b ^= c)' PASS compileAndSerialize('a = b ^= c') is 'a = b ^= c' -FAIL compileAndSerialize('(a = b) ^= c') should be (a = b) ^= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) ^= c') is '(a = b) ^= c' PASS compileAndSerialize('a = (b ^= c)') is 'a = (b ^= c)' PASS compileAndSerialize('a ^= b + c') is 'a ^= b + c' PASS compileAndSerialize('(a ^= b) + c') is '(a ^= b) + c' PASS compileAndSerialize('a ^= (b + c)') is 'a ^= (b + c)' -PASS compileAndSerialize('a + b ^= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) ^= c') should be (a + b) ^= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b ^= c') should throw an exception. Was a + b ^= c. +PASS compileAndSerialize('(a + b) ^= c') is '(a + b) ^= c' PASS compileAndSerialize('a + (b ^= c)') is 'a + (b ^= c)' PASS compileAndSerialize('a |= b |= c') is 'a |= b |= c' -FAIL compileAndSerialize('(a |= b) |= c') should be (a |= b) |= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a |= b) |= c') is '(a |= b) |= c' PASS compileAndSerialize('a |= (b |= c)') is 'a |= (b |= c)' PASS compileAndSerialize('a = b |= c') is 'a = b |= c' -FAIL compileAndSerialize('(a = b) |= c') should be (a = b) |= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) |= c') is '(a = b) |= c' PASS compileAndSerialize('a = (b |= c)') is 'a = (b |= c)' PASS compileAndSerialize('a |= b + c') is 'a |= b + c' PASS compileAndSerialize('(a |= b) + c') is '(a |= b) + c' PASS compileAndSerialize('a |= (b + c)') is 'a |= (b + c)' -PASS compileAndSerialize('a + b |= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) |= c') should be (a + b) |= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b |= c') should throw an exception. Was a + b |= c. +PASS compileAndSerialize('(a + b) |= c') is '(a + b) |= c' PASS compileAndSerialize('a + (b |= c)') is 'a + (b |= c)' PASS compileAndSerialize('delete a + b') is 'delete a + b' PASS compileAndSerialize('(delete a) + b') is '(delete a) + b' @@ -368,12 +368,12 @@ PASS compileAndSerialize('!typeof a') is '!typeof a' PASS compileAndSerialize('!(typeof a)') is '!(typeof a)' PASS compileAndSerialize('++a + b') is '++a + b' PASS compileAndSerialize('(++a) + b') is '(++a) + b' -FAIL compileAndSerialize('++(a + b)') should be ++(a + b). Threw exception SyntaxError: Invalid left-hand side expression in prefix operation +PASS compileAndSerialize('++(a + b)') is '++(a + b)' PASS compileAndSerialize('!++a') is '!++a' PASS compileAndSerialize('!(++a)') is '!(++a)' PASS compileAndSerialize('--a + b') is '--a + b' PASS compileAndSerialize('(--a) + b') is '(--a) + b' -FAIL compileAndSerialize('--(a + b)') should be --(a + b). Threw exception SyntaxError: Invalid left-hand side expression in prefix operation +PASS compileAndSerialize('--(a + b)') is '--(a + b)' PASS compileAndSerialize('!--a') is '!--a' PASS compileAndSerialize('!(--a)') is '!(--a)' PASS compileAndSerialize('+ a + b') is '+ a + b' @@ -398,10 +398,10 @@ PASS compileAndSerialize('!!a') is '!!a' PASS compileAndSerialize('!(!a)') is '!(!a)' PASS compileAndSerialize('!a++') is '!a++' PASS compileAndSerialize('!(a++)') is '!(a++)' -FAIL compileAndSerialize('(!a)++') should be (!a)++. Threw exception SyntaxError: Invalid left-hand side expression in postfix operation +PASS compileAndSerialize('(!a)++') is '(!a)++' PASS compileAndSerialize('!a--') is '!a--' PASS compileAndSerialize('!(a--)') is '!(a--)' -FAIL compileAndSerialize('(!a)--') should be (!a)--. Threw exception SyntaxError: Invalid left-hand side expression in postfix operation +PASS compileAndSerialize('(!a)--') is '(!a)--' PASS compileAndSerialize('(-1)[a]') is '(-1)[a]' PASS compileAndSerialize('(-1)[a] = b') is '(-1)[a] = b' PASS compileAndSerialize('(-1)[a] += b') is '(-1)[a] += b' @@ -441,42 +441,42 @@ PASS compileAndSerialize('(1).a += b') is '(1).a += b' PASS compileAndSerialize('(1).a++') is '(1).a++' PASS compileAndSerialize('++(1).a') is '++(1).a' PASS compileAndSerialize('(1).a()') is '(1).a()' -FAIL compileAndSerialize('(-1) = a') should be (-1) = a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) = a') should be (- 0) = a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 = a') should be 1 = a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) *= a') should be (-1) *= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) *= a') should be (- 0) *= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 *= a') should be 1 *= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) /= a') should be (-1) /= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) /= a') should be (- 0) /= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 /= a') should be 1 /= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) %= a') should be (-1) %= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) %= a') should be (- 0) %= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 %= a') should be 1 %= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) += a') should be (-1) += a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) += a') should be (- 0) += a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 += a') should be 1 += a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) -= a') should be (-1) -= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) -= a') should be (- 0) -= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 -= a') should be 1 -= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) <<= a') should be (-1) <<= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) <<= a') should be (- 0) <<= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 <<= a') should be 1 <<= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) >>= a') should be (-1) >>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) >>= a') should be (- 0) >>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 >>= a') should be 1 >>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) >>>= a') should be (-1) >>>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) >>>= a') should be (- 0) >>>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 >>>= a') should be 1 >>>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) &= a') should be (-1) &= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) &= a') should be (- 0) &= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 &= a') should be 1 &= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) ^= a') should be (-1) ^= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) ^= a') should be (- 0) ^= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 ^= a') should be 1 ^= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) |= a') should be (-1) |= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) |= a') should be (- 0) |= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 |= a') should be 1 |= a. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(-1) = a') is '(-1) = a' +PASS compileAndSerialize('(- 0) = a') is '(- 0) = a' +PASS compileAndSerialize('1 = a') is '1 = a' +PASS compileAndSerialize('(-1) *= a') is '(-1) *= a' +PASS compileAndSerialize('(- 0) *= a') is '(- 0) *= a' +PASS compileAndSerialize('1 *= a') is '1 *= a' +PASS compileAndSerialize('(-1) /= a') is '(-1) /= a' +PASS compileAndSerialize('(- 0) /= a') is '(- 0) /= a' +PASS compileAndSerialize('1 /= a') is '1 /= a' +PASS compileAndSerialize('(-1) %= a') is '(-1) %= a' +PASS compileAndSerialize('(- 0) %= a') is '(- 0) %= a' +PASS compileAndSerialize('1 %= a') is '1 %= a' +PASS compileAndSerialize('(-1) += a') is '(-1) += a' +PASS compileAndSerialize('(- 0) += a') is '(- 0) += a' +PASS compileAndSerialize('1 += a') is '1 += a' +PASS compileAndSerialize('(-1) -= a') is '(-1) -= a' +PASS compileAndSerialize('(- 0) -= a') is '(- 0) -= a' +PASS compileAndSerialize('1 -= a') is '1 -= a' +PASS compileAndSerialize('(-1) <<= a') is '(-1) <<= a' +PASS compileAndSerialize('(- 0) <<= a') is '(- 0) <<= a' +PASS compileAndSerialize('1 <<= a') is '1 <<= a' +PASS compileAndSerialize('(-1) >>= a') is '(-1) >>= a' +PASS compileAndSerialize('(- 0) >>= a') is '(- 0) >>= a' +PASS compileAndSerialize('1 >>= a') is '1 >>= a' +PASS compileAndSerialize('(-1) >>>= a') is '(-1) >>>= a' +PASS compileAndSerialize('(- 0) >>>= a') is '(- 0) >>>= a' +PASS compileAndSerialize('1 >>>= a') is '1 >>>= a' +PASS compileAndSerialize('(-1) &= a') is '(-1) &= a' +PASS compileAndSerialize('(- 0) &= a') is '(- 0) &= a' +PASS compileAndSerialize('1 &= a') is '1 &= a' +PASS compileAndSerialize('(-1) ^= a') is '(-1) ^= a' +PASS compileAndSerialize('(- 0) ^= a') is '(- 0) ^= a' +PASS compileAndSerialize('1 ^= a') is '1 ^= a' +PASS compileAndSerialize('(-1) |= a') is '(-1) |= a' +PASS compileAndSerialize('(- 0) |= a') is '(- 0) |= a' +PASS compileAndSerialize('1 |= a') is '1 |= a' PASS compileAndSerializeLeftmostTest('({ }).x') is '({ }).x' PASS compileAndSerializeLeftmostTest('x = { }') is 'x = { }' PASS compileAndSerializeLeftmostTest('(function () { })()') is '(function () { })()' diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/postfix-syntax-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/postfix-syntax-expected.txt index c2ab500..9c04e84 100644 --- a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/postfix-syntax-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/postfix-syntax-expected.txt @@ -13,8 +13,8 @@ PASS (y, x++) is 6 PASS ((x))++ is 7 PASS ((window.x))++ is 8 PASS ((window["x"]))++ is 9 -PASS (y, x)++ threw exception SyntaxError: Invalid left-hand side expression in postfix operation. -PASS (true ? x : y)++ threw exception SyntaxError: Invalid left-hand side expression in postfix operation. +PASS (y, x)++ threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS (true ? x : y)++ threw exception ReferenceError: Invalid left-hand side expression in postfix operation. PASS x++++ threw exception SyntaxError: Unexpected token ++. PASS x is 0 PASS y is 0 diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/prefix-syntax-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/prefix-syntax-expected.txt index 363e581..50d1947 100644 --- a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/prefix-syntax-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/prefix-syntax-expected.txt @@ -13,9 +13,10 @@ PASS (y, ++x) is 7 PASS ++((x)) is 8 PASS ++((window.x)) is 9 PASS ++((window["x"])) is 10 -PASS ++(y, x) threw exception SyntaxError: Invalid left-hand side expression in prefix operation. -PASS ++(true ? x : y) threw exception SyntaxError: Invalid left-hand side expression in prefix operation. -PASS ++++x threw exception SyntaxError: Invalid left-hand side expression in prefix operation. +PASS ++(y, x) threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS ++(true ? x : y) threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS ++++x threw exception ReferenceError: Invalid left-hand side expression in prefix operation. PASS successfullyParsed is true TEST COMPLETE + diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/toString-prefix-postfix-preserve-parens-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/toString-prefix-postfix-preserve-parens-expected.txt index 5c2c64e..4f09ecaa 100644 --- a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/toString-prefix-postfix-preserve-parens-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/toString-prefix-postfix-preserve-parens-expected.txt @@ -1,4 +1,61 @@ -CONSOLE MESSAGE: line 6: Uncaught SyntaxError: Invalid left-hand side expression in postfix operation -FAIL successfullyParsed should be true. Threw exception ReferenceError: successfullyParsed is not defined +This test checks that toString() round-trip on a function that has prefix, postfix and typeof operators applied to group expression will not remove the grouping. Also checks that evaluation of such a expression produces run-time exception + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS unevalf(eval(unevalf(prefix_should_preserve_parens))) is unevalf(prefix_should_preserve_parens) +PASS /.*\(+x\)*, y\)/.test(unevalf(prefix_should_preserve_parens)) is true +PASS prefix_should_preserve_parens(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(prefix_should_preserve_parens))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(postfix_should_preserve_parens))) is unevalf(postfix_should_preserve_parens) +PASS /.*\(+x\)*, y\)/.test(unevalf(postfix_should_preserve_parens)) is true +PASS postfix_should_preserve_parens(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS eval(unevalf(postfix_should_preserve_parens))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS unevalf(eval(unevalf(both_should_preserve_parens))) is unevalf(both_should_preserve_parens) +PASS /.*\(+x\)*, y\)/.test(unevalf(both_should_preserve_parens)) is true +PASS both_should_preserve_parens(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(both_should_preserve_parens))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(prefix_should_preserve_parens_multi))) is unevalf(prefix_should_preserve_parens_multi) +PASS /.*\(+x\)*, y\)/.test(unevalf(prefix_should_preserve_parens_multi)) is true +PASS prefix_should_preserve_parens_multi(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(prefix_should_preserve_parens_multi))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(postfix_should_preserve_parens_multi))) is unevalf(postfix_should_preserve_parens_multi) +PASS /.*\(+x\)*, y\)/.test(unevalf(postfix_should_preserve_parens_multi)) is true +PASS postfix_should_preserve_parens_multi(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS eval(unevalf(postfix_should_preserve_parens_multi))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS unevalf(eval(unevalf(prefix_should_preserve_parens_multi1))) is unevalf(prefix_should_preserve_parens_multi1) +PASS /.*\(+x\)*, y\)/.test(unevalf(prefix_should_preserve_parens_multi1)) is true +PASS prefix_should_preserve_parens_multi1(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(prefix_should_preserve_parens_multi1))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(postfix_should_preserve_parens_multi1))) is unevalf(postfix_should_preserve_parens_multi1) +PASS /.*\(+x\)*, y\)/.test(unevalf(postfix_should_preserve_parens_multi1)) is true +PASS postfix_should_preserve_parens_multi1(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS eval(unevalf(postfix_should_preserve_parens_multi1))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS unevalf(eval(unevalf(prefix_should_preserve_parens_multi2))) is unevalf(prefix_should_preserve_parens_multi2) +PASS /.*\(+x\)*, y\)/.test(unevalf(prefix_should_preserve_parens_multi2)) is true +PASS prefix_should_preserve_parens_multi2(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(prefix_should_preserve_parens_multi2))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(postfix_should_preserve_parens_multi2))) is unevalf(postfix_should_preserve_parens_multi2) +PASS /.*\(+x\)*, y\)/.test(unevalf(postfix_should_preserve_parens_multi2)) is true +PASS postfix_should_preserve_parens_multi2(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS eval(unevalf(postfix_should_preserve_parens_multi2))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS unevalf(eval(unevalf(typeof_should_preserve_parens))) is unevalf(typeof_should_preserve_parens) +PASS /.*\(+x\)*, y\)/.test(unevalf(typeof_should_preserve_parens)) is true +PASS typeof_should_preserve_parens('a', 1); is 'number' +PASS eval(unevalf(typeof_should_preserve_parens))('a', 1); is 'number' +PASS unevalf(eval(unevalf(typeof_should_preserve_parens1))) is unevalf(typeof_should_preserve_parens1) +PASS /.*\(+x\)*, y\)/.test(unevalf(typeof_should_preserve_parens1)) is true +PASS typeof_should_preserve_parens1('a', 1); is 'number' +PASS eval(unevalf(typeof_should_preserve_parens1))('a', 1); is 'number' +PASS unevalf(eval(unevalf(typeof_should_preserve_parens2))) is unevalf(typeof_should_preserve_parens2) +PASS /.*\(+x\)*, y\)/.test(unevalf(typeof_should_preserve_parens2)) is true +PASS typeof_should_preserve_parens2('a', 1); is 'number' +PASS eval(unevalf(typeof_should_preserve_parens2))('a', 1); is 'number' +PASS unevalf(eval(unevalf(typeof_should_preserve_parens_multi))) is unevalf(typeof_should_preserve_parens_multi) +PASS /.*\(+x\)*, y\)/.test(unevalf(typeof_should_preserve_parens_multi)) is true +PASS typeof_should_preserve_parens_multi('a', 1); is 'number' +PASS eval(unevalf(typeof_should_preserve_parens_multi))('a', 1); is 'number' +PASS successfullyParsed is true TEST COMPLETE + diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt index ba47d1f4..a2f718d 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/dom/xmlhttprequest-constructor-in-detached-document-expected.txt @@ -1,5 +1,5 @@ -CONSOLE MESSAGE: line 222: Uncaught TypeError: undefined is not a function
-Text for bug 25290: Crash when constructing XMLHttpRequest in a detached document.
-
-PASS
-
+CONSOLE MESSAGE: line 401: Uncaught TypeError: undefined is not a function +Text for bug 25290: Crash when constructing XMLHttpRequest in a detached document. + +PASS + diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/assign-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/assign-expected.txt index 420352c..89f4a54 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/assign-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/assign-expected.txt @@ -13,9 +13,9 @@ PASS y, x = 7; x is 7 PASS ((x)) = 8; x is 8 PASS ((window.x)) = 9; x is 9 PASS ((window["x"])) = 10; x is 10 -PASS (y, x) = "FAIL"; threw exception SyntaxError: Invalid left-hand side in assignment. -PASS (true ? x : y) = "FAIL"; threw exception SyntaxError: Invalid left-hand side in assignment. -PASS x++ = "FAIL"; threw exception SyntaxError: Invalid left-hand side in assignment. +PASS (y, x) = "FAIL"; threw exception ReferenceError: Invalid left-hand side in assignment. +PASS (true ? x : y) = "FAIL"; threw exception ReferenceError: Invalid left-hand side in assignment. +PASS x++ = "FAIL"; threw exception ReferenceError: Invalid left-hand side in assignment. PASS successfullyParsed is true TEST COMPLETE diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/exception-codegen-crash-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/exception-codegen-crash-expected.txt index 90843b9..8daca06 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/exception-codegen-crash-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/exception-codegen-crash-expected.txt @@ -1,4 +1,4 @@ -CONSOLE MESSAGE: line 1: Uncaught SyntaxError: Invalid left-hand side expression in postfix operation +CONSOLE MESSAGE: line 1: Uncaught ReferenceError: Invalid left-hand side expression in postfix operation This page tests some conditions that used to cause crashes during codegen. If you don't crash, you pass. diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/function-toString-parentheses-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/function-toString-parentheses-expected.txt index 4fe27e2..b2ff34c 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/function-toString-parentheses-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/function-toString-parentheses-expected.txt @@ -211,145 +211,145 @@ PASS compileAndSerialize('a || b || c') is 'a || b || c' PASS compileAndSerialize('(a || b) || c') is '(a || b) || c' PASS compileAndSerialize('a || (b || c)') is 'a || (b || c)' PASS compileAndSerialize('a = b = c') is 'a = b = c' -FAIL compileAndSerialize('(a = b) = c') should be (a = b) = c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) = c') is '(a = b) = c' PASS compileAndSerialize('a = (b = c)') is 'a = (b = c)' PASS compileAndSerialize('a = b + c') is 'a = b + c' PASS compileAndSerialize('(a = b) + c') is '(a = b) + c' PASS compileAndSerialize('a = (b + c)') is 'a = (b + c)' -PASS compileAndSerialize('a + b = c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) = c') should be (a + b) = c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b = c') should throw an exception. Was a + b = c. +PASS compileAndSerialize('(a + b) = c') is '(a + b) = c' PASS compileAndSerialize('a + (b = c)') is 'a + (b = c)' PASS compileAndSerialize('a *= b *= c') is 'a *= b *= c' -FAIL compileAndSerialize('(a *= b) *= c') should be (a *= b) *= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a *= b) *= c') is '(a *= b) *= c' PASS compileAndSerialize('a *= (b *= c)') is 'a *= (b *= c)' PASS compileAndSerialize('a = b *= c') is 'a = b *= c' -FAIL compileAndSerialize('(a = b) *= c') should be (a = b) *= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) *= c') is '(a = b) *= c' PASS compileAndSerialize('a = (b *= c)') is 'a = (b *= c)' PASS compileAndSerialize('a *= b + c') is 'a *= b + c' PASS compileAndSerialize('(a *= b) + c') is '(a *= b) + c' PASS compileAndSerialize('a *= (b + c)') is 'a *= (b + c)' -PASS compileAndSerialize('a + b *= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) *= c') should be (a + b) *= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b *= c') should throw an exception. Was a + b *= c. +PASS compileAndSerialize('(a + b) *= c') is '(a + b) *= c' PASS compileAndSerialize('a + (b *= c)') is 'a + (b *= c)' PASS compileAndSerialize('a /= b /= c') is 'a /= b /= c' -FAIL compileAndSerialize('(a /= b) /= c') should be (a /= b) /= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a /= b) /= c') is '(a /= b) /= c' PASS compileAndSerialize('a /= (b /= c)') is 'a /= (b /= c)' PASS compileAndSerialize('a = b /= c') is 'a = b /= c' -FAIL compileAndSerialize('(a = b) /= c') should be (a = b) /= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) /= c') is '(a = b) /= c' PASS compileAndSerialize('a = (b /= c)') is 'a = (b /= c)' PASS compileAndSerialize('a /= b + c') is 'a /= b + c' PASS compileAndSerialize('(a /= b) + c') is '(a /= b) + c' PASS compileAndSerialize('a /= (b + c)') is 'a /= (b + c)' -PASS compileAndSerialize('a + b /= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) /= c') should be (a + b) /= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b /= c') should throw an exception. Was a + b /= c. +PASS compileAndSerialize('(a + b) /= c') is '(a + b) /= c' PASS compileAndSerialize('a + (b /= c)') is 'a + (b /= c)' PASS compileAndSerialize('a %= b %= c') is 'a %= b %= c' -FAIL compileAndSerialize('(a %= b) %= c') should be (a %= b) %= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a %= b) %= c') is '(a %= b) %= c' PASS compileAndSerialize('a %= (b %= c)') is 'a %= (b %= c)' PASS compileAndSerialize('a = b %= c') is 'a = b %= c' -FAIL compileAndSerialize('(a = b) %= c') should be (a = b) %= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) %= c') is '(a = b) %= c' PASS compileAndSerialize('a = (b %= c)') is 'a = (b %= c)' PASS compileAndSerialize('a %= b + c') is 'a %= b + c' PASS compileAndSerialize('(a %= b) + c') is '(a %= b) + c' PASS compileAndSerialize('a %= (b + c)') is 'a %= (b + c)' -PASS compileAndSerialize('a + b %= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) %= c') should be (a + b) %= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b %= c') should throw an exception. Was a + b %= c. +PASS compileAndSerialize('(a + b) %= c') is '(a + b) %= c' PASS compileAndSerialize('a + (b %= c)') is 'a + (b %= c)' PASS compileAndSerialize('a += b += c') is 'a += b += c' -FAIL compileAndSerialize('(a += b) += c') should be (a += b) += c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a += b) += c') is '(a += b) += c' PASS compileAndSerialize('a += (b += c)') is 'a += (b += c)' PASS compileAndSerialize('a = b += c') is 'a = b += c' -FAIL compileAndSerialize('(a = b) += c') should be (a = b) += c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) += c') is '(a = b) += c' PASS compileAndSerialize('a = (b += c)') is 'a = (b += c)' PASS compileAndSerialize('a += b + c') is 'a += b + c' PASS compileAndSerialize('(a += b) + c') is '(a += b) + c' PASS compileAndSerialize('a += (b + c)') is 'a += (b + c)' -PASS compileAndSerialize('a + b += c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) += c') should be (a + b) += c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b += c') should throw an exception. Was a + b += c. +PASS compileAndSerialize('(a + b) += c') is '(a + b) += c' PASS compileAndSerialize('a + (b += c)') is 'a + (b += c)' PASS compileAndSerialize('a -= b -= c') is 'a -= b -= c' -FAIL compileAndSerialize('(a -= b) -= c') should be (a -= b) -= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a -= b) -= c') is '(a -= b) -= c' PASS compileAndSerialize('a -= (b -= c)') is 'a -= (b -= c)' PASS compileAndSerialize('a = b -= c') is 'a = b -= c' -FAIL compileAndSerialize('(a = b) -= c') should be (a = b) -= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) -= c') is '(a = b) -= c' PASS compileAndSerialize('a = (b -= c)') is 'a = (b -= c)' PASS compileAndSerialize('a -= b + c') is 'a -= b + c' PASS compileAndSerialize('(a -= b) + c') is '(a -= b) + c' PASS compileAndSerialize('a -= (b + c)') is 'a -= (b + c)' -PASS compileAndSerialize('a + b -= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) -= c') should be (a + b) -= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b -= c') should throw an exception. Was a + b -= c. +PASS compileAndSerialize('(a + b) -= c') is '(a + b) -= c' PASS compileAndSerialize('a + (b -= c)') is 'a + (b -= c)' PASS compileAndSerialize('a <<= b <<= c') is 'a <<= b <<= c' -FAIL compileAndSerialize('(a <<= b) <<= c') should be (a <<= b) <<= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a <<= b) <<= c') is '(a <<= b) <<= c' PASS compileAndSerialize('a <<= (b <<= c)') is 'a <<= (b <<= c)' PASS compileAndSerialize('a = b <<= c') is 'a = b <<= c' -FAIL compileAndSerialize('(a = b) <<= c') should be (a = b) <<= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) <<= c') is '(a = b) <<= c' PASS compileAndSerialize('a = (b <<= c)') is 'a = (b <<= c)' PASS compileAndSerialize('a <<= b + c') is 'a <<= b + c' PASS compileAndSerialize('(a <<= b) + c') is '(a <<= b) + c' PASS compileAndSerialize('a <<= (b + c)') is 'a <<= (b + c)' -PASS compileAndSerialize('a + b <<= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) <<= c') should be (a + b) <<= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b <<= c') should throw an exception. Was a + b <<= c. +PASS compileAndSerialize('(a + b) <<= c') is '(a + b) <<= c' PASS compileAndSerialize('a + (b <<= c)') is 'a + (b <<= c)' PASS compileAndSerialize('a >>= b >>= c') is 'a >>= b >>= c' -FAIL compileAndSerialize('(a >>= b) >>= c') should be (a >>= b) >>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a >>= b) >>= c') is '(a >>= b) >>= c' PASS compileAndSerialize('a >>= (b >>= c)') is 'a >>= (b >>= c)' PASS compileAndSerialize('a = b >>= c') is 'a = b >>= c' -FAIL compileAndSerialize('(a = b) >>= c') should be (a = b) >>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) >>= c') is '(a = b) >>= c' PASS compileAndSerialize('a = (b >>= c)') is 'a = (b >>= c)' PASS compileAndSerialize('a >>= b + c') is 'a >>= b + c' PASS compileAndSerialize('(a >>= b) + c') is '(a >>= b) + c' PASS compileAndSerialize('a >>= (b + c)') is 'a >>= (b + c)' -PASS compileAndSerialize('a + b >>= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) >>= c') should be (a + b) >>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b >>= c') should throw an exception. Was a + b >>= c. +PASS compileAndSerialize('(a + b) >>= c') is '(a + b) >>= c' PASS compileAndSerialize('a + (b >>= c)') is 'a + (b >>= c)' PASS compileAndSerialize('a >>>= b >>>= c') is 'a >>>= b >>>= c' -FAIL compileAndSerialize('(a >>>= b) >>>= c') should be (a >>>= b) >>>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a >>>= b) >>>= c') is '(a >>>= b) >>>= c' PASS compileAndSerialize('a >>>= (b >>>= c)') is 'a >>>= (b >>>= c)' PASS compileAndSerialize('a = b >>>= c') is 'a = b >>>= c' -FAIL compileAndSerialize('(a = b) >>>= c') should be (a = b) >>>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) >>>= c') is '(a = b) >>>= c' PASS compileAndSerialize('a = (b >>>= c)') is 'a = (b >>>= c)' PASS compileAndSerialize('a >>>= b + c') is 'a >>>= b + c' PASS compileAndSerialize('(a >>>= b) + c') is '(a >>>= b) + c' PASS compileAndSerialize('a >>>= (b + c)') is 'a >>>= (b + c)' -PASS compileAndSerialize('a + b >>>= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) >>>= c') should be (a + b) >>>= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b >>>= c') should throw an exception. Was a + b >>>= c. +PASS compileAndSerialize('(a + b) >>>= c') is '(a + b) >>>= c' PASS compileAndSerialize('a + (b >>>= c)') is 'a + (b >>>= c)' PASS compileAndSerialize('a &= b &= c') is 'a &= b &= c' -FAIL compileAndSerialize('(a &= b) &= c') should be (a &= b) &= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a &= b) &= c') is '(a &= b) &= c' PASS compileAndSerialize('a &= (b &= c)') is 'a &= (b &= c)' PASS compileAndSerialize('a = b &= c') is 'a = b &= c' -FAIL compileAndSerialize('(a = b) &= c') should be (a = b) &= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) &= c') is '(a = b) &= c' PASS compileAndSerialize('a = (b &= c)') is 'a = (b &= c)' PASS compileAndSerialize('a &= b + c') is 'a &= b + c' PASS compileAndSerialize('(a &= b) + c') is '(a &= b) + c' PASS compileAndSerialize('a &= (b + c)') is 'a &= (b + c)' -PASS compileAndSerialize('a + b &= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) &= c') should be (a + b) &= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b &= c') should throw an exception. Was a + b &= c. +PASS compileAndSerialize('(a + b) &= c') is '(a + b) &= c' PASS compileAndSerialize('a + (b &= c)') is 'a + (b &= c)' PASS compileAndSerialize('a ^= b ^= c') is 'a ^= b ^= c' -FAIL compileAndSerialize('(a ^= b) ^= c') should be (a ^= b) ^= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a ^= b) ^= c') is '(a ^= b) ^= c' PASS compileAndSerialize('a ^= (b ^= c)') is 'a ^= (b ^= c)' PASS compileAndSerialize('a = b ^= c') is 'a = b ^= c' -FAIL compileAndSerialize('(a = b) ^= c') should be (a = b) ^= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) ^= c') is '(a = b) ^= c' PASS compileAndSerialize('a = (b ^= c)') is 'a = (b ^= c)' PASS compileAndSerialize('a ^= b + c') is 'a ^= b + c' PASS compileAndSerialize('(a ^= b) + c') is '(a ^= b) + c' PASS compileAndSerialize('a ^= (b + c)') is 'a ^= (b + c)' -PASS compileAndSerialize('a + b ^= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) ^= c') should be (a + b) ^= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b ^= c') should throw an exception. Was a + b ^= c. +PASS compileAndSerialize('(a + b) ^= c') is '(a + b) ^= c' PASS compileAndSerialize('a + (b ^= c)') is 'a + (b ^= c)' PASS compileAndSerialize('a |= b |= c') is 'a |= b |= c' -FAIL compileAndSerialize('(a |= b) |= c') should be (a |= b) |= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a |= b) |= c') is '(a |= b) |= c' PASS compileAndSerialize('a |= (b |= c)') is 'a |= (b |= c)' PASS compileAndSerialize('a = b |= c') is 'a = b |= c' -FAIL compileAndSerialize('(a = b) |= c') should be (a = b) |= c. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(a = b) |= c') is '(a = b) |= c' PASS compileAndSerialize('a = (b |= c)') is 'a = (b |= c)' PASS compileAndSerialize('a |= b + c') is 'a |= b + c' PASS compileAndSerialize('(a |= b) + c') is '(a |= b) + c' PASS compileAndSerialize('a |= (b + c)') is 'a |= (b + c)' -PASS compileAndSerialize('a + b |= c') threw exception SyntaxError: Invalid left-hand side in assignment. -FAIL compileAndSerialize('(a + b) |= c') should be (a + b) |= c. Threw exception SyntaxError: Invalid left-hand side in assignment +FAIL compileAndSerialize('a + b |= c') should throw an exception. Was a + b |= c. +PASS compileAndSerialize('(a + b) |= c') is '(a + b) |= c' PASS compileAndSerialize('a + (b |= c)') is 'a + (b |= c)' PASS compileAndSerialize('delete a + b') is 'delete a + b' PASS compileAndSerialize('(delete a) + b') is '(delete a) + b' @@ -368,12 +368,12 @@ PASS compileAndSerialize('!typeof a') is '!typeof a' PASS compileAndSerialize('!(typeof a)') is '!(typeof a)' PASS compileAndSerialize('++a + b') is '++a + b' PASS compileAndSerialize('(++a) + b') is '(++a) + b' -FAIL compileAndSerialize('++(a + b)') should be ++(a + b). Threw exception SyntaxError: Invalid left-hand side expression in prefix operation +PASS compileAndSerialize('++(a + b)') is '++(a + b)' PASS compileAndSerialize('!++a') is '!++a' PASS compileAndSerialize('!(++a)') is '!(++a)' PASS compileAndSerialize('--a + b') is '--a + b' PASS compileAndSerialize('(--a) + b') is '(--a) + b' -FAIL compileAndSerialize('--(a + b)') should be --(a + b). Threw exception SyntaxError: Invalid left-hand side expression in prefix operation +PASS compileAndSerialize('--(a + b)') is '--(a + b)' PASS compileAndSerialize('!--a') is '!--a' PASS compileAndSerialize('!(--a)') is '!(--a)' PASS compileAndSerialize('+ a + b') is '+ a + b' @@ -398,10 +398,10 @@ PASS compileAndSerialize('!!a') is '!!a' PASS compileAndSerialize('!(!a)') is '!(!a)' PASS compileAndSerialize('!a++') is '!a++' PASS compileAndSerialize('!(a++)') is '!(a++)' -FAIL compileAndSerialize('(!a)++') should be (!a)++. Threw exception SyntaxError: Invalid left-hand side expression in postfix operation +PASS compileAndSerialize('(!a)++') is '(!a)++' PASS compileAndSerialize('!a--') is '!a--' PASS compileAndSerialize('!(a--)') is '!(a--)' -FAIL compileAndSerialize('(!a)--') should be (!a)--. Threw exception SyntaxError: Invalid left-hand side expression in postfix operation +PASS compileAndSerialize('(!a)--') is '(!a)--' PASS compileAndSerialize('(-1)[a]') is '(-1)[a]' PASS compileAndSerialize('(-1)[a] = b') is '(-1)[a] = b' PASS compileAndSerialize('(-1)[a] += b') is '(-1)[a] += b' @@ -441,42 +441,42 @@ PASS compileAndSerialize('(1).a += b') is '(1).a += b' PASS compileAndSerialize('(1).a++') is '(1).a++' PASS compileAndSerialize('++(1).a') is '++(1).a' PASS compileAndSerialize('(1).a()') is '(1).a()' -FAIL compileAndSerialize('(-1) = a') should be (-1) = a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) = a') should be (- 0) = a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 = a') should be 1 = a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) *= a') should be (-1) *= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) *= a') should be (- 0) *= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 *= a') should be 1 *= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) /= a') should be (-1) /= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) /= a') should be (- 0) /= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 /= a') should be 1 /= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) %= a') should be (-1) %= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) %= a') should be (- 0) %= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 %= a') should be 1 %= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) += a') should be (-1) += a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) += a') should be (- 0) += a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 += a') should be 1 += a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) -= a') should be (-1) -= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) -= a') should be (- 0) -= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 -= a') should be 1 -= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) <<= a') should be (-1) <<= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) <<= a') should be (- 0) <<= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 <<= a') should be 1 <<= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) >>= a') should be (-1) >>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) >>= a') should be (- 0) >>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 >>= a') should be 1 >>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) >>>= a') should be (-1) >>>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) >>>= a') should be (- 0) >>>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 >>>= a') should be 1 >>>= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) &= a') should be (-1) &= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) &= a') should be (- 0) &= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 &= a') should be 1 &= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) ^= a') should be (-1) ^= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) ^= a') should be (- 0) ^= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 ^= a') should be 1 ^= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(-1) |= a') should be (-1) |= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('(- 0) |= a') should be (- 0) |= a. Threw exception SyntaxError: Invalid left-hand side in assignment -FAIL compileAndSerialize('1 |= a') should be 1 |= a. Threw exception SyntaxError: Invalid left-hand side in assignment +PASS compileAndSerialize('(-1) = a') is '(-1) = a' +PASS compileAndSerialize('(- 0) = a') is '(- 0) = a' +PASS compileAndSerialize('1 = a') is '1 = a' +PASS compileAndSerialize('(-1) *= a') is '(-1) *= a' +PASS compileAndSerialize('(- 0) *= a') is '(- 0) *= a' +PASS compileAndSerialize('1 *= a') is '1 *= a' +PASS compileAndSerialize('(-1) /= a') is '(-1) /= a' +PASS compileAndSerialize('(- 0) /= a') is '(- 0) /= a' +PASS compileAndSerialize('1 /= a') is '1 /= a' +PASS compileAndSerialize('(-1) %= a') is '(-1) %= a' +PASS compileAndSerialize('(- 0) %= a') is '(- 0) %= a' +PASS compileAndSerialize('1 %= a') is '1 %= a' +PASS compileAndSerialize('(-1) += a') is '(-1) += a' +PASS compileAndSerialize('(- 0) += a') is '(- 0) += a' +PASS compileAndSerialize('1 += a') is '1 += a' +PASS compileAndSerialize('(-1) -= a') is '(-1) -= a' +PASS compileAndSerialize('(- 0) -= a') is '(- 0) -= a' +PASS compileAndSerialize('1 -= a') is '1 -= a' +PASS compileAndSerialize('(-1) <<= a') is '(-1) <<= a' +PASS compileAndSerialize('(- 0) <<= a') is '(- 0) <<= a' +PASS compileAndSerialize('1 <<= a') is '1 <<= a' +PASS compileAndSerialize('(-1) >>= a') is '(-1) >>= a' +PASS compileAndSerialize('(- 0) >>= a') is '(- 0) >>= a' +PASS compileAndSerialize('1 >>= a') is '1 >>= a' +PASS compileAndSerialize('(-1) >>>= a') is '(-1) >>>= a' +PASS compileAndSerialize('(- 0) >>>= a') is '(- 0) >>>= a' +PASS compileAndSerialize('1 >>>= a') is '1 >>>= a' +PASS compileAndSerialize('(-1) &= a') is '(-1) &= a' +PASS compileAndSerialize('(- 0) &= a') is '(- 0) &= a' +PASS compileAndSerialize('1 &= a') is '1 &= a' +PASS compileAndSerialize('(-1) ^= a') is '(-1) ^= a' +PASS compileAndSerialize('(- 0) ^= a') is '(- 0) ^= a' +PASS compileAndSerialize('1 ^= a') is '1 ^= a' +PASS compileAndSerialize('(-1) |= a') is '(-1) |= a' +PASS compileAndSerialize('(- 0) |= a') is '(- 0) |= a' +PASS compileAndSerialize('1 |= a') is '1 |= a' PASS compileAndSerializeLeftmostTest('({ }).x') is '({ }).x' PASS compileAndSerializeLeftmostTest('x = { }') is 'x = { }' PASS compileAndSerializeLeftmostTest('(function () { })()') is '(function () { })()' diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/postfix-syntax-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/postfix-syntax-expected.txt index c2ab500..9c04e84 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/postfix-syntax-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/postfix-syntax-expected.txt @@ -13,8 +13,8 @@ PASS (y, x++) is 6 PASS ((x))++ is 7 PASS ((window.x))++ is 8 PASS ((window["x"]))++ is 9 -PASS (y, x)++ threw exception SyntaxError: Invalid left-hand side expression in postfix operation. -PASS (true ? x : y)++ threw exception SyntaxError: Invalid left-hand side expression in postfix operation. +PASS (y, x)++ threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS (true ? x : y)++ threw exception ReferenceError: Invalid left-hand side expression in postfix operation. PASS x++++ threw exception SyntaxError: Unexpected token ++. PASS x is 0 PASS y is 0 diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/prefix-syntax-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/prefix-syntax-expected.txt index 363e581..50d1947 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/prefix-syntax-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/prefix-syntax-expected.txt @@ -13,9 +13,10 @@ PASS (y, ++x) is 7 PASS ++((x)) is 8 PASS ++((window.x)) is 9 PASS ++((window["x"])) is 10 -PASS ++(y, x) threw exception SyntaxError: Invalid left-hand side expression in prefix operation. -PASS ++(true ? x : y) threw exception SyntaxError: Invalid left-hand side expression in prefix operation. -PASS ++++x threw exception SyntaxError: Invalid left-hand side expression in prefix operation. +PASS ++(y, x) threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS ++(true ? x : y) threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS ++++x threw exception ReferenceError: Invalid left-hand side expression in prefix operation. PASS successfullyParsed is true TEST COMPLETE + diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/toString-prefix-postfix-preserve-parens-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/toString-prefix-postfix-preserve-parens-expected.txt index 5c2c64e..4f09ecaa 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/toString-prefix-postfix-preserve-parens-expected.txt +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/toString-prefix-postfix-preserve-parens-expected.txt @@ -1,4 +1,61 @@ -CONSOLE MESSAGE: line 6: Uncaught SyntaxError: Invalid left-hand side expression in postfix operation -FAIL successfullyParsed should be true. Threw exception ReferenceError: successfullyParsed is not defined +This test checks that toString() round-trip on a function that has prefix, postfix and typeof operators applied to group expression will not remove the grouping. Also checks that evaluation of such a expression produces run-time exception + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS unevalf(eval(unevalf(prefix_should_preserve_parens))) is unevalf(prefix_should_preserve_parens) +PASS /.*\(+x\)*, y\)/.test(unevalf(prefix_should_preserve_parens)) is true +PASS prefix_should_preserve_parens(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(prefix_should_preserve_parens))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(postfix_should_preserve_parens))) is unevalf(postfix_should_preserve_parens) +PASS /.*\(+x\)*, y\)/.test(unevalf(postfix_should_preserve_parens)) is true +PASS postfix_should_preserve_parens(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS eval(unevalf(postfix_should_preserve_parens))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS unevalf(eval(unevalf(both_should_preserve_parens))) is unevalf(both_should_preserve_parens) +PASS /.*\(+x\)*, y\)/.test(unevalf(both_should_preserve_parens)) is true +PASS both_should_preserve_parens(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(both_should_preserve_parens))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(prefix_should_preserve_parens_multi))) is unevalf(prefix_should_preserve_parens_multi) +PASS /.*\(+x\)*, y\)/.test(unevalf(prefix_should_preserve_parens_multi)) is true +PASS prefix_should_preserve_parens_multi(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(prefix_should_preserve_parens_multi))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(postfix_should_preserve_parens_multi))) is unevalf(postfix_should_preserve_parens_multi) +PASS /.*\(+x\)*, y\)/.test(unevalf(postfix_should_preserve_parens_multi)) is true +PASS postfix_should_preserve_parens_multi(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS eval(unevalf(postfix_should_preserve_parens_multi))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS unevalf(eval(unevalf(prefix_should_preserve_parens_multi1))) is unevalf(prefix_should_preserve_parens_multi1) +PASS /.*\(+x\)*, y\)/.test(unevalf(prefix_should_preserve_parens_multi1)) is true +PASS prefix_should_preserve_parens_multi1(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(prefix_should_preserve_parens_multi1))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(postfix_should_preserve_parens_multi1))) is unevalf(postfix_should_preserve_parens_multi1) +PASS /.*\(+x\)*, y\)/.test(unevalf(postfix_should_preserve_parens_multi1)) is true +PASS postfix_should_preserve_parens_multi1(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS eval(unevalf(postfix_should_preserve_parens_multi1))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS unevalf(eval(unevalf(prefix_should_preserve_parens_multi2))) is unevalf(prefix_should_preserve_parens_multi2) +PASS /.*\(+x\)*, y\)/.test(unevalf(prefix_should_preserve_parens_multi2)) is true +PASS prefix_should_preserve_parens_multi2(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS eval(unevalf(prefix_should_preserve_parens_multi2))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in prefix operation. +PASS unevalf(eval(unevalf(postfix_should_preserve_parens_multi2))) is unevalf(postfix_should_preserve_parens_multi2) +PASS /.*\(+x\)*, y\)/.test(unevalf(postfix_should_preserve_parens_multi2)) is true +PASS postfix_should_preserve_parens_multi2(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS eval(unevalf(postfix_should_preserve_parens_multi2))(1, 2, 3); threw exception ReferenceError: Invalid left-hand side expression in postfix operation. +PASS unevalf(eval(unevalf(typeof_should_preserve_parens))) is unevalf(typeof_should_preserve_parens) +PASS /.*\(+x\)*, y\)/.test(unevalf(typeof_should_preserve_parens)) is true +PASS typeof_should_preserve_parens('a', 1); is 'number' +PASS eval(unevalf(typeof_should_preserve_parens))('a', 1); is 'number' +PASS unevalf(eval(unevalf(typeof_should_preserve_parens1))) is unevalf(typeof_should_preserve_parens1) +PASS /.*\(+x\)*, y\)/.test(unevalf(typeof_should_preserve_parens1)) is true +PASS typeof_should_preserve_parens1('a', 1); is 'number' +PASS eval(unevalf(typeof_should_preserve_parens1))('a', 1); is 'number' +PASS unevalf(eval(unevalf(typeof_should_preserve_parens2))) is unevalf(typeof_should_preserve_parens2) +PASS /.*\(+x\)*, y\)/.test(unevalf(typeof_should_preserve_parens2)) is true +PASS typeof_should_preserve_parens2('a', 1); is 'number' +PASS eval(unevalf(typeof_should_preserve_parens2))('a', 1); is 'number' +PASS unevalf(eval(unevalf(typeof_should_preserve_parens_multi))) is unevalf(typeof_should_preserve_parens_multi) +PASS /.*\(+x\)*, y\)/.test(unevalf(typeof_should_preserve_parens_multi)) is true +PASS typeof_should_preserve_parens_multi('a', 1); is 'number' +PASS eval(unevalf(typeof_should_preserve_parens_multi))('a', 1); is 'number' +PASS successfullyParsed is true TEST COMPLETE + |