UNPKG

predictype

Version:

PredicType is a library of pre-built and tested predicates for TypeScript, covering various data types and operations.

43 lines (42 loc) 2.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const vitest_1 = require("vitest"); const promiseState_js_1 = require("./promiseState.js"); (0, vitest_1.describe)('promiseState', () => { (0, vitest_1.it)('should return true for is_pending immediately after wrapping', () => { const p = Promise.resolve(42); const wrapped = (0, promiseState_js_1.wrapPromise)(p); (0, vitest_1.expect)((0, promiseState_js_1.promiseState)(wrapped, 'is_pending')).toBe(true); }); (0, vitest_1.it)('should return true for is_fulfilled after resolution', async () => { const p = Promise.resolve(42); const wrapped = (0, promiseState_js_1.wrapPromise)(p); await wrapped.promise; (0, vitest_1.expect)((0, promiseState_js_1.promiseState)(wrapped, 'is_fulfilled')).toBe(true); }); (0, vitest_1.it)('should return true for is_rejected after rejection', async () => { const p = Promise.reject(new Error('fail')); const wrapped = (0, promiseState_js_1.wrapPromise)(p); try { await wrapped.promise; } catch { } (0, vitest_1.expect)((0, promiseState_js_1.promiseState)(wrapped, 'is_rejected')).toBe(true); }); (0, vitest_1.it)('should return false for is_fulfilled immediately after wrapping', () => { const p = Promise.resolve(42); const wrapped = (0, promiseState_js_1.wrapPromise)(p); (0, vitest_1.expect)((0, promiseState_js_1.promiseState)(wrapped, 'is_fulfilled')).toBe(false); }); (0, vitest_1.it)('should return false for is_rejected immediately after wrapping', () => { const p = Promise.resolve(42); const wrapped = (0, promiseState_js_1.wrapPromise)(p); (0, vitest_1.expect)((0, promiseState_js_1.promiseState)(wrapped, 'is_rejected')).toBe(false); }); (0, vitest_1.it)('should throw for unknown operation', () => { const p = Promise.resolve(42); const wrapped = (0, promiseState_js_1.wrapPromise)(p); // @ts-expect-error (0, vitest_1.expect)(() => (0, promiseState_js_1.promiseState)(wrapped, 'unknown')).toThrow('Unknown PromiseState operation: unknown'); }); });