1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-23 07:44:48 -05:00
denoland-deno/cli/js/testing_test.ts
Bartek Iwańczuk 20dad3659c
refactor: preliminary cleanup of Deno.runTests() (#4237)
* refactor: preliminary cleanup of Deno.runTests()

* Change time measurement to use new Date() instead of
  performance.now(). Because there is no guarantee that tests are
  run with "--allow-hr" using new Date() guarantees higher
  precision of 1ms instead of 2ms.

* Support String type filter in "skip" and "only".

* Split "exitOnFail" into "exitOnFail" and "failFast".
  Former tells if "runTests()" should exit with code 1 on test
  failure, while latter tells if "runTests()" should stop
  running tests on first failure.

* Use "defer" to wait for unhandled promise rejection - this bit
  is funky and doesn't seem right, but for now it's just a rewrite
  from using "setTimeout". Intended to be fixed in later commits.

* Remove global "__DENO_TEST_REGISTRY", don't expose list of
  registered tests (to be addressed in follow up commits)

* Remove arbitrary slow test threshold; use uniform coloring
  instead
2020-03-05 11:52:18 +01:00

37 lines
822 B
TypeScript

// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { assertThrows, unitTest } from "./test_util.ts";
unitTest(function testFnOverloading(): void {
// just verifying that you can use this test definition syntax
Deno.test("test fn overloading", (): void => {});
});
unitTest(function nameOfTestCaseCantBeEmpty(): void {
assertThrows(
() => {
Deno.test("", () => {});
},
Error,
"The name of test case can't be empty"
);
assertThrows(
() => {
Deno.test({
name: "",
fn: () => {}
});
},
Error,
"The name of test case can't be empty"
);
});
unitTest(function testFnCantBeAnonymous(): void {
assertThrows(
() => {
Deno.test(function() {});
},
Error,
"Test function can't be anonymous"
);
});