diff options
Diffstat (limited to 'cli/tests/unit')
-rw-r--r-- | cli/tests/unit/test_util.ts | 2 | ||||
-rw-r--r-- | cli/tests/unit/testing_test.ts | 40 |
2 files changed, 40 insertions, 2 deletions
diff --git a/cli/tests/unit/test_util.ts b/cli/tests/unit/test_util.ts index ee924fe8a..65d23af65 100644 --- a/cli/tests/unit/test_util.ts +++ b/cli/tests/unit/test_util.ts @@ -39,7 +39,7 @@ interface UnitTestOptions { permissions?: UnitTestPermissions; } -type TestFunction = () => void | Promise<void>; +type TestFunction = (tester: Deno.TestContext) => void | Promise<void>; export function unitTest(fn: TestFunction): void; export function unitTest(options: UnitTestOptions, fn: TestFunction): void; 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.", + ); +}); |