mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-18 08:11:53 +00:00
37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
test("length is 1", () => {
|
|
expect(Promise).toHaveLength(1);
|
|
});
|
|
|
|
describe("errors", () => {
|
|
test("must be called as constructor", () => {
|
|
expect(() => {
|
|
Promise();
|
|
}).toThrowWithMessage(TypeError, "Promise constructor must be called with 'new'");
|
|
});
|
|
|
|
test("executor must be a function", () => {
|
|
expect(() => {
|
|
new Promise();
|
|
}).toThrowWithMessage(TypeError, "Promise executor must be a function");
|
|
});
|
|
});
|
|
|
|
describe("normal behavior", () => {
|
|
test("returns a Promise object", () => {
|
|
const promise = new Promise(() => {});
|
|
expect(promise).toBeInstanceOf(Promise);
|
|
expect(typeof promise).toBe("object");
|
|
});
|
|
|
|
test("executor is called with resolve and reject functions", () => {
|
|
let resolveFunction = null;
|
|
let rejectFunction = null;
|
|
new Promise((resolve, reject) => {
|
|
resolveFunction = resolve;
|
|
rejectFunction = reject;
|
|
});
|
|
expect(typeof resolveFunction).toBe("function");
|
|
expect(typeof rejectFunction).toBe("function");
|
|
expect(resolveFunction).not.toBe(rejectFunction);
|
|
});
|
|
});
|