1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-16 02:44:58 +00:00
serenity/Libraries/LibJS/Tests/builtins/Symbol/Symbol.keyFor.js
2020-07-09 23:29:28 +02:00

24 lines
733 B
JavaScript

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 ScriptFunction]"], // FIXME: Better function stringification
].forEach(testCase => {
expect(() => {
Symbol.keyFor(testCase[0]);
}).toThrowWithMessage(TypeError, `${testCase[1]} is not a symbol`);
});
});