mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 13:20:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| load("test-common.js");
 | |
| 
 | |
| try {
 | |
|     assert(Object.preventExtensions() === undefined);
 | |
|     assert(Object.preventExtensions(undefined) === undefined);
 | |
|     assert(Object.preventExtensions(null) === null);
 | |
|     assert(Object.preventExtensions(true) === true);
 | |
|     assert(Object.preventExtensions(6) === 6);
 | |
|     assert(Object.preventExtensions("test") === "test");
 | |
| 
 | |
|     let s = Symbol();
 | |
|     assert(Object.preventExtensions(s) === s);
 | |
| 
 | |
|     let o = { foo: "foo" };
 | |
|     assert(o.foo === "foo");
 | |
|     o.bar = "bar";
 | |
|     assert(o.bar === "bar");
 | |
| 
 | |
|     assert(Object.preventExtensions(o) === o);
 | |
|     assert(o.foo === "foo");
 | |
|     assert(o.bar === "bar");
 | |
| 
 | |
|     o.baz = "baz";
 | |
|     assert(o.baz === undefined);
 | |
| 
 | |
|     Object.defineProperty(o, "baz", { value: "baz" });
 | |
|     assert(o.baz === undefined);
 | |
| 
 | |
|     assertThrowsError(() => {
 | |
|         "use strict";
 | |
|         o.baz = "baz";
 | |
|     }, {
 | |
|         error: TypeError,
 | |
|         message: "Cannot define property baz on non-extensible object",
 | |
|     });
 | |
| 
 | |
|     assertThrowsError(() => {
 | |
|         "use strict";
 | |
|         Object.defineProperty(o, "baz", { value: "baz" });
 | |
|     }, {
 | |
|         error: TypeError,
 | |
|         message: "Cannot define property baz on non-extensible object",
 | |
|     });
 | |
| 
 | |
|     console.log("PASS");
 | |
| } catch (e) {
 | |
|     console.log("FAIL: " + e);
 | |
| }
 | 
