mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 03:34:08 +01:00 
			
		
		
		
	[javascriptcore-test262-automation] Changes from https://github.com/webkit/webkit.git at sha 3ced8564a6 on Thu Sep 06 2018 18:18:56 GMT+0000 (Coordinated Universal Time)
This commit is contained in:
		
							parent
							
								
									86b5efea29
								
							
						
					
					
						commit
						5594c916bf
					
				| @ -1,5 +1,5 @@ | |||||||
| //@ runDefault
 |  | ||||||
| //@ skip if $architecture == "x86"
 | //@ skip if $architecture == "x86"
 | ||||||
|  | //@ runDefault
 | ||||||
| // This passes if it does not crash.
 | // This passes if it does not crash.
 | ||||||
| new WebAssembly.CompileError({ | new WebAssembly.CompileError({ | ||||||
|     valueOf() { |     valueOf() { | ||||||
|  | |||||||
| @ -0,0 +1,95 @@ | |||||||
|  | function shouldBe(actual, expected) { | ||||||
|  |     if (actual !== expected) | ||||||
|  |         throw new Error(`bad value: ${String(actual)}`); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | function shouldThrow(func, errorMessage) { | ||||||
|  |     var errorThrown = false; | ||||||
|  |     var error = null; | ||||||
|  |     try { | ||||||
|  |         func(); | ||||||
|  |     } catch (e) { | ||||||
|  |         errorThrown = true; | ||||||
|  |         error = e; | ||||||
|  |     } | ||||||
|  |     if (!errorThrown) | ||||||
|  |         throw new Error('not thrown'); | ||||||
|  |     if (String(error) !== errorMessage) | ||||||
|  |         throw new Error(`bad error: ${String(error)}`); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | var s0 = Symbol("Cocoa"); | ||||||
|  | var s1 = Symbol("Cappuccino"); | ||||||
|  | var s2 = Symbol(""); | ||||||
|  | var s3 = Symbol(); | ||||||
|  | 
 | ||||||
|  | shouldBe(s0.description, "Cocoa"); | ||||||
|  | shouldBe(s0.toString(), "Symbol(Cocoa)"); | ||||||
|  | shouldBe(s1.description, "Cappuccino"); | ||||||
|  | shouldBe(s1.toString(), "Symbol(Cappuccino)"); | ||||||
|  | shouldBe(s2.description, ""); | ||||||
|  | shouldBe(s2.toString(), "Symbol()"); | ||||||
|  | shouldBe(s3.description, undefined); | ||||||
|  | shouldBe(s3.toString(), "Symbol()"); | ||||||
|  | 
 | ||||||
|  | var o0 = Object(s0); | ||||||
|  | var o1 = Object(s1); | ||||||
|  | var o2 = Object(s2); | ||||||
|  | var o3 = Object(s3); | ||||||
|  | 
 | ||||||
|  | shouldBe(o0.description, "Cocoa"); | ||||||
|  | shouldBe(o0.toString(), "Symbol(Cocoa)"); | ||||||
|  | shouldBe(o1.description, "Cappuccino"); | ||||||
|  | shouldBe(o1.toString(), "Symbol(Cappuccino)"); | ||||||
|  | shouldBe(o2.description, ""); | ||||||
|  | shouldBe(o2.toString(), "Symbol()"); | ||||||
|  | shouldBe(o3.description, undefined); | ||||||
|  | shouldBe(o3.toString(), "Symbol()"); | ||||||
|  | 
 | ||||||
|  | var descriptor = Object.getOwnPropertyDescriptor(Symbol.prototype, "description"); | ||||||
|  | shouldBe(descriptor.enumerable, false); | ||||||
|  | shouldBe(descriptor.configurable, true); | ||||||
|  | shouldBe(descriptor.set, undefined); | ||||||
|  | shouldBe(typeof descriptor.get, "function"); | ||||||
|  | 
 | ||||||
|  | shouldThrow(() => { | ||||||
|  |     "use strict"; | ||||||
|  |     s0.description = "Matcha"; | ||||||
|  | }, `TypeError: Attempted to assign to readonly property.`); | ||||||
|  | shouldThrow(() => { | ||||||
|  |     "use strict"; | ||||||
|  |     o0.description = "Matcha"; | ||||||
|  | }, `TypeError: Attempted to assign to readonly property.`); | ||||||
|  | 
 | ||||||
|  | shouldThrow(() => { | ||||||
|  |     descriptor.get.call({}); | ||||||
|  | }, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); | ||||||
|  | 
 | ||||||
|  | shouldThrow(() => { | ||||||
|  |     descriptor.get.call(null); | ||||||
|  | }, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); | ||||||
|  | 
 | ||||||
|  | shouldThrow(() => { | ||||||
|  |     descriptor.get.call(undefined); | ||||||
|  | }, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); | ||||||
|  | 
 | ||||||
|  | shouldThrow(() => { | ||||||
|  |     descriptor.get.call(42); | ||||||
|  | }, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); | ||||||
|  | 
 | ||||||
|  | shouldThrow(() => { | ||||||
|  |     descriptor.get.call("Hello"); | ||||||
|  | }, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); | ||||||
|  | 
 | ||||||
|  | shouldThrow(() => { | ||||||
|  |     descriptor.get.call(42.195); | ||||||
|  | }, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); | ||||||
|  | 
 | ||||||
|  | shouldThrow(() => { | ||||||
|  |     descriptor.get.call(false); | ||||||
|  | }, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); | ||||||
|  | 
 | ||||||
|  | shouldBe(descriptor.get.call(s0), "Cocoa"); | ||||||
|  | shouldBe(descriptor.get.call(o0), "Cocoa"); | ||||||
|  | o0.__proto__ = {}; | ||||||
|  | shouldBe(descriptor.get.call(o0), "Cocoa"); | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user