mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-29 13:42:37 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
	
		
			862 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
	
		
			862 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| test("basic functionality", () => {
 | |
|     const localSym = Symbol("foo");
 | |
|     const globalSym = Symbol.for("foo");
 | |
| 
 | |
|     expect(localSym).not.toBe(globalSym);
 | |
|     expect(localSym).not.toBe(Symbol("foo"));
 | |
|     expect(globalSym).not.toBe(Symbol("foo"));
 | |
|     expect(globalSym).toBe(Symbol.for("foo"));
 | |
|     expect(localSym.toString()).toBe("Symbol(foo)");
 | |
|     expect(globalSym.toString()).toBe("Symbol(foo)");
 | |
| 
 | |
|     expect(Symbol.for(1).description).toBe("1");
 | |
|     expect(Symbol.for(true).description).toBe("true");
 | |
|     expect(Symbol.for({}).description).toBe("[object Object]");
 | |
|     expect(Symbol.for().description).toBe("undefined");
 | |
|     expect(Symbol.for(null).description).toBe("null");
 | |
| });
 | |
| 
 | |
| test("symbol argument throws an error", () => {
 | |
|     expect(() => {
 | |
|         Symbol.for(Symbol());
 | |
|     }).toThrowWithMessage(TypeError, "Cannot convert symbol to string");
 | |
| });
 | 
