yield-regexp.js (552B)
1 // Bug 1099956 2 3 load(libdir + "asserts.js"); 4 5 // Parses as IDENT(yield) DIV IDENT(abc) DIV IDENT(g). 6 eval(`function f1() { yield /abc/g; }`); 7 8 // Throws a ReferenceError because no global "yield" variable is defined. 9 var ex; 10 try { 11 f1(); 12 } catch(e) { 13 ex = e; 14 } 15 assertEq(ex instanceof ReferenceError, true); 16 17 // Parses as YIELD REGEXP(/abc/g). 18 function* f2() { 19 yield /abc/g; 20 } 21 22 g = f2(); 23 v = g.next(); 24 assertEq(v.done, false); 25 assertEq(v.value instanceof RegExp, true); 26 assertEq(v.value.toString(), "/abc/g"); 27 v = g.next(); 28 assertEq(v.done, true);