Skip to content

Commit

Permalink
test(examples): make tests runnable from any directory (denoland/deno…
Browse files Browse the repository at this point in the history
  • Loading branch information
caspervonb committed Jan 31, 2021
1 parent c8bc489 commit c1466d7
Show file tree
Hide file tree
Showing 9 changed files with 39 additions and 10 deletions.
5 changes: 4 additions & 1 deletion examples/chat/server_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ import { TextProtoReader } from "../../textproto/mod.ts";
import { BufReader } from "../../io/bufio.ts";
import { connectWebSocket, WebSocket } from "../../ws/mod.ts";
import { delay } from "../../async/delay.ts";
import { resolve, dirname, fromFileUrl } from "../../path/mod.ts";

const moduleDir = resolve(dirname(fromFileUrl(import.meta.url)));

async function startServer(): Promise<
Deno.Process<Deno.RunOptions & { stdout: "piped" }>
Expand All @@ -16,7 +19,7 @@ async function startServer(): Promise<
"--allow-read",
"server.ts",
],
cwd: "examples/chat",
cwd: moduleDir,
stdout: "piped",
});
try {
Expand Down
7 changes: 5 additions & 2 deletions examples/test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { assertEquals } from "../testing/asserts.ts";
import { dirname, relative, resolve, fromFileUrl } from "../path/mod.ts";

const moduleDir = dirname(fromFileUrl(import.meta.url));

/** Example of how to do basic tests */
Deno.test("t1", function (): void {
Expand All @@ -17,8 +20,8 @@ Deno.test("catSmoke", async function (): Promise<void> {
Deno.execPath(),
"run",
"--allow-read",
"examples/cat.ts",
"README.md",
relative(Deno.cwd(), resolve(moduleDir, "cat.ts")),
relative(Deno.cwd(), resolve(moduleDir, "..", "README.md")),
],
stdout: "null",
stderr: "null",
Expand Down
5 changes: 4 additions & 1 deletion examples/tests/cat_test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { assertStrictEquals } from "../../testing/asserts.ts";
import { resolve, dirname, fromFileUrl } from "../../path/mod.ts";

const moduleDir = resolve(dirname(fromFileUrl(import.meta.url)), "..");

Deno.test("[examples/cat] print multiple files", async () => {
const decoder = new TextDecoder();
Expand All @@ -12,7 +15,7 @@ Deno.test("[examples/cat] print multiple files", async () => {
"testdata/cat/hello.txt",
"testdata/cat/world.txt",
],
cwd: "examples",
cwd: moduleDir,
stdout: "piped",
});

Expand Down
5 changes: 4 additions & 1 deletion examples/tests/catj_test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { assertStrictEquals } from "../../testing/asserts.ts";
import { resolve, dirname, fromFileUrl } from "../../path/mod.ts";

const moduleDir = resolve(dirname(fromFileUrl(import.meta.url)), "..");

Deno.test("[examples/catj] print an array", async () => {
const decoder = new TextDecoder();
Expand Down Expand Up @@ -80,7 +83,7 @@ function catj(
): Deno.Process<Deno.RunOptions & { stdin: "piped"; stdout: "piped" }> {
return Deno.run({
cmd: [Deno.execPath(), "run", "--allow-read", "catj.ts", ...files],
cwd: "examples",
cwd: moduleDir,
stdin: "piped",
stdout: "piped",
env: { NO_COLOR: "true" },
Expand Down
5 changes: 4 additions & 1 deletion examples/tests/colors_test.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { assertStrictEquals } from "../../testing/asserts.ts";
import { resolve, dirname, fromFileUrl } from "../../path/mod.ts";

const moduleDir = resolve(dirname(fromFileUrl(import.meta.url)), "..");

Deno.test("[examples/colors] print a colored text", async () => {
const decoder = new TextDecoder();
const process = Deno.run({
cmd: [Deno.execPath(), "run", "colors.ts"],
cwd: "examples",
cwd: moduleDir,
stdout: "piped",
});
try {
Expand Down
5 changes: 4 additions & 1 deletion examples/tests/curl_test.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { serve } from "../../http/server.ts";
import { assertStrictEquals } from "../../testing/asserts.ts";
import { resolve, dirname, fromFileUrl } from "../../path/mod.ts";

const moduleDir = resolve(dirname(fromFileUrl(import.meta.url)), "..");

Deno.test({
name: "[examples/curl] send a request to a specified url",
Expand All @@ -21,7 +24,7 @@ Deno.test({
"curl.ts",
"http://localhost:8081",
],
cwd: "examples",
cwd: moduleDir,
stdout: "piped",
});

Expand Down
5 changes: 4 additions & 1 deletion examples/tests/echo_server_test.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { assertStrictEquals, assertNotEquals } from "../../testing/asserts.ts";
import { BufReader, ReadLineResult } from "../../io/bufio.ts";
import { resolve, dirname, fromFileUrl } from "../../path/mod.ts";

const moduleDir = resolve(dirname(fromFileUrl(import.meta.url)), "..");

Deno.test("[examples/echo_server]", async () => {
const encoder = new TextEncoder();
const decoder = new TextDecoder();
const process = Deno.run({
cmd: [Deno.execPath(), "run", "--allow-net", "echo_server.ts"],
cwd: "examples",
cwd: moduleDir,
stdout: "piped",
});

Expand Down
5 changes: 4 additions & 1 deletion examples/tests/welcome_test.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
import { assertStrictEquals } from "../../testing/asserts.ts";
import { resolve, dirname, fromFileUrl } from "../../path/mod.ts";

const moduleDir = resolve(dirname(fromFileUrl(import.meta.url)), "..");

Deno.test("[examples/welcome] print a welcome message", async () => {
const decoder = new TextDecoder();
const process = Deno.run({
cmd: [Deno.execPath(), "run", "welcome.ts"],
cwd: "examples",
cwd: moduleDir,
stdout: "piped",
});
try {
Expand Down
7 changes: 6 additions & 1 deletion examples/tests/xeval_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ import {
assertStringContains,
assert,
} from "../../testing/asserts.ts";
import { resolve, dirname, fromFileUrl } from "../../path/mod.ts";

const moduleDir = resolve(dirname(fromFileUrl(import.meta.url)), "..");

Deno.test("xevalSuccess", async function (): Promise<void> {
const chunks: string[] = [];
Expand All @@ -26,7 +29,7 @@ Deno.test("xevalDelimiter", async function (): Promise<void> {
assertEquals(chunks, ["!MAD", "ADAM!"]);
});

const xevalPath = "examples/xeval.ts";
const xevalPath = "xeval.ts";

Deno.test({
name: "xevalCliReplvar",
Expand All @@ -39,6 +42,7 @@ Deno.test({
"--replvar=abc",
"console.log(abc)",
],
cwd: moduleDir,
stdin: "piped",
stdout: "piped",
stderr: "null",
Expand All @@ -55,6 +59,7 @@ Deno.test({
Deno.test("xevalCliSyntaxError", async function (): Promise<void> {
const p = Deno.run({
cmd: [Deno.execPath(), "run", xevalPath, "("],
cwd: moduleDir,
stdin: "null",
stdout: "piped",
stderr: "piped",
Expand Down

0 comments on commit c1466d7

Please sign in to comment.