summaryrefslogtreecommitdiff
path: root/cli/js/lib.deno.ns.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/js/lib.deno.ns.d.ts')
-rw-r--r--cli/js/lib.deno.ns.d.ts63
1 files changed, 62 insertions, 1 deletions
diff --git a/cli/js/lib.deno.ns.d.ts b/cli/js/lib.deno.ns.d.ts
index bf10049bb..751e4452b 100644
--- a/cli/js/lib.deno.ns.d.ts
+++ b/cli/js/lib.deno.ns.d.ts
@@ -32,6 +32,59 @@ declare namespace Deno {
* when `Deno.runTests` is used */
export function test(name: string, fn: TestFunction): void;
+ interface TestResult {
+ passed: boolean;
+ name: string;
+ skipped: boolean;
+ hasRun: boolean;
+ duration: number;
+ error?: Error;
+ }
+
+ interface TestStats {
+ filtered: number;
+ ignored: number;
+ measured: number;
+ passed: number;
+ failed: number;
+ }
+
+ export enum TestEvent {
+ Start = "start",
+ Result = "result",
+ End = "end"
+ }
+
+ interface TestEventStart {
+ kind: TestEvent.Start;
+ tests: number;
+ }
+
+ interface TestEventResult {
+ kind: TestEvent.Result;
+ result: TestResult;
+ }
+
+ interface TestEventEnd {
+ kind: TestEvent.End;
+ stats: TestStats;
+ duration: number;
+ results: TestResult[];
+ }
+
+ interface TestReporter {
+ start(event: TestEventStart): Promise<void>;
+ result(event: TestEventResult): Promise<void>;
+ end(event: TestEventEnd): Promise<void>;
+ }
+
+ export class ConsoleTestReporter implements TestReporter {
+ constructor();
+ start(event: TestEventStart): Promise<void>;
+ result(event: TestEventResult): Promise<void>;
+ end(event: TestEventEnd): Promise<void>;
+ }
+
export interface RunTestsOptions {
/** If `true`, Deno will exit with status code 1 if there was
* test failure. Defaults to `true`. */
@@ -46,11 +99,19 @@ declare namespace Deno {
skip?: string | RegExp;
/** Disable logging of the results. Defaults to `false`. */
disableLog?: boolean;
+ /** Custom reporter class. If not provided uses console reporter. */
+ reporter?: TestReporter;
}
/** Run any tests which have been registered. Always resolves
* asynchronously. */
- export function runTests(opts?: RunTestsOptions): Promise<void>;
+ export function runTests(
+ opts?: RunTestsOptions
+ ): Promise<{
+ results: TestResult[];
+ stats: TestStats;
+ duration: number;
+ }>;
/** Get the `loadavg`. Requires `allow-env` permission.
*