0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-10-30 09:08:00 -04:00
denoland-deno/cli/tests/unit
Bartek Iwańczuk d8afd56838
feat(test): Add more overloads for "Deno.test" (#12749)
This commit adds 4 more overloads to "Deno.test()" API.

```
// Deno.test(function testName() { });
export function test(fn: (t: TestContext) => void | Promise<void>): void;

// Deno.test("test name", { only: true }, function() { });
export function test(
  name: string,
  options: Omit<TestDefinition, "name">,
  fn: (t: TestContext) => void | Promise<void>,
): void;

// Deno.test({ name: "test name" }, function() { });
export function test(
  options: Omit<TestDefinition, "fn">,
  fn: (t: TestContext) => void | Promise<void>,
): void;

// Deno.test({ only: true }, function testName() { });
export function test(
  options: Omit<TestDefinition, "fn" | "name">,
  fn: (t: TestContext) => void | Promise<void>,
): void;
```
2021-11-23 14:57:51 +01:00
..
abort_controller_test.ts fix: add typings for AbortSignal.reason (#12730) 2021-11-11 10:28:06 +01:00
blob_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
body_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
broadcast_channel_test.ts chore: move test files to testdata directory (#11601) 2021-08-11 10:20:47 -04:00
buffer_test.ts chore: replace calls to assertThrowsAsync with assertRejects (#12176) 2021-09-22 09:21:11 -04:00
build_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
chmod_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
chown_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
console_test.ts feat(ext/console): Display error.cause in console (#12462) 2021-10-30 19:25:46 +02:00
copy_file_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
custom_event_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
dir_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
dom_exception_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
error_stack_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
esnext_test.ts feat: update to V8 9.7 (#12685) 2021-11-08 14:24:54 +01:00
event_target_test.ts chore: upgrade crates (#11894) 2021-09-02 17:38:19 +02:00
event_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
fetch_test.ts fix(fetch): set content-length for empty POST/PUT (#12703) 2021-11-09 12:10:40 +01:00
ffi_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
file_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
filereader_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
files_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
flock_test.ts chore: ensure first process in shared flock test does not enter and exit lock before second enters (#12255) 2021-09-30 15:45:13 -04:00
format_error_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
fs_events_test.ts fix(cli/tests): flaky Deno.watchFs() tests (#12485) 2021-10-19 07:50:13 -04:00
get_random_values_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
globals_test.ts chore: upgrade deno_ast to 0.5.0 (#12595) 2021-11-01 16:22:27 -04:00
headers_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
http_test.ts test(ext/http): DELETE requests should always have body (#12798) 2021-11-17 15:34:41 -08:00
internals_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
io_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
link_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
make_temp_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
message_channel_test.ts fix: MessagePort in message for postMessage transfers (#11103) 2021-06-26 11:17:05 +02:00
metrics_test.ts feat(core): streams (#12596) 2021-11-09 19:26:17 +01:00
mkdir_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
navigator_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
net_test.ts fix(core): poll async ops eagerly (#12385) 2021-10-17 19:50:42 +02:00
opcall_test.ts feat(core): streams (#12596) 2021-11-09 19:26:17 +01:00
os_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
path_from_url_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
performance_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
permissions_test.ts chore: replace calls to assertThrowsAsync with assertRejects (#12176) 2021-09-22 09:21:11 -04:00
process_test.ts feat: Stabilize Deno.kill and Deno.Process.kill (#12375) 2021-10-10 15:48:26 +02:00
progressevent_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
read_dir_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
read_file_test.ts fix(runtime): support reading /proc using readFile (#12839) 2021-11-22 16:53:58 +01:00
read_link_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
read_text_file_test.ts fix(runtime): support reading /proc using readFile (#12839) 2021-11-22 16:53:58 +01:00
README.md feat(tls): custom in memory CA certificates (#12219) 2021-09-30 09:26:15 +02:00
real_path_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
remove_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
rename_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
request_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
resources_test.ts chore: upgrade deno_ast to 0.5.0 (#12595) 2021-11-01 16:22:27 -04:00
response_test.ts perf(webidl): inline ResponseInit converter (#12285) 2021-10-11 23:43:52 +02:00
signal_test.ts feat(runtime): add Deno.addSignalListener API (#12512) 2021-10-26 12:03:38 +09:00
stat_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
stdio_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
streams_deprecated.ts fix(op_crate/fetch): add back ReadableStream.getIterator and deprecate (#9146) 2021-01-18 10:40:39 +11:00
structured_clone_test.ts feat(extensions/web): add structuredClone function (#11572) 2021-08-09 10:39:00 +02:00
symlink_test.ts fix(runtime): require full read and write permissions to create symlinks (#12554) 2021-10-29 17:05:55 -04:00
sync_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
test_util.ts feat(unstable/test): imperative test steps API (#12190) 2021-10-11 09:45:02 -04:00
testing_test.ts feat(test): Add more overloads for "Deno.test" (#12749) 2021-11-23 14:57:51 +01:00
text_encoding_test.ts feat(cli): enable useUnknownInCatchVariables by default (#12547) 2021-10-28 08:43:40 +11:00
timers_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
tls_test.ts feat: stabilize Deno.startTls (#12581) 2021-10-29 17:13:31 +02:00
truncate_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
tty_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
umask_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
url_search_params_test.ts tests: remove redundant type assertion (#11794) 2021-08-21 16:55:28 +10:00
url_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
urlpattern_test.ts feat: add URLPattern API (#11941) 2021-09-08 11:14:29 +02:00
utime_test.ts feat(runtime): improve error messages of runtime fs (#11984) 2021-10-11 15:21:18 +02:00
version_test.ts refactor(cli/tests): remove unnecessary void return types (#11577) 2021-08-05 13:08:58 +02:00
wasm_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
webcrypto_test.ts fix(ext/crypto): don't panic on decryption failure (#12840) 2021-11-22 23:58:21 +01:00
webgpu_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00
websocket_test.ts chore: update copyright to 2021 (#9092) 2021-01-11 18:13:41 +01:00
worker_permissions_test.ts fix: worker environment permissions should accept an array (#12250) 2021-09-30 15:50:59 -04:00
worker_types.ts fix: worker environment permissions should accept an array (#12250) 2021-09-30 15:50:59 -04:00
write_file_test.ts feat(cli): enable useUnknownInCatchVariables by default (#12547) 2021-10-28 08:43:40 +11:00
write_text_file_test.ts test(cli): align unit test permissions with runtime test permissions (#12189) 2021-09-23 01:50:50 +02:00

Deno runtime tests

Files in this directory are unit tests for Deno runtime.

Testing Deno runtime code requires checking API under different runtime permissions. To accomplish this all tests exercised are created using unitTest() function.

import { unitTest } from "./test_util.ts";

unitTest(function simpleTestFn(): void {
  // test code here
});

unitTest(
  {
    ignore: Deno.build.os === "windows",
    permissions: { read: true, write: true },
  },
  function complexTestFn(): void {
    // test code here
  },
);

Running tests

There are two ways to run unit_test_runner.ts:

# Run all tests.
target/debug/deno test --allow-all --unstable --location=http://js-unit-tests/foo/bar cli/tests/unit/

# Run a specific test module
target/debug/deno test --allow-all --unstable --location=http://js-unit-tests/foo/bar cli/tests/unit/files_test.ts

Http server

target/debug/test_server is required to run when one's running unit tests. During CI it's spawned automatically, but if you want to run tests manually make sure that server is spawned otherwise there'll be cascade of test failures.