deno/cli/tests/unit
David Sherret 2fcf1f14cf
feat: TypeScript 5.0.2 (except decorators) (#18294)
This upgrades TypeScript to 5.0.2, but does not have ES decorator
support because swc does not support that yet.
2023-03-21 15:46:40 +00:00
..
abort_controller_test.ts chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09:00
blob_test.ts chore: update std submodule and its imports (#17408) 2023-01-15 21:09:26 +01:00
body_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
broadcast_channel_test.ts fix: check if BroadcastChannel is open before sending (#17366) 2023-01-12 13:43:36 +01:00
buffer_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
build_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
cache_api_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
chmod_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
chown_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
command_test.ts fix(core): SafePromiseAll to be unaffected by Array#@@iterator (#17542) 2023-03-13 19:24:31 +09:00
console_test.ts chore(ext/console): inspect anonymous function as [Function (anonymous)] (#18283) 2023-03-21 13:12:13 +09:00
copy_file_test.ts fix(runtime/fs): preserve permissions in copyFileSync for macOS (#17412) 2023-01-14 13:45:30 +00:00
custom_event_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
dir_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
dom_exception_test.ts chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09:00
error_stack_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
error_test.ts fix: add WouldBlock error (#17339) 2023-02-12 23:14:33 +01:00
esnext_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
event_target_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
event_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
fetch_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
ffi_test.ts feat(ext/ffi): Replace pointer integers with v8::External objects (#16889) 2023-02-22 19:32:38 +02:00
file_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
filereader_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
files_test.ts feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
flash_test.ts fix(core): SafePromiseAll to be unaffected by Array#@@iterator (#17542) 2023-03-13 19:24:31 +09:00
flock_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
fs_events_test.ts chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09:00
get_random_values_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
globals_test.ts refactor: remove Deno.core (#16881) 2023-01-24 18:54:10 +01:00
headers_test.ts fix(core): introduce SafeRegExp to primordials (#17592) 2023-03-01 08:14:16 +09:00
http_test.ts fix(ext/http): abort request signal when response errors (#17822) 2023-03-15 22:37:06 +00:00
internals_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
intl_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
io_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
link_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
make_temp_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
message_channel_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
metrics_test.ts refactor: remove Deno.core (#16881) 2023-01-24 18:54:10 +01:00
mkdir_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
navigator_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
net_test.ts feat(ext/net): Add multicasting APIs to DatagramConn (#10706) (#17811) 2023-03-20 22:27:00 +01:00
network_interfaces_test.ts chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09:00
opcall_test.ts refactor: rename InternalModuleLoader to ExtModuleLoader, use ext: scheme for snapshotted modules (#18041) 2023-03-08 12:44:54 +01:00
os_test.ts feat(runtime/os): add Deno.env.has() (#17315) 2023-01-09 20:19:55 +01:00
path_from_url_test.ts chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09:00
performance_test.ts fix(ext): internal structuredClone for ArrayBuffer and TypedArray subclasses (#17431) 2023-01-29 15:15:01 +01:00
permissions_test.ts feat: Add sync APIs for "Deno.permissions" (#17019) 2023-01-25 00:42:44 +01:00
process_test.ts refactor(core): resolve_url_or_path and resolve_url_or_path_deprecated (#18170) 2023-03-14 01:12:09 +00:00
progressevent_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
promise_hooks_test.ts refactor: remove Deno.core (#16881) 2023-01-24 18:54:10 +01:00
read_dir_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
read_file_test.ts fix(runtime): Extract error code for all OS error variants (#17958) 2023-03-19 00:01:50 +00:00
read_link_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
read_text_file_test.ts fix(ops): Always close cancel handles for read_async/write_async (#17736) 2023-02-11 14:19:13 +02:00
README.md chore: fix flaky netListenUnrefAndRef (#16892) 2022-12-02 12:41:52 -05:00
real_path_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
ref_unref_test.ts refactor: remove Deno.core (#16881) 2023-01-24 18:54:10 +01:00
remove_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
rename_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
request_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
resources_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
response_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
signal_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
stat_test.ts BREAKING(ext/fs): FileInfo.dev is defined on Windows (#18237) 2023-03-17 00:14:56 +01:00
stdio_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
streams_deprecated.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
structured_clone_test.ts chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09:00
symlink_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
sync_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
test_util.ts fix(ext): internal structuredClone for ArrayBuffer and TypedArray subclasses (#17431) 2023-01-29 15:15:01 +01:00
testing_test.ts feat: allow first arg in test step to be a function (#17096) 2023-01-24 15:41:01 +01:00
text_encoding_test.ts refactor: remove Deno.core (#16881) 2023-01-24 18:54:10 +01:00
timers_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
tls_test.ts chore: update std submodule and its imports (#17408) 2023-01-15 21:09:26 +01:00
truncate_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
tty_color_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
tty_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
umask_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
url_search_params_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
url_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
urlpattern_test.ts fix(core): introduce SafeRegExp to primordials (#17592) 2023-03-01 08:14:16 +09:00
utime_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
version_test.ts feat: TypeScript 5.0.2 (except decorators) (#18294) 2023-03-21 15:46:40 +00:00
wasm_test.ts chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09:00
webcrypto_test.ts fix(ext/crypto): correctly limit ECDSA and hash algorithms (#18030) 2023-03-05 12:34:07 +00:00
websocket_test.ts chore: add test for ws ping/pong (#18204) 2023-03-15 22:09:09 +05:30
webstorage_test.ts fix(ext/webstorage): check size of inputs before insert (#18087) 2023-03-09 12:28:51 +00:00
worker_permissions_test.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
worker_types.ts chore: update copyright year to 2023 (#17247) 2023-01-02 21:00:42 +00:00
write_file_test.ts fix(ops): Always close cancel handles for read_async/write_async (#17736) 2023-02-11 14:19:13 +02:00
write_text_file_test.ts chore: add copyright_checker tool and add the missing copyright (#17285) 2023-01-13 16:51:32 +09: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 Deno.test() function.

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

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

Deno.test(
  {
    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.
cargo run --bin deno -- test --allow-all --unstable --location=http://js-unit-tests/foo/bar cli/tests/unit/

# Run a specific test module
cargo run --bin 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.