123456789101112131415161718192021222324 |
- test("basic functionality", () => {
- const localSym = Symbol("foo");
- const globalSym = Symbol.for("foo");
- expect(Symbol.keyFor(localSym)).toBeUndefined();
- expect(Symbol.keyFor(globalSym)).toBe("foo");
- });
- test("bad argument values", () => {
- [
- [1, "1"],
- [null, "null"],
- [undefined, "undefined"],
- [[], "[object Array]"],
- [{}, "[object Object]"],
- [true, "true"],
- ["foobar", "foobar"],
- [function () {}, "[object OrdinaryFunctionObject]"], // FIXME: Better function stringification
- ].forEach(testCase => {
- expect(() => {
- Symbol.keyFor(testCase[0]);
- }).toThrowWithMessage(TypeError, `${testCase[1]} is not a symbol`);
- });
- });
|