mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-28 07:18:51 +00:00
41 lines
1.2 KiB
JavaScript
41 lines
1.2 KiB
JavaScript
test("length is 1", () => {
|
|
expect(Promise.resolve).toHaveLength(1);
|
|
});
|
|
|
|
describe("normal behavior", () => {
|
|
test("returns a Promise", () => {
|
|
const resolvedPromise = Promise.resolve();
|
|
expect(resolvedPromise).toBeInstanceOf(Promise);
|
|
});
|
|
|
|
test("returned Promise is resolved with given argument", () => {
|
|
let fulfillmentValue = null;
|
|
Promise.resolve("Some value").then(value => {
|
|
fulfillmentValue = value;
|
|
});
|
|
runQueuedPromiseJobs();
|
|
expect(fulfillmentValue).toBe("Some value");
|
|
});
|
|
|
|
test("works with subclasses", () => {
|
|
class CustomPromise extends Promise {}
|
|
|
|
const resolvedPromise = CustomPromise.resolve("Some value");
|
|
expect(resolvedPromise).toBeInstanceOf(CustomPromise);
|
|
|
|
let fulfillmentValue = null;
|
|
resolvedPromise.then(value => {
|
|
fulfillmentValue = value;
|
|
});
|
|
runQueuedPromiseJobs();
|
|
expect(fulfillmentValue).toBe("Some value");
|
|
});
|
|
});
|
|
|
|
describe("errors", () => {
|
|
test("this value must be an object", () => {
|
|
expect(() => {
|
|
Promise.resolve.call("foo");
|
|
}).toThrowWithMessage(TypeError, "foo is not an object");
|
|
});
|
|
});
|