mirror of
https://github.com/denoland/deno.git
synced 2024-12-28 10:09:20 -05:00
6e2df8c64f
This PR brings assertOps and assertResources sanitizers to Deno.test() API. assertOps checks that test doesn't leak async ops, ie. there are no unresolved promises originating from Deno APIs. Enabled by default, can be disabled using Deno.TestDefinition.disableOpSanitizer. assertResources checks that test doesn't leak resources, ie. all resources used in test are closed. For example; if a file is opened during a test case it must be explicitly closed before test case finishes. It's most useful for asynchronous generators. Enabled by default, can be disabled using Deno.TestDefinition.disableResourceSanitizer. We've used those sanitizers in internal runtime tests and it proved very useful in surfacing incorrect tests which resulted in interference between the tests. All tests have been sanitized. Closes #4208 |
||
---|---|---|
.. | ||
_fs | ||
tests | ||
_utils.ts | ||
events.ts | ||
events_test.ts | ||
fs.ts | ||
global.ts | ||
module.ts | ||
module_test.ts | ||
os.ts | ||
os_test.ts | ||
path.ts | ||
process.ts | ||
process_test.ts | ||
querystring.ts | ||
querystring_test.ts | ||
README.md | ||
timers.ts | ||
util.ts | ||
util_test.ts |
Deno Node compatibility
This module is meant to have a compatibility layer for the NodeJS standard library.
Warning: Any function of this module should not be referred anywhere in the deno standard library as it's a compatiblity module.
Supported Builtins
- assert
- buffer
- child_process
- cluster
- console
- crypto
- dgram
- dns
- events
- fs partly
- http
- http2
- https
- module
- net
- os partly
- path
- perf_hooks
- process partly
- querystring
- readline
- repl
- stream
- string_decoder
- sys
- timers
- tls
- tty
- url
- util partly
v8can't implement- vm
- worker_threads
- zlib
- node globals partly
Deprecated
These builtins are deprecated in NodeJS v13 and will probably not be polyfilled:
- constants
- domain
- freelist
- punycode
Experimental
These builtins are experimental in NodeJS v13 and will not be polyfilled until they are stable:
- async_hooks
- inspector
- policies
- report
- trace_events
- wasi
CommonJS Module Loading
createRequire(...)
is provided to create a require
function for loading CJS
modules.
import { createRequire } from "https://deno.land/std/node/module.ts";
const require_ = createRequire(import.meta.url);
// Loads native module polyfill.
const path = require_("path");
// Loads extensionless module.
const cjsModule = require_("./my_mod");
// Visits node_modules.
const leftPad = require_("left-pad");