From 426ebf854a82c63cdaa2413fbd1b005025dba95b Mon Sep 17 00:00:00 2001 From: David Sherret Date: Mon, 11 Oct 2021 09:45:02 -0400 Subject: feat(unstable/test): imperative test steps API (#12190) --- cli/dts/lib.deno.unstable.d.ts | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'cli/dts/lib.deno.unstable.d.ts') diff --git a/cli/dts/lib.deno.unstable.d.ts b/cli/dts/lib.deno.unstable.d.ts index 73f4bfcb2..3bea165e5 100644 --- a/cli/dts/lib.deno.unstable.d.ts +++ b/cli/dts/lib.deno.unstable.d.ts @@ -948,6 +948,43 @@ declare namespace Deno { }; } + /** **UNSTABLE**: New option, yet to be vetted. */ + export interface TestContext { + /** Run a sub step of the parent test with a given name. Returns a promise + * that resolves to a boolean signifying if the step completed successfully. + * The returned promise never rejects unless the arguments are invalid. + * If the test was ignored, the promise returns `false`. + */ + step(t: TestStepDefinition): Promise; + + /** Run a sub step of the parent test with a given name. Returns a promise + * that resolves to a boolean signifying if the step completed successfully. + * The returned promise never rejects unless the arguments are invalid. + * If the test was ignored, the promise returns `false`. + */ + step( + name: string, + fn: (t: TestContext) => void | Promise, + ): Promise; + } + + /** **UNSTABLE**: New option, yet to be vetted. */ + export interface TestStepDefinition { + fn: (t: TestContext) => void | Promise; + name: string; + ignore?: boolean; + /** Check that the number of async completed ops after the test is the same + * as number of dispatched ops. Defaults to true. */ + sanitizeOps?: boolean; + /** Ensure the test case does not "leak" resources - ie. the resource table + * after the test has exactly the same contents as before the test. Defaults + * to true. */ + sanitizeResources?: boolean; + /** Ensure the test case does not prematurely cause the process to exit, + * for example via a call to `Deno.exit`. Defaults to true. */ + sanitizeExit?: boolean; + } + /** **UNSTABLE**: new API, yet to be vetted. * * A generic transport listener for message-oriented protocols. */ -- cgit v1.2.3