@palmares/tests
Version:
This defines a default test framework testing stuff inside of the framework
216 lines (211 loc) • 8.66 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/functions.ts
var functions_exports = {};
__export(functions_exports, {
afterAll: () => afterAll,
afterEach: () => afterEach,
beforeAll: () => beforeAll,
beforeEach: () => beforeEach,
describe: () => describe,
expect: () => expect,
test: () => test
});
module.exports = __toCommonJS(functions_exports);
// src/expect.ts
function getExpect(value, testAdapter, isNot = false, isEventually = false) {
return new Proxy({}, {
get: /* @__PURE__ */ __name((_, prop) => {
if (prop === "toBe") return (expected, customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toBe(value2, expected, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toBe(value, expected, isNot, customData);
else if (prop === "toEqual") return (expected, customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toEqual(value2, expected, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toEqual(value, expected, isNot, customData);
else if (prop === "toStrictEqual") return (expected, customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toStrictEqual(value2, expected, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toStrictEqual(value, expected, isNot, customData);
else if (prop === "toBeInstanceOf") return (expected, customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toBeInstanceOf(value2, expected, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toBeInstanceOf(value, expected, isNot, customData);
else if (prop === "toBeDefined") return (customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toBeDefined(value2, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toBeDefined(value, isNot, customData);
else if (prop === "toHaveBeenCalled") return (customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toHaveBeenCalled(value2, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toHaveBeenCalled(value, isNot, customData);
else if (prop === "toHaveBeenCalledTimes") return (expected, customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toHaveBeenCalledTimes(value2, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toHaveBeenCalledTimes(expected, isNot, customData);
else if (prop === "toHaveBeenCalledWith") return (args, customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toHaveBeenCalledWith(value2, args, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toHaveBeenCalledWith(value, args, isNot, customData);
else if (prop === "toHaveReturned") return (customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toHaveReturned(value2, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toHaveReturned(value, isNot, customData);
else if (prop === "toHaveReturnedTimes") return (expected, customData) => isEventually ? new Promise((resolve, reject) => {
Promise.resolve(value).then((value2) => {
try {
resolve(testAdapter.expect.toHaveReturnedTimes(value2, expected, isNot, customData));
} catch (error) {
reject(error);
}
}).catch(reject);
}) : testAdapter.expect.toHaveReturnedTimes(value, expected, isNot, customData);
if (prop === "not") return getExpect(value, testAdapter, true, false);
if (prop === "eventually") return getExpect(value, testAdapter, isNot, true);
throw new Error(`Expect.${String(prop)} is not a function`);
}, "get")
});
}
__name(getExpect, "getExpect");
// src/utils.ts
function getTestAdapter() {
if (!globalThis.$PTestAdapter) {
throw new Error("Test adapter not set");
}
return globalThis.$PTestAdapter;
}
__name(getTestAdapter, "getTestAdapter");
function getTestAdapterCustomProps() {
if (!globalThis.$PTestAdapterCustomProps) {
throw new Error("Test adapter custom props not set");
}
return globalThis.$PTestAdapterCustomProps;
}
__name(getTestAdapterCustomProps, "getTestAdapterCustomProps");
// src/functions.ts
function describe(descriptionName, callback, customArgs) {
const defaultTestAdapter = getTestAdapter();
const custom = getTestAdapterCustomProps();
defaultTestAdapter.functions.getDescribe(descriptionName, () => {
return callback({
test,
beforeEach,
afterEach,
custom
});
}, customArgs);
}
__name(describe, "describe");
function test(testName, callback, customArgs) {
const defaultTestAdapter = getTestAdapter();
defaultTestAdapter.functions.getTest(testName, async () => Promise.resolve(callback({
expect,
custom: await defaultTestAdapter.getCustomProps()
})), customArgs);
}
__name(test, "test");
function beforeEach(callback, customArgs) {
const defaultTestAdapter = getTestAdapter();
defaultTestAdapter.functions.getBeforeEach(async () => Promise.resolve(callback({
custom: await defaultTestAdapter.getCustomProps()
})), customArgs);
}
__name(beforeEach, "beforeEach");
function afterEach(callback, customArgs) {
const defaultTestAdapter = getTestAdapter();
defaultTestAdapter.functions.getAfterEach(async () => Promise.resolve(callback({
custom: await defaultTestAdapter.getCustomProps()
})), customArgs);
}
__name(afterEach, "afterEach");
function beforeAll(callback, customArgs) {
const defaultTestAdapter = getTestAdapter();
defaultTestAdapter.functions.getBeforeAll(async () => Promise.resolve(callback({
custom: await defaultTestAdapter.getCustomProps()
})), customArgs);
}
__name(beforeAll, "beforeAll");
function afterAll(callback, customArgs) {
const defaultTestAdapter = getTestAdapter();
defaultTestAdapter.functions.getAfterAll(async () => Promise.resolve(callback({
custom: await defaultTestAdapter.getCustomProps()
})), customArgs);
}
__name(afterAll, "afterAll");
function expect(value) {
return getExpect(value, getTestAdapter());
}
__name(expect, "expect");
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
afterAll,
afterEach,
beforeAll,
beforeEach,
describe,
expect,
test
});