arrow-with-block.js (1049B)
1 load(libdir + "asserts.js"); 2 3 let x = 10; 4 let g = 4; 5 6 assertEq(eval(` 7 a => {} 8 /x/g; 9 `).toString(), "/x/g"); 10 assertEq(eval(` 11 a => {} 12 /x/; 13 `).toString(), "/x/"); 14 assertThrowsInstanceOf(() => eval(` 15 a => {} /x/g; 16 `), SyntaxError); 17 18 assertEq(eval(` 19 a => {}, 20 /x/; 21 `).toString(), "/x/"); 22 assertEq(eval(` 23 a => {} 24 , 25 /x/; 26 `).toString(), "/x/"); 27 28 assertEq(eval(` 29 false ? 30 a => {} : 31 /x/; 32 `).toString(), "/x/"); 33 assertEq(eval(` 34 false ? 35 a => {} 36 : 37 /x/; 38 `).toString(), "/x/"); 39 40 assertEq(eval(` 41 a => {}; 42 /x/; 43 `).toString(), "/x/"); 44 assertEq(eval(` 45 a => {} 46 ; 47 /x/; 48 `).toString(), "/x/"); 49 50 assertEq(eval(` 51 a => 200 52 /x/g; 53 `) instanceof Function, true); 54 assertEq(eval(` 55 a => 200 56 /x/g; 57 `)(), 5); 58 assertEq(eval(` 59 a => 200 /x/g; 60 `)(), 5); 61 62 assertEq(eval(` 63 a => 1, 64 /x/; 65 `).toString(), "/x/"); 66 assertEq(eval(` 67 a => 1 68 , 69 /x/; 70 `).toString(), "/x/"); 71 72 assertEq(eval(` 73 false ? 74 a => 1 : 75 /x/; 76 `).toString(), "/x/"); 77 assertEq(eval(` 78 false ? 79 a => 1 80 : 81 /x/; 82 `).toString(), "/x/"); 83 84 assertEq(eval(` 85 a => 1; 86 /x/; 87 `).toString(), "/x/"); 88 assertEq(eval(` 89 a => 1 90 ; 91 /x/; 92 `).toString(), "/x/");