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/tests/unit/testing_test.ts | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'cli/tests/unit/testing_test.ts') diff --git a/cli/tests/unit/testing_test.ts b/cli/tests/unit/testing_test.ts index 89b3cc31f..144246002 100644 --- a/cli/tests/unit/testing_test.ts +++ b/cli/tests/unit/testing_test.ts @@ -1,5 +1,5 @@ // Copyright 2018-2021 the Deno authors. All rights reserved. MIT license. -import { assertThrows, unitTest } from "./test_util.ts"; +import { assertRejects, assertThrows, unitTest } from "./test_util.ts"; unitTest(function testFnOverloading() { // just verifying that you can use this test definition syntax @@ -25,3 +25,41 @@ unitTest(function nameOfTestCaseCantBeEmpty() { "The test name can't be empty", ); }); + +unitTest(function invalidStepArguments(t) { + assertRejects( + async () => { + // deno-lint-ignore no-explicit-any + await (t as any).step("test"); + }, + TypeError, + "Expected function for second argument.", + ); + + assertRejects( + async () => { + // deno-lint-ignore no-explicit-any + await (t as any).step("test", "not a function"); + }, + TypeError, + "Expected function for second argument.", + ); + + assertRejects( + async () => { + // deno-lint-ignore no-explicit-any + await (t as any).step(); + }, + TypeError, + "Expected a test definition or name and function.", + ); + + assertRejects( + async () => { + // deno-lint-ignore no-explicit-any + await (t as any).step(() => {}); + }, + TypeError, + "Expected a test definition or name and function.", + ); +}); -- cgit v1.2.3