OLD | NEW |
---|---|
1 # Copyright 2013 the V8 project authors. All rights reserved. | 1 # Copyright 2013 the V8 project authors. All rights reserved. |
2 # Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 # Copyright (C) 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
3 # | 3 # |
4 # Redistribution and use in source and binary forms, with or without | 4 # Redistribution and use in source and binary forms, with or without |
5 # modification, are permitted provided that the following conditions | 5 # modification, are permitted provided that the following conditions |
6 # are met: | 6 # are met: |
7 # 1. Redistributions of source code must retain the above copyright | 7 # 1. Redistributions of source code must retain the above copyright |
8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
9 # 2. Redistributions in binary form must reproduce the above copyright | 9 # 2. Redistributions in binary form must reproduce the above copyright |
10 # notice, this list of conditions and the following disclaimer in the | 10 # notice, this list of conditions and the following disclaimer in the |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
50 PASS Valid: "a: b: c: new f(x++)++" | 50 PASS Valid: "a: b: c: new f(x++)++" |
51 PASS Valid: "function f() { a: b: c: new f(x++)++ }" | 51 PASS Valid: "function f() { a: b: c: new f(x++)++ }" |
52 PASS Valid: "(a)++" | 52 PASS Valid: "(a)++" |
53 PASS Valid: "function f() { (a)++ }" | 53 PASS Valid: "function f() { (a)++ }" |
54 PASS Valid: "(1--).x" | 54 PASS Valid: "(1--).x" |
55 PASS Valid: "function f() { (1--).x }" | 55 PASS Valid: "function f() { (1--).x }" |
56 PASS Invalid: "a-- ++" | 56 PASS Invalid: "a-- ++" |
57 PASS Invalid: "function f() { a-- ++ }" | 57 PASS Invalid: "function f() { a-- ++ }" |
58 PASS Invalid: "(a:) --b" | 58 PASS Invalid: "(a:) --b" |
59 PASS Invalid: "function f() { (a:) --b }" | 59 PASS Invalid: "function f() { (a:) --b }" |
60 PASS Valid: "++ -- ++ a" | 60 FAIL Valid: "++ -- ++ a" should NOT throw |
61 PASS Valid: "function f() { ++ -- ++ a }" | 61 FAIL Valid: "function f() { ++ -- ++ a }" should NOT throw |
caitp (gmail)
2016/02/08 22:09:44
The grammar change in the latest version of the pr
caitp (gmail)
2016/02/09 23:09:09
In implementations today, it's a ReferenceError at
Dan Ehrenberg
2016/02/11 08:16:50
Yeah, good to call this out as dangerous. Let's do
| |
62 PASS Valid: "++ new new a ++" | 62 PASS Valid: "++ new new a ++" |
63 PASS Valid: "function f() { ++ new new a ++ }" | 63 PASS Valid: "function f() { ++ new new a ++ }" |
64 PASS Valid: "delete void 0" | 64 PASS Valid: "delete void 0" |
65 PASS Valid: "function f() { delete void 0 }" | 65 PASS Valid: "function f() { delete void 0 }" |
66 PASS Invalid: "delete the void" | 66 PASS Invalid: "delete the void" |
67 PASS Invalid: "function f() { delete the void }" | 67 PASS Invalid: "function f() { delete the void }" |
68 PASS Invalid: "(a++" | 68 PASS Invalid: "(a++" |
69 PASS Invalid: "function f() { (a++ }" | 69 PASS Invalid: "function f() { (a++ }" |
70 PASS Valid: "++a--" | 70 FAIL Valid: "++a--" should NOT throw |
71 PASS Valid: "function f() { ++a-- }" | 71 FAIL Valid: "function f() { ++a-- }" should NOT throw |
72 PASS Valid: "++((a))--" | 72 FAIL Valid: "++((a))--" should NOT throw |
73 PASS Valid: "function f() { ++((a))-- }" | 73 FAIL Valid: "function f() { ++((a))-- }" should NOT throw |
74 PASS Valid: "(a.x++)++" | 74 PASS Valid: "(a.x++)++" |
75 PASS Valid: "function f() { (a.x++)++ }" | 75 PASS Valid: "function f() { (a.x++)++ }" |
76 PASS Invalid: "1: null" | 76 PASS Invalid: "1: null" |
77 PASS Invalid: "function f() { 1: null }" | 77 PASS Invalid: "function f() { 1: null }" |
78 PASS Invalid: "+-!~" | 78 PASS Invalid: "+-!~" |
79 PASS Invalid: "function f() { +-!~ }" | 79 PASS Invalid: "function f() { +-!~ }" |
80 PASS Invalid: "+-!~((" | 80 PASS Invalid: "+-!~((" |
81 PASS Invalid: "function f() { +-!~(( }" | 81 PASS Invalid: "function f() { +-!~(( }" |
82 PASS Invalid: "a)" | 82 PASS Invalid: "a)" |
83 PASS Invalid: "function f() { a) }" | 83 PASS Invalid: "function f() { a) }" |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
318 PASS Invalid: "function f() { if (a) if (b) ; else function (){} }" | 318 PASS Invalid: "function f() { if (a) if (b) ; else function (){} }" |
319 PASS Valid: "throw a" | 319 PASS Valid: "throw a" |
320 PASS Valid: "function f() { throw a }" | 320 PASS Valid: "function f() { throw a }" |
321 PASS Valid: "throw a + b in void c" | 321 PASS Valid: "throw a + b in void c" |
322 PASS Valid: "function f() { throw a + b in void c }" | 322 PASS Valid: "function f() { throw a + b in void c }" |
323 PASS Invalid: "throw" | 323 PASS Invalid: "throw" |
324 PASS Invalid: "function f() { throw }" | 324 PASS Invalid: "function f() { throw }" |
325 var and const statements | 325 var and const statements |
326 PASS Valid: "var a, b = null" | 326 PASS Valid: "var a, b = null" |
327 PASS Valid: "function f() { var a, b = null }" | 327 PASS Valid: "function f() { var a, b = null }" |
328 FAIL Valid: "const a = 5, b, c" should NOT throw | 328 FAIL Valid: "const a = 5, b, c" should NOT throw |
329 FAIL Valid: "function f() { const a = 5, b, c }" should NOT throw | 329 FAIL Valid: "function f() { const a = 5, b, c }" should NOT throw |
330 PASS Invalid: "var" | 330 PASS Invalid: "var" |
331 PASS Invalid: "function f() { var }" | 331 PASS Invalid: "function f() { var }" |
332 PASS Invalid: "var = 7" | 332 PASS Invalid: "var = 7" |
333 PASS Invalid: "function f() { var = 7 }" | 333 PASS Invalid: "function f() { var = 7 }" |
334 PASS Invalid: "var c (6)" | 334 PASS Invalid: "var c (6)" |
335 PASS Invalid: "function f() { var c (6) }" | 335 PASS Invalid: "function f() { var c (6) }" |
336 FAIL Valid: "if (a) var a,b; else const b, c" should NOT throw | 336 FAIL Valid: "if (a) var a,b; else const b, c" should NOT throw |
337 FAIL Valid: "function f() { if (a) var a,b; else const b, c }" should NOT thro w | 337 FAIL Valid: "function f() { if (a) var a,b; else const b, c }" should NOT thro w |
338 PASS Invalid: "var 5 = 6" | 338 PASS Invalid: "var 5 = 6" |
339 PASS Invalid: "function f() { var 5 = 6 }" | 339 PASS Invalid: "function f() { var 5 = 6 }" |
340 PASS Valid: "while (0) var a, b, c=6, d, e, f=5*6, g=f*h, h" | 340 PASS Valid: "while (0) var a, b, c=6, d, e, f=5*6, g=f*h, h" |
341 PASS Valid: "function f() { while (0) var a, b, c=6, d, e, f=5*6, g=f*h, h }" | 341 PASS Valid: "function f() { while (0) var a, b, c=6, d, e, f=5*6, g=f*h, h }" |
342 PASS Invalid: "var a = if (b) { c }" | 342 PASS Invalid: "var a = if (b) { c }" |
343 PASS Invalid: "function f() { var a = if (b) { c } }" | 343 PASS Invalid: "function f() { var a = if (b) { c } }" |
344 PASS Invalid: "var a = var b" | 344 PASS Invalid: "var a = var b" |
345 PASS Invalid: "function f() { var a = var b }" | 345 PASS Invalid: "function f() { var a = var b }" |
346 FAIL Valid: "const a = b += c, a, a, a = (b - f())" should NOT throw | 346 FAIL Valid: "const a = b += c, a, a, a = (b - f())" should NOT throw |
347 FAIL Valid: "function f() { const a = b += c, a, a, a = (b - f()) }" should NO T throw | 347 FAIL Valid: "function f() { const a = b += c, a, a, a = (b - f()) }" should NO T throw |
348 PASS Invalid: "var a %= b | 5" | 348 PASS Invalid: "var a %= b | 5" |
349 PASS Invalid: "function f() { var a %= b | 5 }" | 349 PASS Invalid: "function f() { var a %= b | 5 }" |
350 PASS Invalid: "var (a) = 5" | 350 PASS Invalid: "var (a) = 5" |
351 PASS Invalid: "function f() { var (a) = 5 }" | 351 PASS Invalid: "function f() { var (a) = 5 }" |
352 PASS Invalid: "var a = (4, b = 6" | 352 PASS Invalid: "var a = (4, b = 6" |
353 PASS Invalid: "function f() { var a = (4, b = 6 }" | 353 PASS Invalid: "function f() { var a = (4, b = 6 }" |
354 PASS Invalid: "const 'l' = 3" | 354 PASS Invalid: "const 'l' = 3" |
355 PASS Invalid: "function f() { const 'l' = 3 }" | 355 PASS Invalid: "function f() { const 'l' = 3 }" |
356 PASS Invalid: "var var = 3" | 356 PASS Invalid: "var var = 3" |
357 PASS Invalid: "function f() { var var = 3 }" | 357 PASS Invalid: "function f() { var var = 3 }" |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
465 PASS Invalid: "for (var a = -6, b in b) break" | 465 PASS Invalid: "for (var a = -6, b in b) break" |
466 PASS Invalid: "function f() { for (var a = -6, b in b) break }" | 466 PASS Invalid: "function f() { for (var a = -6, b in b) break }" |
467 PASS Invalid: "for (var a, b = 8 in b) break" | 467 PASS Invalid: "for (var a, b = 8 in b) break" |
468 PASS Invalid: "function f() { for (var a, b = 8 in b) break }" | 468 PASS Invalid: "function f() { for (var a, b = 8 in b) break }" |
469 PASS Valid: "for (var a = (b in c) in d) break" | 469 PASS Valid: "for (var a = (b in c) in d) break" |
470 PASS Valid: "function f() { for (var a = (b in c) in d) break }" | 470 PASS Valid: "function f() { for (var a = (b in c) in d) break }" |
471 PASS Invalid: "for (var a = (b in c in d) break" | 471 PASS Invalid: "for (var a = (b in c in d) break" |
472 PASS Invalid: "function f() { for (var a = (b in c in d) break }" | 472 PASS Invalid: "function f() { for (var a = (b in c in d) break }" |
473 PASS Invalid: "for (var (a) in b) { }" | 473 PASS Invalid: "for (var (a) in b) { }" |
474 PASS Invalid: "function f() { for (var (a) in b) { } }" | 474 PASS Invalid: "function f() { for (var (a) in b) { } }" |
475 PASS Valid: "for (var a = 7, b = c < d >= d ; f()[6]++ ; --i()[1]++ ) {}" | 475 FAIL Valid: "for (var a = 7, b = c < d >= d ; f()[6]++ ; --i()[1]++ ) {}" shou ld NOT throw |
476 PASS Valid: "function f() { for (var a = 7, b = c < d >= d ; f()[6]++ ; --i()[ 1]++ ) {} }" | 476 FAIL Valid: "function f() { for (var a = 7, b = c < d >= d ; f()[6]++ ; --i()[ 1]++ ) {} }" should NOT throw |
477 try statement | 477 try statement |
478 PASS Invalid: "try { break } catch(e) {}" | 478 PASS Invalid: "try { break } catch(e) {}" |
479 PASS Invalid: "function f() { try { break } catch(e) {} }" | 479 PASS Invalid: "function f() { try { break } catch(e) {} }" |
480 PASS Valid: "try {} finally { c++ }" | 480 PASS Valid: "try {} finally { c++ }" |
481 PASS Valid: "function f() { try {} finally { c++ } }" | 481 PASS Valid: "function f() { try {} finally { c++ } }" |
482 PASS Valid: "try { with (x) { } } catch(e) {} finally { if (a) ; }" | 482 PASS Valid: "try { with (x) { } } catch(e) {} finally { if (a) ; }" |
483 PASS Valid: "function f() { try { with (x) { } } catch(e) {} finally { if (a) ; } }" | 483 PASS Valid: "function f() { try { with (x) { } } catch(e) {} finally { if (a) ; } }" |
484 PASS Invalid: "try {}" | 484 PASS Invalid: "try {}" |
485 PASS Invalid: "function f() { try {} }" | 485 PASS Invalid: "function f() { try {} }" |
486 PASS Invalid: "catch(e) {}" | 486 PASS Invalid: "catch(e) {}" |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
602 PASS Invalid: "function f() { var a.b = c }" | 602 PASS Invalid: "function f() { var a.b = c }" |
603 PASS Invalid: "var a.b;" | 603 PASS Invalid: "var a.b;" |
604 PASS Invalid: "function f() { var a.b; }" | 604 PASS Invalid: "function f() { var a.b; }" |
605 FAIL e.line should be 1 (of type number). Was undefined (of type undefined). | 605 FAIL e.line should be 1 (of type number). Was undefined (of type undefined). |
606 PASS foo is 'PASS' | 606 PASS foo is 'PASS' |
607 PASS bar is 'PASS' | 607 PASS bar is 'PASS' |
608 PASS successfullyParsed is true | 608 PASS successfullyParsed is true |
609 | 609 |
610 TEST COMPLETE | 610 TEST COMPLETE |
611 | 611 |
OLD | NEW |