diff options
Diffstat (limited to 'tests/testdata/node/test.js')
-rw-r--r-- | tests/testdata/node/test.js | 390 |
1 files changed, 0 insertions, 390 deletions
diff --git a/tests/testdata/node/test.js b/tests/testdata/node/test.js deleted file mode 100644 index 0f0f9b6b6..000000000 --- a/tests/testdata/node/test.js +++ /dev/null @@ -1,390 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. - -// Ported from https://github.com/nodejs/node/blob/d396a041f71cc055ad60b0abc63ad81c0ee6a574/test/fixtures/test-runner/output/output.js - -// deno-lint-ignore-file - -import assert from "node:assert"; -import test from "node:test"; -import util from "node:util"; -import { setImmediate } from "node:timers"; - -test("sync pass todo", (t) => { - t.todo(); -}); - -test("sync pass todo with message", (t) => { - t.todo("this is a passing todo"); -}); - -test("sync fail todo", (t) => { - t.todo(); - throw new Error("thrown from sync fail todo"); -}); - -test("sync fail todo with message", (t) => { - t.todo("this is a failing todo"); - throw new Error("thrown from sync fail todo with message"); -}); - -test("sync skip pass", (t) => { - t.skip(); -}); - -test("sync skip pass with message", (t) => { - t.skip("this is skipped"); -}); - -test("sync pass", (t) => { - t.diagnostic("this test should pass"); -}); - -test("sync throw fail", () => { - throw new Error("thrown from sync throw fail"); -}); - -test("async skip pass", async (t) => { - t.skip(); -}); - -test("async pass", async () => { -}); - -test("async throw fail", async () => { - throw new Error("thrown from async throw fail"); -}); - -test("nested test", async (t) => { - await t.test("nested 1", async (t) => { - await t.test("nested 2", () => { - }); - }); -}); - -test("async skip fail", async (t) => { - t.skip(); - throw new Error("thrown from async throw fail"); -}); - -test("async assertion fail", async () => { - // Make sure the assert module is handled. - assert.strictEqual(true, false); -}); - -test("resolve pass", () => { - return Promise.resolve(); -}); - -test("reject fail", () => { - return Promise.reject(new Error("rejected from reject fail")); -}); - -test("unhandled rejection - passes but warns", () => { - Promise.reject(new Error("rejected from unhandled rejection fail")); -}); - -test("async unhandled rejection - passes but warns", async () => { - Promise.reject(new Error("rejected from async unhandled rejection fail")); -}); - -test("immediate throw - passes but warns", () => { - setImmediate(() => { - throw new Error("thrown from immediate throw fail"); - }); -}); - -test("immediate reject - passes but warns", () => { - setImmediate(() => { - Promise.reject(new Error("rejected from immediate reject fail")); - }); -}); - -test("immediate resolve pass", () => { - return new Promise((resolve) => { - setImmediate(() => { - resolve(); - }); - }); -}); - -test("subtest sync throw fail", async (t) => { - await t.test("+sync throw fail", (t) => { - t.diagnostic("this subtest should make its parent test fail"); - throw new Error("thrown from subtest sync throw fail"); - }); -}); - -test("sync throw non-error fail", async (t) => { - throw Symbol("thrown symbol from sync throw non-error fail"); -}); - -test("level 0a", { concurrency: 4 }, async (t) => { - t.test("level 1a", async (t) => { - const p1a = new Promise((resolve) => { - setTimeout(() => { - resolve(); - }, 100); - }); - - return p1a; - }); - - test("level 1b", async (t) => { - const p1b = new Promise((resolve) => { - resolve(); - }); - - return p1b; - }); - - t.test("level 1c", async (t) => { - const p1c = new Promise((resolve) => { - setTimeout(() => { - resolve(); - }, 200); - }); - - return p1c; - }); - - t.test("level 1d", async (t) => { - const p1c = new Promise((resolve) => { - setTimeout(() => { - resolve(); - }, 150); - }); - - return p1c; - }); - - const p0a = new Promise((resolve) => { - setTimeout(() => { - resolve(); - }, 300); - }); - - return p0a; -}); - -test("top level", { concurrency: 2 }, async (t) => { - t.test("+long running", async (t) => { - return new Promise((resolve, reject) => { - setTimeout(resolve, 300).unref(); - }); - }); - - t.test("+short running", async (t) => { - t.test("++short running", async (t) => {}); - }); -}); - -test("invalid subtest - pass but subtest fails", (t) => { - setImmediate(() => { - t.test("invalid subtest fail", () => { - throw new Error("this should not be thrown"); - }); - }); -}); - -test("sync skip option", { skip: true }, (t) => { - throw new Error("this should not be executed"); -}); - -test("sync skip option with message", { skip: "this is skipped" }, (t) => { - throw new Error("this should not be executed"); -}); - -test("sync skip option is false fail", { skip: false }, (t) => { - throw new Error("this should be executed"); -}); - -// A test with no arguments provided. -test(); - -// A test with only a named function provided. -test(function functionOnly() {}); - -// A test with only an anonymous function provided. -test(() => {}); - -// A test with only a name provided. -test("test with only a name provided"); - -// A test with an empty string name. -test(""); - -// A test with only options provided. -test({ skip: true }); - -// A test with only a name and options provided. -test("test with a name and options provided", { skip: true }); - -// A test with only options and a function provided. -test({ skip: true }, function functionAndOptions() {}); - -// A test whose description needs to be escaped. -// test("escaped description \\ # \\#\\ \n \t \f \v \b \r"); - -// A test whose skip message needs to be escaped. -test("escaped skip message", { skip: "#skip" }); - -// A test whose todo message needs to be escaped. -test("escaped todo message", { todo: "#todo" }); - -// A test with a diagnostic message that needs to be escaped. -test("escaped diagnostic", (t) => { - t.diagnostic("#diagnostic"); -}); - -test("callback pass", (t, done) => { - setImmediate(done); -}); - -test("callback fail", (t, done) => { - setImmediate(() => { - done(new Error("callback failure")); - }); -}); - -test("sync t is this in test", function (t) { - assert.strictEqual(this, t); -}); - -test("async t is this in test", async function (t) { - assert.strictEqual(this, t); -}); - -test("callback t is this in test", function (t, done) { - assert.strictEqual(this, t); - done(); -}); - -test("callback also returns a Promise", async (t, done) => { - throw new Error("thrown from callback also returns a Promise"); -}); - -test("callback throw", (t, done) => { - throw new Error("thrown from callback throw"); -}); - -test("callback called twice", (t, done) => { - done(); - done(); -}); - -test("callback called twice in different ticks", (t, done) => { - setImmediate(done); - done(); -}); - -test("callback called twice in future tick", (t, done) => { - setImmediate(() => { - done(); - done(); - }); -}); - -test("callback async throw", (t, done) => { - setImmediate(() => { - throw new Error("thrown from callback async throw"); - }); -}); - -test("callback async throw after done", (t, done) => { - setImmediate(() => { - throw new Error("thrown from callback async throw after done"); - }); - - done(); -}); - -test("custom inspect symbol fail", () => { - const obj = { - [util.inspect.custom]() { - return "customized"; - }, - foo: 1, - }; - - throw obj; -}); - -test("custom inspect symbol that throws fail", () => { - const obj = { - [util.inspect.custom]() { - throw new Error("bad-inspect"); - }, - foo: 1, - }; - - throw obj; -}); - -test("subtest sync throw fails", async (t) => { - await t.test("sync throw fails at first", (t) => { - throw new Error("thrown from subtest sync throw fails at first"); - }); - await t.test("sync throw fails at second", (t) => { - throw new Error("thrown from subtest sync throw fails at second"); - }); -}); - -test("timed out async test", { timeout: 5 }, async (t) => { - return new Promise((resolve) => { - setTimeout(resolve, 100); - }); -}); - -test("timed out callback test", { timeout: 5 }, (t, done) => { - setTimeout(done, 100); -}); - -test("large timeout async test is ok", { timeout: 30_000_000 }, async (t) => { - return new Promise((resolve) => { - setTimeout(resolve, 10); - }); -}); - -test( - "large timeout callback test is ok", - { timeout: 30_000_000 }, - (t, done) => { - setTimeout(done, 10); - }, -); - -test("successful thenable", () => { - let thenCalled = false; - return { - get then() { - if (thenCalled) throw new Error(); - thenCalled = true; - return (successHandler) => successHandler(); - }, - }; -}); - -test("rejected thenable", () => { - let thenCalled = false; - return { - get then() { - if (thenCalled) throw new Error(); - thenCalled = true; - return (_, errorHandler) => errorHandler("custom error"); - }, - }; -}); - -test("unfinished test with uncaughtException", async () => { - await new Promise(() => { - setTimeout(() => { - throw new Error("foo"); - }); - }); -}); - -test("unfinished test with unhandledRejection", async () => { - await new Promise(() => { - setTimeout(() => Promise.reject(new Error("bar"))); - }); -}); |