# Copyright 2013 the V8 project authors. All rights reserved.
# Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1.  Redistributions of source code must retain the above copyright
#     notice, this list of conditions and the following disclaimer.
# 2.  Redistributions in binary form must reproduce the above copyright
#     notice, this list of conditions and the following disclaimer in the
#     documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This test checks that the following expressions or statements are valid ECMASCRIPT code or should throw parse error

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Unary operators and member access
PASS Valid:   ""
PASS Valid:   "function f() {  }"
PASS Invalid: "(a"
PASS Invalid: "function f() { (a }"
PASS Invalid: "a[5"
PASS Invalid: "function f() { a[5 }"
PASS Invalid: "a[5 + 6"
PASS Invalid: "function f() { a[5 + 6 }"
PASS Invalid: "a."
PASS Invalid: "function f() { a. }"
PASS Invalid: "()"
PASS Invalid: "function f() { () }"
PASS Invalid: "a.'l'"
PASS Invalid: "function f() { a.'l' }"
PASS Valid:   "a: +~!new a"
PASS Valid:   "function f() { a: +~!new a }"
PASS Invalid: "new -a"
PASS Invalid: "function f() { new -a }"
PASS Valid:   "new (-1)"
PASS Valid:   "function f() { new (-1) }"
PASS Valid:   "a: b: c: new f(x++)++"
PASS Valid:   "function f() { a: b: c: new f(x++)++ }"
PASS Valid:   "(a)++"
PASS Valid:   "function f() { (a)++ }"
PASS Valid:   "(1--).x"
PASS Valid:   "function f() { (1--).x }"
PASS Invalid: "a-- ++"
PASS Invalid: "function f() { a-- ++ }"
PASS Invalid: "(a:) --b"
PASS Invalid: "function f() { (a:) --b }"
PASS Valid:   "++ -- ++ a"
PASS Valid:   "function f() { ++ -- ++ a }"
PASS Valid:   "++ new new a ++"
PASS Valid:   "function f() { ++ new new a ++ }"
PASS Valid:   "delete void 0"
PASS Valid:   "function f() { delete void 0 }"
PASS Invalid: "delete the void"
PASS Invalid: "function f() { delete the void }"
PASS Invalid: "(a++"
PASS Invalid: "function f() { (a++ }"
PASS Valid:   "++a--"
PASS Valid:   "function f() { ++a-- }"
PASS Valid:   "++((a))--"
PASS Valid:   "function f() { ++((a))-- }"
PASS Valid:   "(a.x++)++"
PASS Valid:   "function f() { (a.x++)++ }"
PASS Invalid: "1: null"
PASS Invalid: "function f() { 1: null }"
PASS Invalid: "+-!~"
PASS Invalid: "function f() { +-!~ }"
PASS Invalid: "+-!~(("
PASS Invalid: "function f() { +-!~(( }"
PASS Invalid: "a)"
PASS Invalid: "function f() { a) }"
PASS Invalid: "a]"
PASS Invalid: "function f() { a] }"
PASS Invalid: ".l"
PASS Invalid: "function f() { .l }"
PASS Invalid: "1.l"
PASS Invalid: "function f() { 1.l }"
PASS Valid:   "1 .l"
PASS Valid:   "function f() { 1 .l }"
Binary and conditional operators
PASS Valid:   "a + + typeof this"
PASS Valid:   "function f() { a + + typeof this }"
PASS Invalid: "a + * b"
PASS Invalid: "function f() { a + * b }"
PASS Invalid: "a ? b"
PASS Invalid: "function f() { a ? b }"
PASS Invalid: "a ? b :"
PASS Invalid: "function f() { a ? b : }"
PASS Invalid: "%a"
PASS Invalid: "function f() { %a }"
PASS Invalid: "a-"
PASS Invalid: "function f() { a- }"
PASS Valid:   "a = b ? b = c : d = e"
PASS Valid:   "function f() { a = b ? b = c : d = e }"
PASS Valid:   "s: a[1].l ? b.l['s'] ? c++ : d : true"
PASS Valid:   "function f() { s: a[1].l ? b.l['s'] ? c++ : d : true }"
PASS Valid:   "a ? b + 1 ? c + 3 * d.l : d[5][6] : e"
PASS Valid:   "function f() { a ? b + 1 ? c + 3 * d.l : d[5][6] : e }"
PASS Valid:   "a in b instanceof delete -c"
PASS Valid:   "function f() { a in b instanceof delete -c }"
PASS Invalid: "a in instanceof b.l"
PASS Invalid: "function f() { a in instanceof b.l }"
PASS Valid:   "- - true % 5"
PASS Valid:   "function f() { - - true % 5 }"
FAIL Invalid: "- false = 3" should throw undefined
FAIL Invalid: "function f() { - false = 3 }" should throw undefined
PASS Valid:   "a: b: c: (1 + null) = 3"
PASS Valid:   "function f() { a: b: c: (1 + null) = 3 }"
PASS Valid:   "a[2] = b.l += c /= 4 * 7 ^ !6"
PASS Valid:   "function f() { a[2] = b.l += c /= 4 * 7 ^ !6 }"
FAIL Invalid: "a + typeof b += c in d" should throw undefined
FAIL Invalid: "function f() { a + typeof b += c in d }" should throw undefined
FAIL Invalid: "typeof a &= typeof b" should throw undefined
FAIL Invalid: "function f() { typeof a &= typeof b }" should throw undefined
PASS Valid:   "a: ((typeof (a))) >>>= a || b.l && c"
PASS Valid:   "function f() { a: ((typeof (a))) >>>= a || b.l && c }"
PASS Valid:   "a: b: c[a /= f[a %= b]].l[c[x] = 7] -= a ? b <<= f : g"
PASS Valid:   "function f() { a: b: c[a /= f[a %= b]].l[c[x] = 7] -= a ? b <<= f : g }"
PASS Valid:   "-void+x['y'].l == x.l != 5 - f[7]"
PASS Valid:   "function f() { -void+x['y'].l == x.l != 5 - f[7] }"
Function calls (and new with arguments)
PASS Valid:   "a()()()"
PASS Valid:   "function f() { a()()() }"
PASS Valid:   "s: l: a[2](4 == 6, 5 = 6)(f[4], 6)"
PASS Valid:   "function f() { s: l: a[2](4 == 6, 5 = 6)(f[4], 6) }"
PASS Valid:   "s: eval(a.apply(), b.call(c[5] - f[7]))"
PASS Valid:   "function f() { s: eval(a.apply(), b.call(c[5] - f[7])) }"
PASS Invalid: "a("
PASS Invalid: "function f() { a( }"
PASS Invalid: "a(5"
PASS Invalid: "function f() { a(5 }"
PASS Invalid: "a(5,"
PASS Invalid: "function f() { a(5, }"
FAIL Invalid: "a(5,)" should throw undefined
FAIL Invalid: "function f() { a(5,) }" should throw undefined
PASS Invalid: "a(5,6"
PASS Invalid: "function f() { a(5,6 }"
PASS Valid:   "a(b[7], c <d> e.l, new a() > b)"
PASS Valid:   "function f() { a(b[7], c <d> e.l, new a() > b) }"
PASS Invalid: "a(b[5)"
PASS Invalid: "function f() { a(b[5) }"
PASS Invalid: "a(b.)"
PASS Invalid: "function f() { a(b.) }"
PASS Valid:   "~new new a(1)(i++)(c[l])"
PASS Valid:   "function f() { ~new new a(1)(i++)(c[l]) }"
PASS Invalid: "a(*a)"
PASS Invalid: "function f() { a(*a) }"
PASS Valid:   "((((a))((b)()).l))()"
PASS Valid:   "function f() { ((((a))((b)()).l))() }"
PASS Valid:   "(a)[b + (c) / (d())].l--"
PASS Valid:   "function f() { (a)[b + (c) / (d())].l-- }"
PASS Valid:   "new (5)"
PASS Valid:   "function f() { new (5) }"
PASS Invalid: "new a(5"
PASS Invalid: "function f() { new a(5 }"
PASS Valid:   "new (f + 5)(6, (g)() - 'l'() - true(false))"
PASS Valid:   "function f() { new (f + 5)(6, (g)() - 'l'() - true(false)) }"
PASS Invalid: "a(.length)"
PASS Invalid: "function f() { a(.length) }"
function declaration and expression
PASS Valid:   "function f() {}"
PASS Valid:   "function f() { function f() {} }"
PASS Valid:   "function f(a,b) {}"
PASS Valid:   "function f() { function f(a,b) {} }"
PASS Invalid: "function () {}"
PASS Invalid: "function f() { function () {} }"
PASS Invalid: "function f(a b) {}"
PASS Invalid: "function f() { function f(a b) {} }"
FAIL Invalid: "function f(a,) {}" should throw undefined
FAIL Invalid: "function f() { function f(a,) {} }" should throw undefined
PASS Invalid: "function f(a,"
PASS Invalid: "function f() { function f(a, }"
PASS Invalid: "function f(a, 1) {}"
PASS Invalid: "function f() { function f(a, 1) {} }"
PASS Valid:   "function g(arguments, eval) {}"
PASS Valid:   "function f() { function g(arguments, eval) {} }"
PASS Valid:   "function f() {} + function g() {}"
PASS Valid:   "function f() { function f() {} + function g() {} }"
PASS Invalid: "(function a{})"
PASS Invalid: "function f() { (function a{}) }"
PASS Invalid: "(function this(){})"
PASS Invalid: "function f() { (function this(){}) }"
PASS Valid:   "(delete new function f(){} + function(a,b){}(5)(6))"
PASS Valid:   "function f() { (delete new function f(){} + function(a,b){}(5)(6)) }"
PASS Valid:   "6 - function (m) { function g() {} }"
PASS Valid:   "function f() { 6 - function (m) { function g() {} } }"
PASS Invalid: "function l() {"
PASS Invalid: "function f() { function l() { }"
PASS Invalid: "function l++(){}"
PASS Invalid: "function f() { function l++(){} }"
Array and object literal, comma operator
PASS Valid:   "[] in [5,6] * [,5,] / [,,5,,] || [a,] && new [,b] % [,,]"
PASS Valid:   "function f() { [] in [5,6] * [,5,] / [,,5,,] || [a,] && new [,b] % [,,] }"
PASS Invalid: "[5,"
PASS Invalid: "function f() { [5, }"
PASS Invalid: "[,"
PASS Invalid: "function f() { [, }"
PASS Invalid: "(a,)"
PASS Invalid: "function f() { (a,) }"
PASS Valid:   "1 + {get get(){}, set set(a){}, get1:4, set1:get-set, }"
PASS Valid:   "function f() { 1 + {get get(){}, set set(a){}, get1:4, set1:get-set, } }"
PASS Invalid: "1 + {a"
PASS Invalid: "function f() { 1 + {a }"
PASS Invalid: "1 + {a:"
PASS Invalid: "function f() { 1 + {a: }"
PASS Invalid: "1 + {get l("
PASS Invalid: "function f() { 1 + {get l( }"
PASS Invalid: ",a"
PASS Invalid: "function f() { ,a }"
PASS Valid:   "(4,(5,a(3,4))),f[4,a-6]"
PASS Valid:   "function f() { (4,(5,a(3,4))),f[4,a-6] }"
PASS Invalid: "(,f)"
PASS Invalid: "function f() { (,f) }"
PASS Invalid: "a,,b"
PASS Invalid: "function f() { a,,b }"
PASS Invalid: "a ? b, c : d"
PASS Invalid: "function f() { a ? b, c : d }"
simple statements
PASS Valid:   "{ }"
PASS Valid:   "function f() { { } }"
PASS Invalid: "{ { }"
PASS Invalid: "function f() { { { } }"
PASS Valid:   "{ ; ; ; }"
PASS Valid:   "function f() { { ; ; ; } }"
PASS Valid:   "a: { ; }"
PASS Valid:   "function f() { a: { ; } }"
PASS Invalid: "{ a: }"
PASS Invalid: "function f() { { a: } }"
PASS Valid:   "{} f; { 6 + f() }"
PASS Valid:   "function f() { {} f; { 6 + f() } }"
PASS Valid:   "{ a[5],6; {} ++b-new (-5)() } c().l++"
PASS Valid:   "function f() { { a[5],6; {} ++b-new (-5)() } c().l++ }"
PASS Valid:   "{ l1: l2: l3: { this } a = 32 ; { i++ ; { { { } } ++i } } }"
PASS Valid:   "function f() { { l1: l2: l3: { this } a = 32 ; { i++ ; { { { } } ++i } } } }"
PASS Valid:   "if (a) ;"
PASS Valid:   "function f() { if (a) ; }"
PASS Invalid: "{ if (a) }"
PASS Invalid: "function f() { { if (a) } }"
PASS Invalid: "if a {}"
PASS Invalid: "function f() { if a {} }"
PASS Invalid: "if (a"
PASS Invalid: "function f() { if (a }"
PASS Invalid: "if (a { }"
PASS Invalid: "function f() { if (a { } }"
PASS Valid:   "x: s: if (a) ; else b"
PASS Valid:   "function f() { x: s: if (a) ; else b }"
PASS Invalid: "else {}"
PASS Invalid: "function f() { else {} }"
PASS Valid:   "if (a) if (b) y; else {} else ;"
PASS Valid:   "function f() { if (a) if (b) y; else {} else ; }"
PASS Invalid: "if (a) {} else x; else"
PASS Invalid: "function f() { if (a) {} else x; else }"
PASS Invalid: "if (a) { else }"
PASS Invalid: "function f() { if (a) { else } }"
PASS Valid:   "if (a.l + new b()) 4 + 5 - f()"
PASS Valid:   "function f() { if (a.l + new b()) 4 + 5 - f() }"
PASS Valid:   "if (a) with (x) ; else with (y) ;"
PASS Valid:   "function f() { if (a) with (x) ; else with (y) ; }"
PASS Invalid: "with a.b { }"
PASS Invalid: "function f() { with a.b { } }"
PASS Valid:   "while (a() - new b) ;"
PASS Valid:   "function f() { while (a() - new b) ; }"
PASS Invalid: "while a {}"
PASS Invalid: "function f() { while a {} }"
PASS Valid:   "do ; while(0) i++"
PASS Valid:   "function f() { do ; while(0) i++ }"
PASS Valid:   "do if (a) x; else y; while(z)"
PASS Valid:   "function f() { do if (a) x; else y; while(z) }"
PASS Invalid: "do g; while 4"
PASS Invalid: "function f() { do g; while 4 }"
PASS Invalid: "do g; while ((4)"
PASS Invalid: "function f() { do g; while ((4) }"
PASS Valid:   "{ { do do do ; while(0) while(0) while(0) } }"
PASS Valid:   "function f() { { { do do do ; while(0) while(0) while(0) } } }"
PASS Valid:   "do while (0) if (a) {} else y; while(0)"
PASS Valid:   "function f() { do while (0) if (a) {} else y; while(0) }"
PASS Valid:   "if (a) while (b) if (c) with(d) {} else e; else f"
PASS Valid:   "function f() { if (a) while (b) if (c) with(d) {} else e; else f }"
PASS Invalid: "debugger X"
PASS Invalid: "function f() { debugger X }"
PASS Invalid: "break 0.2"
PASS Invalid: "function f() { break 0.2 }"
PASS Invalid: "continue a++"
PASS Invalid: "function f() { continue a++ }"
PASS Invalid: "continue (my_friend)"
PASS Invalid: "function f() { continue (my_friend) }"
PASS Valid:   "while (1) break"
PASS Valid:   "function f() { while (1) break }"
PASS Valid:   "do if (a) with (b) continue; else debugger; while (false)"
PASS Valid:   "function f() { do if (a) with (b) continue; else debugger; while (false) }"
PASS Invalid: "do if (a) while (false) else debugger"
PASS Invalid: "function f() { do if (a) while (false) else debugger }"
PASS Invalid: "while if (a) ;"
PASS Invalid: "function f() { while if (a) ; }"
PASS Valid:   "if (a) function f() {} else function g() {}"
PASS Valid:   "function f() { if (a) function f() {} else function g() {} }"
PASS Invalid: "if (a()) while(0) function f() {} else function g() {}"
PASS Invalid: "function f() { if (a()) while(0) function f() {} else function g() {} }"
PASS Invalid: "if (a()) function f() { else function g() }"
PASS Invalid: "function f() { if (a()) function f() { else function g() } }"
PASS Invalid: "if (a) if (b) ; else function f {}"
PASS Invalid: "function f() { if (a) if (b) ; else function f {} }"
PASS Invalid: "if (a) if (b) ; else function (){}"
PASS Invalid: "function f() { if (a) if (b) ; else function (){} }"
PASS Valid:   "throw a"
PASS Valid:   "function f() { throw a }"
PASS Valid:   "throw a + b in void c"
PASS Valid:   "function f() { throw a + b in void c }"
PASS Invalid: "throw"
PASS Invalid: "function f() { throw }"
var and const statements
PASS Valid:   "var a, b = null"
PASS Valid:   "function f() { var a, b = null }"
FAIL Valid:   "const a = 5, b, c" should NOT throw
FAIL Valid:   "function f() { const a = 5, b, c }" should NOT throw
PASS Invalid: "var"
PASS Invalid: "function f() { var }"
PASS Invalid: "var = 7"
PASS Invalid: "function f() { var = 7 }"
PASS Invalid: "var c (6)"
PASS Invalid: "function f() { var c (6) }"
FAIL Valid:   "if (a) var a,b; else const b, c" should NOT throw
FAIL Valid:   "function f() { if (a) var a,b; else const b, c }" should NOT throw
PASS Invalid: "var 5 = 6"
PASS Invalid: "function f() { var 5 = 6 }"
PASS Valid:   "while (0) var a, b, c=6, d, e, f=5*6, g=f*h, h"
PASS Valid:   "function f() { while (0) var a, b, c=6, d, e, f=5*6, g=f*h, h }"
PASS Invalid: "var a = if (b) { c }"
PASS Invalid: "function f() { var a = if (b) { c } }"
PASS Invalid: "var a = var b"
PASS Invalid: "function f() { var a = var b }"
FAIL Valid:   "const a = b += c, a, a, a = (b - f())" should NOT throw
FAIL Valid:   "function f() { const a = b += c, a, a, a = (b - f()) }" should NOT throw
PASS Invalid: "var a %= b | 5"
PASS Invalid: "function f() { var a %= b | 5 }"
PASS Invalid: "var (a) = 5"
PASS Invalid: "function f() { var (a) = 5 }"
PASS Invalid: "var a = (4, b = 6"
PASS Invalid: "function f() { var a = (4, b = 6 }"
PASS Invalid: "const 'l' = 3"
PASS Invalid: "function f() { const 'l' = 3 }"
PASS Invalid: "var var = 3"
PASS Invalid: "function f() { var var = 3 }"
PASS Valid:   "var varr = 3 in 1"
PASS Valid:   "function f() { var varr = 3 in 1 }"
FAIL Valid:   "const a, a, a = void 7 - typeof 8, a = 8" should NOT throw
FAIL Valid:   "function f() { const a, a, a = void 7 - typeof 8, a = 8 }" should NOT throw
PASS Valid:   "const x_x = 6 /= 7 ? e : f"
PASS Valid:   "function f() { const x_x = 6 /= 7 ? e : f }"
PASS Invalid: "var a = ?"
PASS Invalid: "function f() { var a = ? }"
PASS Invalid: "const a = *7"
PASS Invalid: "function f() { const a = *7 }"
PASS Invalid: "var a = :)"
PASS Invalid: "function f() { var a = :) }"
PASS Valid:   "var a = a in b in c instanceof d"
PASS Valid:   "function f() { var a = a in b in c instanceof d }"
PASS Invalid: "var a = b ? c, b"
PASS Invalid: "function f() { var a = b ? c, b }"
PASS Invalid: "const a = b : c"
PASS Invalid: "function f() { const a = b : c }"
for statement
PASS Valid:   "for ( ; ; ) { break }"
PASS Valid:   "function f() { for ( ; ; ) { break } }"
PASS Valid:   "for ( a ; ; ) { break }"
PASS Valid:   "function f() { for ( a ; ; ) { break } }"
PASS Valid:   "for ( ; a ; ) { break }"
PASS Valid:   "function f() { for ( ; a ; ) { break } }"
PASS Valid:   "for ( ; ; a ) { break }"
PASS Valid:   "function f() { for ( ; ; a ) { break } }"
PASS Valid:   "for ( a ; a ; ) break"
PASS Valid:   "function f() { for ( a ; a ; ) break }"
PASS Valid:   "for ( a ; ; a ) break"
PASS Valid:   "function f() { for ( a ; ; a ) break }"
PASS Valid:   "for ( ; a ; a ) break"
PASS Valid:   "function f() { for ( ; a ; a ) break }"
PASS Invalid: "for () { }"
PASS Invalid: "function f() { for () { } }"
PASS Invalid: "for ( a ) { }"
PASS Invalid: "function f() { for ( a ) { } }"
PASS Invalid: "for ( ; ) ;"
PASS Invalid: "function f() { for ( ; ) ; }"
PASS Invalid: "for a ; b ; c { }"
PASS Invalid: "function f() { for a ; b ; c { } }"
PASS Invalid: "for (a ; { }"
PASS Invalid: "function f() { for (a ; { } }"
PASS Invalid: "for ( a ; ) ;"
PASS Invalid: "function f() { for ( a ; ) ; }"
PASS Invalid: "for ( ; a ) break"
PASS Invalid: "function f() { for ( ; a ) break }"
PASS Valid:   "for (var a, b ; ; ) { break } "
PASS Valid:   "function f() { for (var a, b ; ; ) { break }  }"
PASS Valid:   "for (var a = b, b = a ; ; ) break"
PASS Valid:   "function f() { for (var a = b, b = a ; ; ) break }"
PASS Valid:   "for (var a = b, c, d, b = a ; x in b ; ) { break }"
PASS Valid:   "function f() { for (var a = b, c, d, b = a ; x in b ; ) { break } }"
PASS Valid:   "for (var a = b, c, d ; ; 1 in a()) break"
PASS Valid:   "function f() { for (var a = b, c, d ; ; 1 in a()) break }"
PASS Invalid: "for ( ; var a ; ) break"
PASS Invalid: "function f() { for ( ; var a ; ) break }"
PASS Invalid: "for (const a; ; ) break"
PASS Invalid: "function f() { for (const a; ; ) break }"
PASS Invalid: "for ( %a ; ; ) { }"
PASS Invalid: "function f() { for ( %a ; ; ) { } }"
PASS Valid:   "for (a in b) break"
PASS Valid:   "function f() { for (a in b) break }"
PASS Valid:   "for (a() in b) break"
PASS Valid:   "function f() { for (a() in b) break }"
PASS Valid:   "for (a().l[4] in b) break"
PASS Valid:   "function f() { for (a().l[4] in b) break }"
PASS Invalid: "for (new a in b in c in d) break"
PASS Invalid: "function f() { for (new a in b in c in d) break }"
PASS Invalid: "for (new new new a in b) break"
PASS Invalid: "function f() { for (new new new a in b) break }"
PASS Invalid: "for (delete new a() in b) break"
PASS Invalid: "function f() { for (delete new a() in b) break }"
PASS Invalid: "for (a * a in b) break"
PASS Invalid: "function f() { for (a * a in b) break }"
PASS Invalid: "for ((a * a) in b) break"
PASS Invalid: "function f() { for ((a * a) in b) break }"
PASS Invalid: "for (a++ in b) break"
PASS Invalid: "function f() { for (a++ in b) break }"
PASS Invalid: "for ((a++) in b) break"
PASS Invalid: "function f() { for ((a++) in b) break }"
PASS Invalid: "for (++a in b) break"
PASS Invalid: "function f() { for (++a in b) break }"
PASS Invalid: "for ((++a) in b) break"
PASS Invalid: "function f() { for ((++a) in b) break }"
PASS Invalid: "for (a, b in c) break"
PASS Invalid: "function f() { for (a, b in c) break }"
PASS Invalid: "for (a,b in c ;;) break"
PASS Invalid: "function f() { for (a,b in c ;;) break }"
PASS Valid:   "for (a,(b in c) ;;) break"
PASS Valid:   "function f() { for (a,(b in c) ;;) break }"
PASS Invalid: "for ((a, b) in c) break"
PASS Invalid: "function f() { for ((a, b) in c) break }"
PASS Invalid: "for (a ? b : c in c) break"
PASS Invalid: "function f() { for (a ? b : c in c) break }"
PASS Invalid: "for ((a ? b : c) in c) break"
PASS Invalid: "function f() { for ((a ? b : c) in c) break }"
PASS Valid:   "for (var a in b in c) break"
PASS Valid:   "function f() { for (var a in b in c) break }"
PASS Valid:   "for (var a = 5 += 6 in b) break"
PASS Valid:   "function f() { for (var a = 5 += 6 in b) break }"
PASS Invalid: "for (var a += 5 in b) break"
PASS Invalid: "function f() { for (var a += 5 in b) break }"
PASS Invalid: "for (var a = in b) break"
PASS Invalid: "function f() { for (var a = in b) break }"
PASS Invalid: "for (var a, b in b) break"
PASS Invalid: "function f() { for (var a, b in b) break }"
PASS Invalid: "for (var a = -6, b in b) break"
PASS Invalid: "function f() { for (var a = -6, b in b) break }"
PASS Invalid: "for (var a, b = 8 in b) break"
PASS Invalid: "function f() { for (var a, b = 8 in b) break }"
PASS Valid:   "for (var a = (b in c) in d) break"
PASS Valid:   "function f() { for (var a = (b in c) in d) break }"
PASS Invalid: "for (var a = (b in c in d) break"
PASS Invalid: "function f() { for (var a = (b in c in d) break }"
PASS Invalid: "for (var (a) in b) { }"
PASS Invalid: "function f() { for (var (a) in b) { } }"
PASS Valid:   "for (var a = 7, b = c < d >= d ; f()[6]++ ; --i()[1]++ ) {}"
PASS Valid:   "function f() { for (var a = 7, b = c < d >= d ; f()[6]++ ; --i()[1]++ ) {} }"
try statement
PASS Valid:   "try {} finally { c++ }"
PASS Valid:   "function f() { try {} finally { c++ } }"
PASS Valid:   "try { with (x) { } } catch(e) {} finally { if (a) ; }"
PASS Valid:   "function f() { try { with (x) { } } catch(e) {} finally { if (a) ; } }"
PASS Invalid: "try {}"
PASS Invalid: "function f() { try {} }"
PASS Invalid: "catch(e) {}"
PASS Invalid: "function f() { catch(e) {} }"
PASS Invalid: "finally {}"
PASS Invalid: "function f() { finally {} }"
PASS Invalid: "try a; catch(e) {}"
PASS Invalid: "function f() { try a; catch(e) {} }"
PASS Invalid: "try {} catch(e) a()"
PASS Invalid: "function f() { try {} catch(e) a() }"
PASS Invalid: "try {} finally a()"
PASS Invalid: "function f() { try {} finally a() }"
PASS Invalid: "try {} catch(e)"
PASS Invalid: "function f() { try {} catch(e) }"
PASS Invalid: "try {} finally"
PASS Invalid: "function f() { try {} finally }"
PASS Invalid: "try {} finally {} catch(e) {}"
PASS Invalid: "function f() { try {} finally {} catch(e) {} }"
PASS Invalid: "try {} catch (...) {}"
PASS Invalid: "function f() { try {} catch (...) {} }"
PASS Invalid: "try {} catch {}"
PASS Invalid: "function f() { try {} catch {} }"
PASS Valid:   "if (a) try {} finally {} else b;"
PASS Valid:   "function f() { if (a) try {} finally {} else b; }"
PASS Valid:   "if (--a()) do with(1) try {} catch(ke) { f() ; g() } while (a in b) else {}"
PASS Valid:   "function f() { if (--a()) do with(1) try {} catch(ke) { f() ; g() } while (a in b) else {} }"
PASS Invalid: "if (a) try {} else b; catch (e) { }"
PASS Invalid: "function f() { if (a) try {} else b; catch (e) { } }"
PASS Invalid: "try { finally {}"
PASS Invalid: "function f() { try { finally {} }"
switch statement
PASS Valid:   "switch (a) {}"
PASS Valid:   "function f() { switch (a) {} }"
PASS Invalid: "switch () {}"
PASS Invalid: "function f() { switch () {} }"
PASS Invalid: "case 5:"
PASS Invalid: "function f() { case 5: }"
PASS Invalid: "default:"
PASS Invalid: "function f() { default: }"
PASS Invalid: "switch (a) b;"
PASS Invalid: "function f() { switch (a) b; }"
PASS Invalid: "switch (a) case 3: b;"
PASS Invalid: "function f() { switch (a) case 3: b; }"
PASS Valid:   "switch (f()) { case 5 * f(): default: case '6' - 9: ++i }"
PASS Valid:   "function f() { switch (f()) { case 5 * f(): default: case '6' - 9: ++i } }"
PASS Invalid: "switch (true) { default: case 6: default: }"
PASS Invalid: "function f() { switch (true) { default: case 6: default: } }"
PASS Invalid: "switch (l) { f(); }"
PASS Invalid: "function f() { switch (l) { f(); } }"
PASS Invalid: "switch (l) { case 1: ; a: case 5: }"
PASS Invalid: "function f() { switch (l) { case 1: ; a: case 5: } }"
PASS Valid:   "switch (g() - h[5].l) { case 1 + 6: a: b: c: ++f }"
PASS Valid:   "function f() { switch (g() - h[5].l) { case 1 + 6: a: b: c: ++f } }"
PASS Invalid: "switch (g) { case 1: a: }"
PASS Invalid: "function f() { switch (g) { case 1: a: } }"
PASS Invalid: "switch (g) { case 1: a: default: }"
PASS Invalid: "function f() { switch (g) { case 1: a: default: } }"
PASS Invalid: "switch g { case 1: l() }"
PASS Invalid: "function f() { switch g { case 1: l() } }"
PASS Invalid: "switch (g) { case 1:"
PASS Invalid: "function f() { switch (g) { case 1: }"
PASS Valid:   "switch (l) { case a = b ? c : d : }"
PASS Valid:   "function f() { switch (l) { case a = b ? c : d : } }"
PASS Valid:   "switch (sw) { case a ? b - 7[1] ? [c,,] : d = 6 : { } : }"
PASS Valid:   "function f() { switch (sw) { case a ? b - 7[1] ? [c,,] : d = 6 : { } : } }"
PASS Invalid: "switch (l) { case b ? c : }"
PASS Invalid: "function f() { switch (l) { case b ? c : } }"
PASS Valid:   "switch (l) { case 1: a: with(g) switch (g) { case 2: default: } default: }"
PASS Valid:   "function f() { switch (l) { case 1: a: with(g) switch (g) { case 2: default: } default: } }"
PASS Invalid: "switch (4 - ) { }"
PASS Invalid: "function f() { switch (4 - ) { } }"
PASS Invalid: "switch (l) { default case: 5; }"
PASS Invalid: "function f() { switch (l) { default case: 5; } }"
PASS Invalid: "for(var a,b 'this shouldn't be allowed' false ; ) ;"
PASS Invalid: "function f() { for(var a,b 'this shouldn't be allowed' false ; ) ; }"
PASS Invalid: "for(var a,b '"
PASS Invalid: "function f() { for(var a,b ' }"
PASS Valid:   "function __proto__(){}"
PASS Valid:   "function f() { function __proto__(){} }"
PASS Valid:   "(function __proto__(){})"
PASS Valid:   "function f() { (function __proto__(){}) }"
PASS Valid:   "'use strict'; function __proto__(){}"
PASS Valid:   "function f() { 'use strict'; function __proto__(){} }"
PASS Valid:   "'use strict'; (function __proto__(){})"
PASS Valid:   "function f() { 'use strict'; (function __proto__(){}) }"
PASS Valid:   "if (0) $foo; "
PASS Valid:   "function f() { if (0) $foo;  }"
PASS Valid:   "if (0) _foo; "
PASS Valid:   "function f() { if (0) _foo;  }"
PASS Valid:   "if (0) foo$; "
PASS Valid:   "function f() { if (0) foo$;  }"
PASS Valid:   "if (0) foo_; "
PASS Valid:   "function f() { if (0) foo_;  }"
PASS Valid:   "if (0) obj.$foo; "
PASS Valid:   "function f() { if (0) obj.$foo;  }"
PASS Valid:   "if (0) obj._foo; "
PASS Valid:   "function f() { if (0) obj._foo;  }"
PASS Valid:   "if (0) obj.foo$; "
PASS Valid:   "function f() { if (0) obj.foo$;  }"
PASS Valid:   "if (0) obj.foo_; "
PASS Valid:   "function f() { if (0) obj.foo_;  }"
PASS Valid:   "if (0) obj.foo\u03bb; "
PASS Valid:   "function f() { if (0) obj.foo\u03bb;  }"
PASS Valid:   "if (0) new a(b+c).d = 5"
PASS Valid:   "function f() { if (0) new a(b+c).d = 5 }"
PASS Valid:   "if (0) new a(b+c) = 5"
PASS Valid:   "function f() { if (0) new a(b+c) = 5 }"
PASS Valid:   "([1 || 1].a = 1)"
PASS Valid:   "function f() { ([1 || 1].a = 1) }"
PASS Valid:   "({a: 1 || 1}.a = 1)"
PASS Valid:   "function f() { ({a: 1 || 1}.a = 1) }"
PASS Invalid: "var a.b = c"
PASS Invalid: "function f() { var a.b = c }"
PASS Invalid: "var a.b;"
PASS Invalid: "function f() { var a.b; }"
FAIL e.line should be 1 (of type number). Was undefined (of type undefined).
PASS foo is 'PASS'
PASS bar is 'PASS'
PASS successfullyParsed is true

TEST COMPLETE

