mirror of
https://github.com/denoland/deno.git
synced 2025-03-03 09:31:22 -05:00
fix(std/testing/asserts): Support browsers (#5847)
This commit is contained in:
parent
08f74e1f6a
commit
4ebd243423
5 changed files with 27 additions and 8 deletions
|
@ -314,3 +314,16 @@ export function foo(): string {
|
|||
`https://deno.land/std/` is intended to be baseline functionality that all Deno
|
||||
programs can rely on. We want to guarantee to users that this code does not
|
||||
include potentially unreviewed third party code.
|
||||
|
||||
#### Document and maintain browser compatiblity.
|
||||
|
||||
If a module is browser compatible, include the following in the JSDoc at the top
|
||||
of the module:
|
||||
|
||||
```ts
|
||||
/** This module is browser compatible. */
|
||||
```
|
||||
|
||||
Maintain browser compatibility for such a module by either not using the global
|
||||
`Deno` namespace or feature-testing for it. Make sure any new dependencies are
|
||||
also browser compatible.
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
||||
/**
|
||||
* A module to print ANSI terminal colors. Inspired by chalk, kleur, and colors
|
||||
/** A module to print ANSI terminal colors. Inspired by chalk, kleur, and colors
|
||||
* on npm.
|
||||
*
|
||||
* ```
|
||||
|
@ -10,8 +9,10 @@
|
|||
*
|
||||
* This module supports `NO_COLOR` environmental variable disabling any coloring
|
||||
* if `NO_COLOR` is set.
|
||||
*/
|
||||
const { noColor } = Deno;
|
||||
*
|
||||
* This module is browser compatible. */
|
||||
|
||||
const noColor = globalThis.Deno?.noColor ?? true;
|
||||
|
||||
interface Code {
|
||||
open: string;
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
||||
/** This module is browser compatible. Do not rely on good formatting of values
|
||||
* for AssertionError messages in browsers. */
|
||||
|
||||
import { red, green, white, gray, bold } from "../fmt/colors.ts";
|
||||
import diff, { DiffType, DiffResult } from "./diff.ts";
|
||||
|
||||
|
@ -17,7 +20,7 @@ export class AssertionError extends Error {
|
|||
}
|
||||
|
||||
function format(v: unknown): string {
|
||||
let string = Deno.inspect(v);
|
||||
let string = globalThis.Deno ? Deno.inspect(v) : String(v);
|
||||
if (typeof v == "string") {
|
||||
string = `"${string.replace(/(?=["\\])/g, "\\")}"`;
|
||||
}
|
||||
|
@ -254,7 +257,7 @@ export function assertStrContains(
|
|||
): void {
|
||||
if (!actual.includes(expected)) {
|
||||
if (!msg) {
|
||||
msg = `actual: "${actual}" expected to contains: "${expected}"`;
|
||||
msg = `actual: "${actual}" expected to contain: "${expected}"`;
|
||||
}
|
||||
throw new AssertionError(msg);
|
||||
}
|
||||
|
@ -286,7 +289,7 @@ export function assertArrayContains(
|
|||
return;
|
||||
}
|
||||
if (!msg) {
|
||||
msg = `actual: "${actual}" expected to contains: "${expected}"`;
|
||||
msg = `actual: "${actual}" expected to contain: "${expected}"`;
|
||||
msg += "\n";
|
||||
msg += `missing: ${missing}`;
|
||||
}
|
||||
|
|
|
@ -169,7 +169,7 @@ test("testingAssertStringContainsThrow", function (): void {
|
|||
} catch (e) {
|
||||
assert(
|
||||
e.message ===
|
||||
`actual: "Denosaurus from Jurassic" expected to contains: "Raptor"`
|
||||
`actual: "Denosaurus from Jurassic" expected to contain: "Raptor"`
|
||||
);
|
||||
assert(e instanceof AssertionError);
|
||||
didThrow = true;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license.
|
||||
/** This module is browser compatible. */
|
||||
|
||||
interface FarthestPoint {
|
||||
y: number;
|
||||
id: number;
|
||||
|
|
Loading…
Add table
Reference in a new issue