1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-22 15:24:46 -05:00
denoland-deno/tests/unit
Marvin Hagemeister 26425a137b
feat(unstable): add JS linting plugin infrastructure (#27416)
This PR extracts the core part of
https://github.com/denoland/deno/pull/27203 to make it easier to review
and land in parts.

It contains:
-  The JS plugin code the deserializes and walks the buffer
- The Rust portion to serialize SWC to the buffer format (a bunch of
nodes are still todos, but imo these can land anytime later)
- Basic lint plugin types, without the AST node types to make this PR
easier to review
- Added more code comments to explain the format etc.


More fixes and changes will be done in follow-up PRs.

---------

Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-12-21 00:58:03 +01:00
..
abort_controller_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
blob_test.ts chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
body_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
broadcast_channel_test.ts chore: update to std@2024.07.19 (#24715) 2024-07-25 15:30:28 +10:00
build_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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 Merge commit from fork 2024-11-25 19:07:00 +01:00
ffi_test.ts feat(cli): use NotCapable error for permission errors (#25431) 2024-09-10 11:12:24 -07:00
file_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
filereader_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
files_test.ts refactor(ext/fs): align error messages (#25414) 2024-11-28 18:47:07 +00:00
fs_events_test.ts fix(runtime/ops): Fix watchfs remove event (#27041) 2024-11-25 21:08:52 +05:30
get_random_values_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
internals_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
intl_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
jupyter_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
kv_queue_test.ts refactor(ext/kv): align error messages (#25500) 2024-09-19 13:20:09 +05:30
kv_queue_test_no_db_close.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
kv_queue_undelivered_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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
lint_plugin_test.ts feat(unstable): add JS linting plugin infrastructure (#27416) 2024-12-21 00:58:03 +01: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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
net_test.ts BREAKING(ext/net): improved error code accuracy (#25383) 2024-09-27 14:07:20 +00:00
network_interfaces_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
ops_test.ts feat(unstable): add JS linting plugin infrastructure (#27416) 2024-12-21 00:58:03 +01: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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
promise_hooks_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
quic_test.ts feat(unstable): Implement QUIC (#21942) 2024-12-20 13:48:48 +01:00
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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
response_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
serve_test.ts fix(ext/fetch): don't throw when bodyUsed inspect after upgrade (#27088) 2024-11-26 21:38:46 +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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
streams_test.ts fix(streams): reject string in ReadableStream.from type (#25116) 2024-11-26 19:42:54 +00: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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
tty_test.ts test: remove DENO_FUTURE (#25587) 2024-09-12 11:30:12 +10:00
umask_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
url_search_params_test.ts feat(check): turn on noImplicitOverride (#25695) 2024-09-18 14:49:30 +01:00
url_test.ts chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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 docs: fix casing of Wasm (#26954) 2024-11-21 01:02:58 +00: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 fix(ext/webgpu): normalize limits to number (#27072) 2024-11-26 10:45:18 -08:00
websocket_test.ts fix(ext/websocket): don't throw exception when sending to closed socket (#26932) 2024-11-22 00:04:47 +01:00
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 chore: move cli/tests/ -> tests/ (#22369) 2024-02-10 20:22:13 +00:00
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.