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)
		
			
				
	
	
		
			113 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| function testShouldNotThrow(str) {
 | |
|     eval("function foo(){ var obj = {"+str+", x : 5 };}");
 | |
| }
 | |
| 
 | |
| function testShouldThrow(str) {
 | |
|     var didThrow = false;
 | |
| 
 | |
|     try {
 | |
|         eval("var obj = {"+str+"};");
 | |
|     } catch(e) {
 | |
|         didThrow = true;
 | |
|     }
 | |
| 
 | |
|     if (!didThrow) throw new Error("Should Throw");;
 | |
| }
 | |
| 
 | |
| testShouldNotThrow("get [x] () { return 1 }");
 | |
| 
 | |
| testShouldNotThrow("get [x] () { return 1 }");
 | |
| testShouldNotThrow("set [x] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[x] () { return 1 }");
 | |
| testShouldNotThrow("set[x] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get [x]() { return 1 }");
 | |
| testShouldNotThrow("set [x](value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[x]() { return 1 }");
 | |
| testShouldNotThrow("set[x](value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get [1] () { return 1 }");
 | |
| testShouldNotThrow("set [1] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[1] () { return 1 }");
 | |
| testShouldNotThrow("set[1] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get [1]() { return 1 }");
 | |
| testShouldNotThrow("set [1](value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[1]() { return 1 }");
 | |
| testShouldNotThrow("set[1](value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get [{ a : 'hi'}] () { return 1 }");
 | |
| testShouldNotThrow("set [{ b : 'ho'}] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[{ a : 'hi'}] () { return 1 }");
 | |
| testShouldNotThrow("set[{ b : 'hi'}] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get [{ a : 'hi'}]() { return 1 }");
 | |
| testShouldNotThrow("set [{ b : 'hi'}](value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[{ a : 'hi'}]() { return 1 }");
 | |
| testShouldNotThrow("set[{ b : 'hi'}](value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get [ { a : 'hi'} ] () { return 1 }");
 | |
| testShouldNotThrow("set [ { b : 'hi'} ] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get [{ a : 'hi'} ] () { return 1 }");
 | |
| testShouldNotThrow("set [{ b : 'hi'} ] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get [ { a : 'hi'}] () { return 1 }");
 | |
| testShouldNotThrow("set [ { b : 'hi'}] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[ { a : 'hi'}] () { return 1 }");
 | |
| testShouldNotThrow("set[ { b : 'hi'}] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[ { a : 'hi'}]() { return 1 }");
 | |
| testShouldNotThrow("set[ { b : 'hi'}](value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get [{ a : 'hi'} ]() { return 1 }");
 | |
| testShouldNotThrow("set [{ b : 'hi'} ](value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[{ [\"goats\"] : 'hi'} ]() { return 1 }");
 | |
| testShouldNotThrow("set[{ [1] : 'hi'}] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldNotThrow("get[{ [\"goats\"] : 'hi'} ]() { return 1 }");
 | |
| testShouldNotThrow("set[{ get [1]() { return 'hi' } }] (value) { valueSet = value }");
 | |
| 
 | |
| 
 | |
| testShouldThrow("get [] () { return 1 }");
 | |
| testShouldThrow("set [] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldThrow("get [ () { return 1 }");
 | |
| testShouldThrow("set [ (value) { valueSet = value }");
 | |
| 
 | |
| 
 | |
| testShouldThrow("get [ () { return 1 }]");
 | |
| testShouldThrow("set [ (value) { valueSet = value }]");
 | |
| 
 | |
| testShouldThrow("geting [1] () { return 1 }");
 | |
| testShouldThrow("seting [2] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldThrow("geting [1] () { return 1 }");
 | |
| testShouldThrow("seting [2] (value) { valueSet = value }");
 | |
| 
 | |
| testShouldThrow("g [1] () { return 1 }");
 | |
| testShouldThrow("s [2] (value) { valueSet = value }");
 | |
| 
 | |
| 
 | |
| testShouldThrow("get [1] (), a : 5");
 | |
| testShouldThrow("set [2] (value), a : 5");
 | |
| 
 | |
| testShouldThrow("get [1]{ return 5}, a : 5");
 | |
| testShouldThrow("set [2]{ return 4; }, a : 5");
 | |
| 
 | |
| // getters and setters work in classes.
 | |
| testShouldNotThrow("x : class Val { get x() { return 4; } }");
 | |
| testShouldNotThrow("x : class Val { get [2] () { return 4; } }");
 | |
| 
 | |
| class Val{
 | |
|     get ['hi']() { return 4; }
 | |
| };
 |