# 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, }"
PASS Invalid: "a(5,)"
PASS Invalid: "function f() { a(5,) }"
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) {} }"
PASS Invalid: "function f(a,) {}"
PASS Invalid: "function f() { function f(a,) {} }"
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: "break ; break your_limits ; continue ; continue living ; debugger"
PASS Invalid: "function f() { break ; break your_limits ; continue ; continue living ; debugger }"
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 Valid:   "if (a()) while(0) function f() {} else function g() {}"
PASS Valid:   "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 Invalid: "try { break } catch(e) {}"
PASS Invalid: "function f() { try { break } catch(e) {} }"
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: "L: L: ;"
PASS Invalid: "function f() { L: L: ; }"
PASS Invalid: "L: L1: L: ;"
PASS Invalid: "function f() { L: L1: L: ; }"
PASS Invalid: "L: L1: L2: L3: L4: L: ;"
PASS Invalid: "function f() { L: L1: L2: L3: L4: L: ; }"
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

