From 21f1b2f62b1fac9089c214d9b862fce2359d30fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bartek=20Iwa=C5=84czuk?= Date: Wed, 2 Aug 2023 01:17:38 +0200 Subject: feat(node): add polyfill for node:test module (#20002) This commit provides basic polyfill for "node:test" module. Currently only top-level "test" function is polyfilled, all remaining functions from that module throw not implemented errors. --- cli/tests/testdata/node/test.out | 176 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 cli/tests/testdata/node/test.out (limited to 'cli/tests/testdata/node/test.out') diff --git a/cli/tests/testdata/node/test.out b/cli/tests/testdata/node/test.out new file mode 100644 index 000000000..afda0eca3 --- /dev/null +++ b/cli/tests/testdata/node/test.out @@ -0,0 +1,176 @@ +[WILDCARD] +Warning: Not implemented: test.options.concurrency +Warning: Not implemented: test.options.concurrency +Warning: Not implemented: test.options.timeout +Warning: Not implemented: test.options.timeout +Warning: Not implemented: test.options.timeout +Warning: Not implemented: test.options.timeout +running 62 tests from ./node/test.js +sync pass todo ... +------- output ------- +Warning: Not implemented: test.TestContext.todo +----- output end ----- +sync pass todo ... ok [WILDCARD] +sync pass todo with message ... +------- output ------- +Warning: Not implemented: test.TestContext.todo +----- output end ----- +sync pass todo with message ... ok [WILDCARD] +sync fail todo ... +------- output ------- +Warning: Not implemented: test.TestContext.todo +----- output end ----- +sync fail todo ... FAILED [WILDCARD] +sync fail todo with message ... +------- output ------- +Warning: Not implemented: test.TestContext.todo +----- output end ----- +sync fail todo with message ... FAILED [WILDCARD] +sync skip pass ... +------- output ------- +Warning: Not implemented: test.TestContext.skip +----- output end ----- +sync skip pass ... ok [WILDCARD] +sync skip pass with message ... +------- output ------- +Warning: Not implemented: test.TestContext.skip +----- output end ----- +sync skip pass with message ... ok [WILDCARD] +sync pass ... +------- output ------- +DIAGNOSTIC: this test should pass +----- output end ----- +sync pass ... ok [WILDCARD] +sync throw fail ... FAILED [WILDCARD] +async skip pass ... +------- output ------- +Warning: Not implemented: test.TestContext.skip +----- output end ----- +async skip pass ... ok [WILDCARD] +async pass ... ok [WILDCARD] +async throw fail ... FAILED [WILDCARD] +async skip fail ... +------- output ------- +Warning: Not implemented: test.TestContext.skip +----- output end ----- +async skip fail ... FAILED [WILDCARD] +async assertion fail ... FAILED [WILDCARD] +resolve pass ... ok [WILDCARD] +reject fail ... FAILED [WILDCARD] +unhandled rejection - passes but warns ... +Uncaught error from ./node/test.js FAILED +unhandled rejection - passes but warns ... cancelled ([WILDCARD]) +async unhandled rejection - passes but warns ... cancelled ([WILDCARD]) +immediate throw - passes but warns ... cancelled ([WILDCARD]) +immediate reject - passes but warns ... cancelled ([WILDCARD]) +immediate resolve pass ... cancelled ([WILDCARD]) +subtest sync throw fail ... cancelled ([WILDCARD]) +sync throw non-error fail ... cancelled ([WILDCARD]) +level 0a ... cancelled ([WILDCARD]) +top level ... cancelled ([WILDCARD]) +invalid subtest - pass but subtest fails ... cancelled ([WILDCARD]) +sync skip option ... ignored ([WILDCARD]) +sync skip option with message ... cancelled ([WILDCARD]) +sync skip option is false fail ... cancelled ([WILDCARD]) +noop ... cancelled ([WILDCARD]) +functionOnly ... cancelled ([WILDCARD]) + ... cancelled ([WILDCARD]) +test with only a name provided ... cancelled ([WILDCARD]) +noop ... cancelled ([WILDCARD]) +noop ... ignored ([WILDCARD]) +test with a name and options provided ... ignored ([WILDCARD]) +functionAndOptions ... ignored ([WILDCARD]) +escaped skip message ... cancelled ([WILDCARD]) +escaped todo message ... cancelled ([WILDCARD]) +escaped diagnostic ... cancelled ([WILDCARD]) +callback pass ... cancelled ([WILDCARD]) +callback fail ... cancelled ([WILDCARD]) +sync t is this in test ... cancelled ([WILDCARD]) +async t is this in test ... cancelled ([WILDCARD]) +callback t is this in test ... cancelled ([WILDCARD]) +callback also returns a Promise ... cancelled ([WILDCARD]) +callback throw ... cancelled ([WILDCARD]) +callback called twice ... cancelled ([WILDCARD]) +callback called twice in different ticks ... cancelled ([WILDCARD]) +callback called twice in future tick ... cancelled ([WILDCARD]) +callback async throw ... cancelled ([WILDCARD]) +callback async throw after done ... cancelled ([WILDCARD]) +custom inspect symbol fail ... cancelled ([WILDCARD]) +custom inspect symbol that throws fail ... cancelled ([WILDCARD]) +subtest sync throw fails ... cancelled ([WILDCARD]) +timed out async test ... cancelled ([WILDCARD]) +timed out callback test ... cancelled ([WILDCARD]) +large timeout async test is ok ... cancelled ([WILDCARD]) +large timeout callback test is ok ... cancelled ([WILDCARD]) +successful thenable ... cancelled ([WILDCARD]) +rejected thenable ... cancelled ([WILDCARD]) +unfinished test with uncaughtException ... cancelled ([WILDCARD]) +unfinished test with unhandledRejection ... cancelled ([WILDCARD]) + + ERRORS + +sync fail todo => node:test:135:10 +error: Error: thrown from sync fail todo + throw new Error("thrown from sync fail todo"); +[WILDCARD] + +sync fail todo with message => node:test:135:10 +error: Error: thrown from sync fail todo with message + throw new Error("thrown from sync fail todo with message"); +[WILDCARD] + +sync throw fail => node:test:135:10 +error: Error: thrown from sync throw fail + throw new Error("thrown from sync throw fail"); +[WILDCARD] + +async throw fail => node:test:135:10 +error: Error: thrown from async throw fail + throw new Error("thrown from async throw fail"); +[WILDCARD] + +async skip fail => node:test:135:10 +error: Error: thrown from async throw fail + throw new Error("thrown from async throw fail"); +[WILDCARD] + +async assertion fail => node:test:135:10 +error: AssertionError: Values are not strictly equal: + + + [Diff] Actual / Expected + + +- true ++ false + + at [WILDCARD] + +reject fail => node:test:135:10 +error: Error: rejected from reject fail + return Promise.reject(new Error("rejected from reject fail")); + ^ + at [WILDCARD] + +./node/test.js (uncaught error) +error: Error: rejected from unhandled rejection fail + Promise.reject(new Error("rejected from unhandled rejection fail")); + ^ + at [WILDCARD] +This error was not caught from a test and caused the test runner to fail on the referenced module. +It most likely originated from a dangling promise, event/timeout handler or top-level code. + + FAILURES + +sync fail todo => node:test:135:10 +sync fail todo with message => node:test:135:10 +sync throw fail => node:test:135:10 +async throw fail => node:test:135:10 +async skip fail => node:test:135:10 +async assertion fail => node:test:135:10 +reject fail => node:test:135:10 +./node/test.js (uncaught error) + +FAILED | 8 passed | 51 failed | 4 ignored [WILDCARD] + +error: Test failed -- cgit v1.2.3