mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 11:44:31 +01:00 
			
		
		
		
	* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
		
			
				
	
	
		
			34 lines
		
	
	
		
			696 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			696 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| function assert(cond) {
 | |
|     if (!cond)
 | |
|         throw new Error("broke assertion");
 | |
| }
 | |
| noInline(assert);
 | |
| function shouldThrowInvalidConstAssignment(f) {
 | |
|     var threw = false;
 | |
|     try {
 | |
|         f();
 | |
|     } catch(e) {
 | |
|         if (e.name.indexOf("TypeError") !== -1 && e.message.indexOf("readonly") !== -1)
 | |
|             threw = true;
 | |
|     }
 | |
|     assert(threw);
 | |
| }
 | |
| noInline(shouldThrowInvalidConstAssignment);
 | |
| 
 | |
| 
 | |
| function makeObj() {
 | |
|     return {foo: 20};
 | |
| }
 | |
| noInline(makeObj);
 | |
| 
 | |
| let foo = "foo";
 | |
| const bar = "bar"; 
 | |
| 
 | |
| for (var i = 0; i < 100; i++) {
 | |
|     with (makeObj()) {
 | |
|         assert(foo === 20);
 | |
|         assert(bar === "bar");
 | |
|         shouldThrowInvalidConstAssignment(function() { bar = 20; });
 | |
|     }
 | |
| }
 |