deno/tests/unit
Łukasz Czerniawski 7becd83a38
feat(ext/fs): add ctime to Deno.stats and use it in node compat layer (#24801)
This PR fixes #24453, by introducing a ctime (using ctime for UNIX and
ChangeTime for Windows) to Deno.stats.

Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com>
2024-11-13 13:35:04 +09: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
build_test.ts
cache_api_test.ts refactor(ext/fetch): align error messages (#25374) 2024-09-04 09:05:29 +02:00
chmod_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
chown_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
command_test.ts chore: make commandWithCwdIsAsync test less flaky (#26770) 2024-11-07 15:02:33 -08:00
console_test.ts fix(ext/console): ignore casing for named colors in css parsing (#26466) 2024-10-22 10:57:58 +02:00
copy_file_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
cron_test.ts refactor(ext/cron): align error messages (#25300) 2024-09-05 08:27:58 +02:00
custom_event_test.ts
dir_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
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 feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
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 fix(ext/web): don't ignore capture in EventTarget.removeEventListener (#25788) 2024-09-23 11:19:59 +02:00
event_test.ts fix(runtime): use more null proto objects (#23921) 2024-05-23 00:03:35 +02:00
fetch_test.ts fix: better error for Deno.UnsafeWindowSurface, correct HttpClient name, cleanup unused code (#25833) 2024-09-24 07:04:52 -07:00
ffi_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
file_test.ts
filereader_test.ts
files_test.ts test: remove DENO_FUTURE (#25587) 2024-09-12 11:30:12 +10:00
fs_events_test.ts chore(fs): undeprecate Deno.FsWatcher.prototype.return() (#25623) 2024-09-17 07:57:53 +10:00
get_random_values_test.ts
globals_test.ts chore: update dlint to v0.68.0 for internal (#26711) 2024-11-04 12:17:11 -05:00
headers_test.ts refactor(ext/fetch): align error messages (#25374) 2024-09-04 09:05:29 +02:00
http_test.ts BREAKING(ext/net): improved error code accuracy (#25383) 2024-09-27 14:07:20 +00: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
jupyter_test.ts
kv_queue_test_no_db_close.ts
kv_queue_test.ts refactor(ext/kv): align error messages (#25500) 2024-09-19 13:20:09 +05:30
kv_queue_undelivered_test.ts
kv_test.ts refactor(ext/kv): align error messages (#25500) 2024-09-19 13:20:09 +05:30
link_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
make_temp_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
message_channel_test.ts chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
mkdir_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
navigator_test.ts
net_test.ts BREAKING(ext/net): improved error code accuracy (#25383) 2024-09-27 14:07:20 +00:00
network_interfaces_test.ts
ops_test.ts fix(node): Pass NPM_PROCESS_STATE to subprocesses via temp file instead of env var (#25896) 2024-09-27 12:35:37 -07:00
os_test.ts refactor(permissions): split up Descriptor into Allow, Deny, and Query (#25508) 2024-09-16 21:39:37 +01:00
path_from_url_test.ts
performance_test.ts perf(ext/web): optimize performance.measure() (#25774) 2024-09-20 16:24:59 -07:00
permissions_test.ts refactor: improve node permission checks (#26028) 2024-10-04 20:55:41 +01:00
process_test.ts BREAKING(fs): remove Deno.FsFile.prototype.rid (#25499) 2024-09-11 07:19:34 +10:00
progressevent_test.ts
promise_hooks_test.ts
read_dir_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
read_file_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
read_link_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
read_text_file_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
README.md test: remove usage of --unstable flag (#25549) 2024-09-10 11:28:59 +00:00
real_path_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
ref_unref_test.ts
remove_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
rename_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
request_test.ts
response_test.ts
serve_test.ts feat(ext/http): abort event when request is cancelled (#26781) 2024-11-08 18:46:11 +05:30
signal_test.ts refactor(runtime/ops): use concrete error types (#26409) 2024-10-22 01:41:08 -07:00
stat_test.ts feat(ext/fs): add ctime to Deno.stats and use it in node compat layer (#24801) 2024-11-13 13:35:04 +09:00
stdio_test.ts
streams_test.ts feat(check): turn on useUnknownInCatchVariables (#25465) 2024-09-05 15:22:31 +02: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 feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
test_util.ts test: remove DENO_FUTURE (#25587) 2024-09-12 11:30:12 +10:00
testing_test.ts refactor(cli/js): align error messages (#25406) 2024-09-04 09:19:55 +02:00
text_encoding_test.ts
timers_test.ts test: remove DENO_FUTURE (#25587) 2024-09-12 11:30:12 +10:00
tls_sni_test.ts BREAKING(net): remove Deno.ConnectTlsOptions.{certChain,certFile,privateKey} and Deno.ListenTlsOptions.certChain,certFile,keyFile} (#25525) 2024-09-10 21:55:42 +00:00
tls_test.ts BREAKING(ext/net): improved error code accuracy (#25383) 2024-09-27 14:07:20 +00:00
truncate_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
tty_color_test.ts
tty_test.ts test: remove DENO_FUTURE (#25587) 2024-09-12 11:30:12 +10:00
umask_test.ts
url_search_params_test.ts feat(check): turn on noImplicitOverride (#25695) 2024-09-18 14:49:30 +01:00
url_test.ts
urlpattern_test.ts Revert "fix(urlpattern): fallback to empty string for undefined group values" (#25961) 2024-10-02 09:02:46 -07:00
utime_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
version_test.ts feat: TypeScript 5.6 and npm:@types/node@22 (#25614) 2024-09-14 11:58:47 +01:00
wasm_test.ts refactor(ext/fetch): align error messages (#25374) 2024-09-04 09:05:29 +02:00
webcrypto_test.ts fix(ext/crypto): fix identity test for x25519 derive bits (#26011) 2024-10-03 16:46:48 +05:30
webgpu_test.ts BREAKING(webgpu/unstable): move width and height options to UnsafeWindowSurface constructor (#24200) 2024-09-22 09:10:54 +05:30
websocket_test.ts fix(ext/websocket): initialize error attribute of WebSocket ErrorEvent (#26796) 2024-11-12 17:10:07 +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 fix(ext/webstorage): make getOwnPropertyDescriptor with symbol return undefined (#13348) 2024-10-07 07:59:27 -07:00
worker_permissions_test.ts
worker_test.ts refactor(permissions): split up Descriptor into Allow, Deny, and Query (#25508) 2024-09-16 21:39:37 +01:00
write_file_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
write_text_file_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07: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 --location=http://js-unit-tests/foo/bar cli/tests/unit/

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