mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 13:32:45 +00:00 
			
		
		
		
	 f55d7bf6f3
			
		
	
	
		f55d7bf6f3
		
	
	
	
	
		
			
			We needed to propagate the forbidden token set to all parsing functions that can call back into parse_expression.
		
			
				
	
	
		
			19 lines
		
	
	
	
		
			988 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
	
		
			988 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| test("The use of the 'in' keyword is restricted in for loop headers", () => {
 | |
|     expect("for (a ? a : a in a; false; ) ;").not.toEval();
 | |
|     expect("for (a + a in b);").not.toEval();
 | |
|     expect("for (a in a of a);").not.toEval();
 | |
|     expect("for(a = a in a; false;);").not.toEval();
 | |
|     expect("for(a += a in a; false;);").not.toEval();
 | |
|     expect("for(a -= a in a; false;);").not.toEval();
 | |
|     expect("for(a *= a in a; false;);").not.toEval();
 | |
|     expect("for(a /= a in a; false;);").not.toEval();
 | |
|     expect("for(a &= a in a; false;);").not.toEval();
 | |
|     expect("for(a |= a in a; false;);").not.toEval();
 | |
|     expect("for(a ^= a in a; false;);").not.toEval();
 | |
|     expect("for(a ^^= a in a; false;);").not.toEval();
 | |
|     expect("for(a == a in a; false;);").not.toEval();
 | |
|     expect("for(a != a in a; false;);").not.toEval();
 | |
|     expect("for(a === a in a; false;);").not.toEval();
 | |
|     expect("for(a !== a in a; false;);").not.toEval();
 | |
|     expect("for (a ?? b in c;;);").not.toEval();
 | |
| });
 |