1234567891011121314151617181920212223 |
- 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");
- });
|