1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-22 15:06:54 -05:00

test(std/examples): make tests runnable from any directory (#7399)

This commit is contained in:
Casper Beyer 2020-09-10 02:57:49 +08:00 committed by GitHub
parent 25053f92ff
commit 5b89e82164
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 39 additions and 10 deletions

View file

@ -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" }>
@ -16,7 +19,7 @@ async function startServer(): Promise<
"--allow-read",
"server.ts",
],
cwd: "examples/chat",
cwd: moduleDir,
stdout: "piped",
});
try {

View file

@ -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 {
@ -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",

View file

@ -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();
@ -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",
});

View file

@ -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();
@ -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" },

View file

@ -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 {

View file

@ -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",
@ -21,7 +24,7 @@ Deno.test({
"curl.ts",
"http://localhost:8081",
],
cwd: "examples",
cwd: moduleDir,
stdout: "piped",
});

View file

@ -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",
});

View file

@ -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 {

View file

@ -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[] = [];
@ -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",
@ -39,6 +42,7 @@ Deno.test({
"--replvar=abc",
"console.log(abc)",
],
cwd: moduleDir,
stdin: "piped",
stdout: "piped",
stderr: "null",
@ -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",