Chromium Code Reviews| 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 |