1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 21:47:46 +00:00

LibJS: Uncomment remaining symbol tests

This commit is contained in:
Matthew Olsson 2020-07-06 17:02:06 -07:00 committed by Andreas Kling
parent d9db6bec42
commit ffb569fd5d
2 changed files with 42 additions and 42 deletions

View file

@ -1,23 +1,23 @@
// test("basic functionality", () => {
// const localSym = Symbol("foo");
// const globalSym = Symbol.for("foo");
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(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");
// });
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");
// });
test("symbol argument throws an error", () => {
expect(() => {
Symbol.for(Symbol());
}).toThrowWithMessage(TypeError, "Cannot convert symbol to string");
});

View file

@ -1,24 +1,24 @@
// test("basic functionality", () => {
// const localSym = Symbol("bar");
// const globalSym = Symbol.for("bar");
test("basic functionality", () => {
const localSym = Symbol("foo");
const globalSym = Symbol.for("foo");
// expect(Symbol.keyFor(localSym)).toBeUndefined();
// expect(Symbol.keyFor(globalSym)).toBe("bar");
// });
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`);
// });
// });
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`);
});
});