From 9cd6b0b12140dc908d77cd38cf440657b0c24da2 Mon Sep 17 00:00:00 2001 From: Edward Bebbington <47337480+ebebbington@users.noreply.github.com> Date: Sun, 13 Aug 2023 22:06:36 +0100 Subject: [PATCH] Update deps (#170) * Update dependencies * update test deps * update test file * fix tests * fix tests --- deps.ts | 4 +- tests/integration/error_test.ts | 46 ++++++------- tests/integration/help_test.ts | 25 +++---- tests/integration/up-to-date-deps/deps.ts | 12 ++-- .../up-to-date-deps/original_deps.ts | 12 ++-- tests/integration/update_test.ts | 66 ++++++++----------- tests/integration/version_test.ts | 27 ++++---- 7 files changed, 88 insertions(+), 104 deletions(-) diff --git a/deps.ts b/deps.ts index 0b2c2b2..3f9415d 100644 --- a/deps.ts +++ b/deps.ts @@ -3,5 +3,5 @@ export * as Line from "https://deno.land/x/line@v1.0.1/mod.ts"; import { ConsoleLogger } from "https://deno.land/x/unilogger@v1.1.0/mod.ts"; const consoleLogger = new ConsoleLogger({}); export { consoleLogger as ConsoleLogger }; -export { assertEquals } from "https://deno.land/std@0.168.0/testing/asserts.ts"; -export * as colours from "https://deno.land/std@0.168.0/fmt/colors.ts"; +export { assertEquals } from "https://deno.land/std@0.196.0/testing/asserts.ts"; +export * as colours from "https://deno.land/std@0.196.0/fmt/colors.ts"; diff --git a/tests/integration/error_test.ts b/tests/integration/error_test.ts index 990d1a3..aee6961 100644 --- a/tests/integration/error_test.ts +++ b/tests/integration/error_test.ts @@ -5,34 +5,34 @@ import { expectedHelpMessage } from "../data/expected_help_message.ts"; Deno.test({ name: "No Purpose", async fn(): Promise { - const p = await Deno.run({ - cmd: ["deno", "run", "--allow-net", "--allow-read", "../../../mod.ts"], + const command = new Deno.Command(Deno.execPath(), { + args: [ + "run", + "--allow-net", + "--allow-read", + "../../../mod.ts", + ], cwd: upToDateDepsDir, stdout: "piped", stderr: "piped", }); - const status = await p.status(); - const output = await p.output(); - await p.close(); - const stdout = new TextDecoder("utf-8").decode(output); - const error = await p.stderrOutput(); - const stderr = new TextDecoder("utf-8").decode(error); + const { code, stdout, stderr } = await command.output(); + const out = new TextDecoder("utf-8").decode(stdout); + const err = new TextDecoder("utf-8").decode(stderr); assertEquals( - stdout, + out, expectedHelpMessage, ); - assertEquals(stderr, ""); - assertEquals(status.code, 0); - assertEquals(status.success, true); + assertEquals(err, ""); + assertEquals(code, 0); }, }); Deno.test({ name: "Purpose is Not Supported", async fn(): Promise { - const p = await Deno.run({ - cmd: [ - "deno", + const command = new Deno.Command(Deno.execPath(), { + args: [ "run", "--allow-net", "--allow-read", @@ -43,19 +43,15 @@ Deno.test({ stdout: "piped", stderr: "piped", }); - const status = await p.status(); - const output = await p.output(); - await p.close(); - const stdout = new TextDecoder("utf-8").decode(output); - const error = await p.stderrOutput(); - const stderr = new TextDecoder("utf-8").decode(error); + const { code, stdout, stderr } = await command.output(); + const out = new TextDecoder("utf-8").decode(stdout); + const err = new TextDecoder("utf-8").decode(stderr); assertEquals( - stdout, + out, colours.red("[ERROR] ") + "Command 'dmm' used incorrectly. Error(s) found:\n\n * Unknown argument(s) provided: something.\n\nUSAGE\n\n dmm [option]\n dmm [subcommand]\n\n Run `dmm --help` for more information.\n", ); - assertEquals(stderr, ""); - assertEquals(status.code, 1); - assertEquals(status.success, false); + assertEquals(err, ""); + assertEquals(code, 1); }, }); diff --git a/tests/integration/help_test.ts b/tests/integration/help_test.ts index 0ea866d..2649e2e 100644 --- a/tests/integration/help_test.ts +++ b/tests/integration/help_test.ts @@ -5,24 +5,25 @@ import { expectedHelpMessage } from "../data/expected_help_message.ts"; Deno.test({ name: "Should display the help text", async fn(): Promise { - const p = await Deno.run({ - cmd: ["deno", "run", "--allow-net", "../../../mod.ts", "--help"], + const command = new Deno.Command(Deno.execPath(), { + args: [ + "run", + "--allow-net", + "../../../mod.ts", + "--help", + ], cwd: upToDateDepsDir, stdout: "piped", stderr: "piped", }); - const status = await p.status(); - const output = await p.output(); - await p.close(); - const stdout = new TextDecoder("utf-8").decode(output); - const error = await p.stderrOutput(); - const stderr = new TextDecoder("utf-8").decode(error); - assertEquals(stderr, ""); + const { code, stdout, stderr } = await command.output(); + const out = new TextDecoder("utf-8").decode(stdout); + const err = new TextDecoder("utf-8").decode(stderr); + assertEquals(err, ""); assertEquals( - stdout, + out, expectedHelpMessage, ); - assertEquals(status.code, 0); - assertEquals(status.success, true); + assertEquals(code, 0); }, }); diff --git a/tests/integration/up-to-date-deps/deps.ts b/tests/integration/up-to-date-deps/deps.ts index d4b9a35..f68db42 100644 --- a/tests/integration/up-to-date-deps/deps.ts +++ b/tests/integration/up-to-date-deps/deps.ts @@ -1,19 +1,19 @@ import { Drash } from "https://deno.land/x/drash@v2.7.1/mod.ts"; // up to date -import * as fs from "https://deno.land/std@0.168.0/fs/mod.ts"; // up to date +import * as fs from "https://deno.land/std@0.198.0/fs/mod.ts"; // up to date -import * as colors from "https://deno.land/std@0.168.0/fmt/colors.ts"; //up to date +import * as colors from "https://deno.land/std@0.198.0/fmt/colors.ts"; //up to date import * as Cliffy from "https://x.nest.land/cliffy@0.20.1/mod.ts"; //up to date -import * as log from "https://deno.land/std@0.168.0/log/mod.ts"; //up to date +import * as log from "https://deno.land/std@0.198.0/log/mod.ts"; //up to date -export { v4 } from "https://deno.land/std@0.168.0/uuid/mod.ts"; //up to date +export { v4 } from "https://deno.land/std@0.198.0/uuid/mod.ts"; //up to date export { Cliffy, colors, Drash, fs, log }; export { Something } from "https://raw.githubusercontent.com/drashland/wocket/v1.0.0/mod.ts"; -export { createBot } from "https://deno.land/x/discordeno@17.0.1/mod.ts"; +export { createBot } from "https://deno.land/x/discordeno@18.0.1/mod.ts"; -import _Table from "https://unpkg.com/table-layout@3.0.0/dist/index.mjs"; +import _Table from "https://unpkg.com/table-layout@3.0.2/dist/index.mjs"; diff --git a/tests/integration/up-to-date-deps/original_deps.ts b/tests/integration/up-to-date-deps/original_deps.ts index d4b9a35..f68db42 100644 --- a/tests/integration/up-to-date-deps/original_deps.ts +++ b/tests/integration/up-to-date-deps/original_deps.ts @@ -1,19 +1,19 @@ import { Drash } from "https://deno.land/x/drash@v2.7.1/mod.ts"; // up to date -import * as fs from "https://deno.land/std@0.168.0/fs/mod.ts"; // up to date +import * as fs from "https://deno.land/std@0.198.0/fs/mod.ts"; // up to date -import * as colors from "https://deno.land/std@0.168.0/fmt/colors.ts"; //up to date +import * as colors from "https://deno.land/std@0.198.0/fmt/colors.ts"; //up to date import * as Cliffy from "https://x.nest.land/cliffy@0.20.1/mod.ts"; //up to date -import * as log from "https://deno.land/std@0.168.0/log/mod.ts"; //up to date +import * as log from "https://deno.land/std@0.198.0/log/mod.ts"; //up to date -export { v4 } from "https://deno.land/std@0.168.0/uuid/mod.ts"; //up to date +export { v4 } from "https://deno.land/std@0.198.0/uuid/mod.ts"; //up to date export { Cliffy, colors, Drash, fs, log }; export { Something } from "https://raw.githubusercontent.com/drashland/wocket/v1.0.0/mod.ts"; -export { createBot } from "https://deno.land/x/discordeno@17.0.1/mod.ts"; +export { createBot } from "https://deno.land/x/discordeno@18.0.1/mod.ts"; -import _Table from "https://unpkg.com/table-layout@3.0.0/dist/index.mjs"; +import _Table from "https://unpkg.com/table-layout@3.0.2/dist/index.mjs"; diff --git a/tests/integration/update_test.ts b/tests/integration/update_test.ts index 0dd9124..672b2f9 100644 --- a/tests/integration/update_test.ts +++ b/tests/integration/update_test.ts @@ -46,9 +46,8 @@ Deno.test({ async fn(): Promise { defaultDepsBackToOriginal("out-of-date-deps"); try { - const p = await Deno.run({ - cmd: [ - "deno", + const command = new Deno.Command(Deno.execPath(), { + args: [ "run", "--allow-net", "--allow-read", @@ -56,16 +55,14 @@ Deno.test({ "../../../mod.ts", "update", ], + cwd: outOfDateDepsDir, stdout: "piped", stderr: "piped", }); - const status = await p.status(); - const output = await p.output(); - await p.close(); - const stdout = new TextDecoder("utf-8").decode(output); - const error = await p.stderrOutput(); - const stderr = new TextDecoder("utf-8").decode(error); + const { code, stdout, stderr } = await command.output(); + const out = new TextDecoder("utf-8").decode(stdout); + const err = new TextDecoder("utf-8").decode(stderr); const assertedOutput = colours.green("[INFO]") + " Gathering information on your dependencies...\n" + colours.green("[INFO]") + @@ -88,10 +85,9 @@ Deno.test({ ` discordeno was updated from 13.0.0-rc34 to ${latestDiscordDenoRelease}\n` + colours.green("[INFO]") + ` table-layout was updated from 2.0.0 to ${latestTableLayoutRelease}\n`; - assertEquals(stdout, assertedOutput); - assertEquals(stderr, ""); - assertEquals(status.code, 0); - assertEquals(status.success, true); + assertEquals(out, assertedOutput); + assertEquals(err, ""); + assertEquals(code, 0); const originalDepContent = new TextDecoder("utf-8").decode( Deno.readFileSync(outOfDateOriginalDepsFile), ); @@ -122,9 +118,8 @@ Deno.test({ Deno.test({ name: "Should be OK if no modules need to be updated", async fn(): Promise { - const p = await Deno.run({ - cmd: [ - "deno", + const command = new Deno.Command(Deno.execPath(), { + args: [ "run", "--allow-net", "--allow-read", @@ -136,30 +131,26 @@ Deno.test({ stdout: "piped", stderr: "piped", }); - const status = await p.status(); - const output = await p.output(); - await p.close(); - const stdout = new TextDecoder("utf-8").decode(output); - const error = await p.stderrOutput(); - const stderr = new TextDecoder("utf-8").decode(error); + const { code, stdout, stderr } = await command.output(); + const out = new TextDecoder("utf-8").decode(stdout); + const err = new TextDecoder("utf-8").decode(stderr); assertEquals( - stdout, + out, colours.green("[INFO]") + " Gathering information on your dependencies...\n" + colours.green("[INFO]") + " Checking if your modules can be updated...\n" + colours.green("[INFO]") + " Everything is already up to date\n", ); - assertEquals(stderr, ""); - assertEquals(status.code, 0); - assertEquals(status.success, true); + assertEquals(err, ""); + assertEquals(code, 0); const originalDepContent = new TextDecoder("utf-8").decode( Deno.readFileSync(upToDateOriginalDepsFile), ); const newDepContent = new TextDecoder("utf-8").decode( Deno.readFileSync(upToDateDepsFile), ); - assertEquals(newDepContent === originalDepContent, true); + assertEquals(newDepContent, originalDepContent); }, }); @@ -167,9 +158,8 @@ Deno.test({ name: "Should update when a custom dependency file path is given", async fn(): Promise { try { - const p = await Deno.run({ - cmd: [ - "deno", + const command = new Deno.Command(Deno.execPath(), { + args: [ "run", "--allow-net", "--allow-read", @@ -183,14 +173,11 @@ Deno.test({ stdout: "piped", stderr: "piped", }); - const status = await p.status(); - const output = await p.output(); - await p.close(); - const stdout = new TextDecoder("utf-8").decode(output); - const error = await p.stderrOutput(); - const stderr = new TextDecoder("utf-8").decode(error); + const { code, stdout, stderr } = await command.output(); + const out = new TextDecoder("utf-8").decode(stdout); + const err = new TextDecoder("utf-8").decode(stderr); assertEquals( - stdout, + out, colours.green("[INFO]") + " Gathering information on your dependencies...\n" + colours.green("[INFO]") + @@ -214,9 +201,8 @@ Deno.test({ colours.green("[INFO]") + ` table-layout was updated from 2.0.0 to ${latestTableLayoutRelease}\n`, ); - assertEquals(stderr, ""); - assertEquals(status.code, 0); - assertEquals(status.success, true); + assertEquals(err, ""); + assertEquals(code, 0); const originalDepContent = new TextDecoder("utf-8").decode( Deno.readFileSync(outOfDateOriginalDepsFile), ); diff --git a/tests/integration/version_test.ts b/tests/integration/version_test.ts index d33f40d..5bdd9e7 100644 --- a/tests/integration/version_test.ts +++ b/tests/integration/version_test.ts @@ -5,24 +5,25 @@ import { version } from "../../src/commands/version.ts"; Deno.test({ name: "Should output the version correctly", async fn(): Promise { - const p = await Deno.run({ - cmd: ["deno", "run", "--allow-net", "../../../mod.ts", "--version"], + const command = new Deno.Command(Deno.execPath(), { + args: [ + "run", + "--allow-net", + "../../../mod.ts", + "--version", + ], cwd: upToDateDepsDir, stdout: "piped", stderr: "piped", }); - const status = await p.status(); - const output = await p.output(); - await p.close(); - const stdout = new TextDecoder("utf-8").decode(output).replace( + const { code, stdout, stderr } = await command.output(); + const out = new TextDecoder("utf-8").decode(stdout).replace( /(\r\n|\n|\r)/gm, "", - ); // regex to strip line break - const error = await p.stderrOutput(); - const stderr = new TextDecoder("utf-8").decode(error); - assertEquals(stdout, `Deno Module Manager v${version}`); - assertEquals(stderr, ""); - assertEquals(status.code, 0); - assertEquals(status.success, true); + ); + const err = new TextDecoder("utf-8").decode(stderr); + assertEquals(out, `Deno Module Manager v${version}`); + assertEquals(err, ""); + assertEquals(code, 0); }, });