mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 07:44:48 -05:00
45c49034a7
- "SpawnOutput" extends "ChildStatus" instead of composing it - "SpawnOutput::stdout", "SpawnOutput::stderr", "Child::stdin", "Child::stdout" and "Child::stderr" are no longer optional, instead made them getters that throw at runtime if that stream wasn't set to "piped". - Remove the complicated "<T extends SpawnOptions = SpawnOptions>" which we currently need to give proper type hints for the availability of these fields. Their typings for these would get increasingly complex if it became dependent on more options (e.g. "SpawnOptions::pty" which if set should make the stdio streams unavailable)
43 lines
1.3 KiB
TypeScript
43 lines
1.3 KiB
TypeScript
// Copyright 2018-2022 the Deno authors. All rights reserved. MIT license.
|
|
|
|
import * as colors from "../../../test_util/std/fmt/colors.ts";
|
|
export { colors };
|
|
import { resolve } from "../../../test_util/std/path/mod.ts";
|
|
export {
|
|
assert,
|
|
assertEquals,
|
|
assertMatch,
|
|
assertNotEquals,
|
|
assertRejects,
|
|
assertStrictEquals,
|
|
assertStringIncludes,
|
|
assertThrows,
|
|
fail,
|
|
unimplemented,
|
|
unreachable,
|
|
} from "../../../test_util/std/testing/asserts.ts";
|
|
export { deferred } from "../../../test_util/std/async/deferred.ts";
|
|
export type { Deferred } from "../../../test_util/std/async/deferred.ts";
|
|
export { delay } from "../../../test_util/std/async/delay.ts";
|
|
export { readLines } from "../../../test_util/std/io/bufio.ts";
|
|
export { parse as parseArgs } from "../../../test_util/std/flags/mod.ts";
|
|
|
|
export function pathToAbsoluteFileUrl(path: string): URL {
|
|
path = resolve(path);
|
|
|
|
return new URL(`file://${Deno.build.os === "windows" ? "/" : ""}${path}`);
|
|
}
|
|
|
|
const decoder = new TextDecoder();
|
|
|
|
export async function execCode(code: string): Promise<[number, string]> {
|
|
const output = await Deno.spawn(Deno.execPath(), {
|
|
args: [
|
|
"eval",
|
|
"--unstable",
|
|
"--no-check",
|
|
code,
|
|
],
|
|
});
|
|
return [output.code, decoder.decode(output.stdout)];
|
|
}
|