deno/tests/unit
seb a3a54bc747
fix(ext/net): validate port in Deno.{connect,serve,listen} (#24399)
Co-authored-by: Will Leach <4619280+melbourne2991@users.noreply.github.com>
Co-authored-by: Luca Casonato <hello@lcas.dev>
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-08-20 21:25:41 +00:00
..
abort_controller_test.ts
blob_test.ts chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
body_test.ts
broadcast_channel_test.ts chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
buffer_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
build_test.ts
cache_api_test.ts
chmod_test.ts
chown_test.ts
command_test.ts chore: upgrade dlint to 0.60.0 (#24041) 2024-06-05 01:09:29 +02:00
console_test.ts chore: enable no-console dlint rule (#25113) 2024-08-20 15:14:37 -04:00
copy_file_test.ts
cron_test.ts
custom_event_test.ts
dir_test.ts
dom_exception_test.ts chore(ext/web): use Error.captureStackTrace in DOMException constructor (#23986) 2024-06-05 01:09:13 +02:00
error_stack_test.ts
error_test.ts
esnext_test.ts feat: enable Float16Array support (#23490) 2024-04-23 15:18:27 +00:00
event_source_test.ts fix(ext/fetch): do not truncate field value in EventSource (#22368) 2024-03-25 07:31:13 -07:00
event_target_test.ts chore: upgrade dlint to 0.60.0 (#24041) 2024-06-05 01:09:29 +02:00
event_test.ts fix(runtime): use more null proto objects (#23921) 2024-05-23 00:03:35 +02:00
fetch_test.ts chore: enable no-console dlint rule (#25113) 2024-08-20 15:14:37 -04:00
ffi_test.ts BREAKING(ffi/unstable): use BigInt representation in turbocall (#23983) 2024-05-30 08:00:11 +05:30
file_test.ts
filereader_test.ts
files_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
flock_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
fs_events_test.ts fix: rename watch event missing (#24893) 2024-08-07 18:15:57 +02:00
get_random_values_test.ts
globals_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
headers_test.ts
http_test.ts chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
image_bitmap_test.ts fix(ext/web): properly handle Blob case for createImageBitmap (#23518) 2024-05-07 04:47:42 -07:00
image_data_test.ts
internals_test.ts
intl_test.ts
io_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
jupyter_test.ts
kv_queue_test_no_db_close.ts
kv_queue_test.ts
kv_queue_undelivered_test.ts
kv_test.ts chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
link_test.ts
make_temp_test.ts fix(ext/fs): make errors in tempfile creation clearer (#22498) 2024-02-21 20:11:04 +00:00
message_channel_test.ts chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
mkdir_test.ts
navigator_test.ts
net_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
network_interfaces_test.ts
ops_test.ts perf(cli): reduce overhead in test registration (#22552) 2024-02-27 20:30:17 -07:00
os_test.ts chore: improve accessing special file test (#25099) 2024-08-19 16:21:27 -04:00
path_from_url_test.ts
performance_test.ts
permissions_test.ts
process_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
progressevent_test.ts
promise_hooks_test.ts
read_dir_test.ts
read_file_test.ts chore: improve accessing special file test (#25099) 2024-08-19 16:21:27 -04:00
read_link_test.ts
read_text_file_test.ts chore: improve accessing special file test (#25099) 2024-08-19 16:21:27 -04:00
README.md
real_path_test.ts
ref_unref_test.ts
remove_test.ts
rename_test.ts
request_test.ts
resources_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
response_test.ts
serve_test.ts fix(ext/net): validate port in Deno.{connect,serve,listen} (#24399) 2024-08-20 21:25:41 +00:00
signal_test.ts fix(ext/node): Add SIGPOLL and SIGUNUSED signals (#24259) 2024-06-19 13:41:09 +05:30
stat_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
stdio_test.ts
streams_test.ts feat(fetch): accept async iterables for body (#24623) 2024-08-06 00:13:02 -07:00
structured_clone_test.ts fix(ext/web): Fix structuredClone Web API type declaration (any -> generic) (#22968) 2024-03-25 22:44:49 +01:00
symbol_test.ts
symlink_test.ts fix: Add missing "junction" type for SymlinkOptions.types (#23756) 2024-05-14 15:06:21 +02:00
sync_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
test_util.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
testing_test.ts
text_encoding_test.ts
timers_test.ts chore: enable no-console dlint rule (#25113) 2024-08-20 15:14:37 -04:00
tls_sni_test.ts refactor(ext/tls): Implement required functionality for later SNI support (#23686) 2024-05-09 10:54:47 -06:00
tls_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
truncate_test.ts
tty_color_test.ts
tty_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
umask_test.ts
url_search_params_test.ts
url_test.ts
urlpattern_test.ts chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
utime_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
version_test.ts feat: Upgrade to TypeScript 5.5.2 (#24326) 2024-07-03 16:09:54 +02:00
wasm_test.ts
webcrypto_test.ts Revert "test: run unit tests with DENO_FUTURE=1 (#24400)" (#25060) 2024-08-15 23:30:06 +00:00
webgpu_test.ts fix(ext/webgpu): assign missing constants property of shader about GPUDevice.createRenderPipeline[Async] (#24803) 2024-08-01 11:19:25 -07:00
websocket_test.ts fix(ext/websocket): drop connection when close frame not ack (#24301) 2024-06-25 19:09:02 +05:30
websocketstream_test.ts.disabled chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
webstorage_test.ts
worker_permissions_test.ts
worker_test.ts chore: enable no-console dlint rule (#25113) 2024-08-20 15:14:37 -04:00
write_file_test.ts fix(ext/fs): truncate files when a ReadableStream is passed to writeFile (#23330) 2024-05-28 00:14:35 +02:00
write_text_file_test.ts

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.