ladybird/Libraries/LibJS/Tests/custom-@@toPrimitive.js

20 lines
501 B
JavaScript

test("basic functionality", () => {
const o = {
[Symbol.toPrimitive]: hint => {
lastHint = hint;
},
};
let lastHint;
// Calls ToPrimitive abstract operation with 'string' hint
String(o);
expect(lastHint).toBe("string");
// Calls ToPrimitive abstract operation with 'number' hint
+o;
expect(lastHint).toBe("number");
// Calls ToPrimitive abstract operation with 'default' hint
"" + o;
expect(lastHint).toBe("default");
});