chore(vendor): import pi 1.3.0
Imported as a linear vendor commit so forge rebases do not replay the upstream root tree. git-subtree-dir: third_party/pi git-subtree-split: 71023aec1546d6d677a65669c5665c0927ce0dd0
This commit is contained in:
39
third_party/pi/packages/durable/src/testing/assertions.ts
vendored
Normal file
39
third_party/pi/packages/durable/src/testing/assertions.ts
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
import type { StorageConformanceAssertions } from "./types.ts";
|
||||
|
||||
export type ExpectLike = (actual: unknown, message?: string) => unknown;
|
||||
|
||||
type ExpectResult = {
|
||||
toBe(expected: unknown): unknown;
|
||||
toBeGreaterThan(expected: number): unknown;
|
||||
toEqual(expected: unknown): unknown;
|
||||
toMatchObject(expected: unknown): unknown;
|
||||
toBeTruthy(): unknown;
|
||||
readonly rejects: {
|
||||
toThrow(expected?: string | RegExp): unknown;
|
||||
};
|
||||
};
|
||||
|
||||
/** Adapts a Vitest/Jest-compatible `expect` function without importing either runner. */
|
||||
export function createExpectAssertions(expect: ExpectLike): StorageConformanceAssertions {
|
||||
const result = (actual: unknown, message?: string): ExpectResult => expect(actual, message) as ExpectResult;
|
||||
return {
|
||||
ok(value, message) {
|
||||
result(value, message).toBeTruthy();
|
||||
},
|
||||
strictEqual(actual, expected) {
|
||||
result(actual).toBe(expected);
|
||||
},
|
||||
deepEqual(actual, expected) {
|
||||
result(actual).toEqual(expected);
|
||||
},
|
||||
partialDeepEqual(actual, expected) {
|
||||
result(actual).toMatchObject(expected);
|
||||
},
|
||||
greaterThan(actual, expected) {
|
||||
result(actual).toBeGreaterThan(expected);
|
||||
},
|
||||
async rejects(operation, messageIncludes) {
|
||||
await result(operation).rejects.toThrow(messageIncludes);
|
||||
},
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user