Skip to content

Commit bef8ba3

Browse files
committed
move assert extensions into runner and add types
1 parent 8e4cbb4 commit bef8ba3

File tree

6 files changed

+29
-40
lines changed

6 files changed

+29
-40
lines changed

test/canvas.test.js

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,9 @@
55
const fs = require('fs'),
66
tmp = require('tmp'),
77
path = require('path'),
8-
assert = require('node:assert'),
9-
{describe, test, beforeEach, afterEach} = require('node:test'),
8+
{assert, describe, test, beforeEach, afterEach} = require('./runner'),
109
{Canvas, Image} = require('../lib');
1110

12-
assert.contains = (actual, expected) => assert((actual || []).includes(expected))
13-
assert.doesNotContain = (actual, expected) => assert(!((actual || [expected]).includes(expected)))
14-
assert.matchesSubset = (actual, expected) => Object.entries(expected).forEach(([key, val]) => assert.deepEqual(actual[key], val))
15-
assert.nearEqual = (actual, expected) => assert.ok(
16-
Math.abs(expected - actual) < Math.pow(10, -2) / 2,
17-
new assert.AssertionError({actual, expected, operator:"≈"})
18-
)
19-
2011
const BLACK = [0,0,0,255],
2112
WHITE = [255,255,255,255],
2213
CLEAR = [0,0,0,0],

test/context2d.test.js

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,10 @@
22

33
"use strict"
44

5-
const assert = require('node:assert'),
6-
{describe, test, beforeEach, afterEach} = require('node:test'),
5+
const {assert, describe, test, beforeEach, afterEach} = require('./runner'),
76
{Canvas, DOMMatrix, DOMPoint, ImageData, Path2D, FontLibrary, loadImage} = require('../lib'),
87
css = require('../lib/classes/css')
98

10-
assert.contains = (actual, expected) => assert((actual || []).includes(expected))
11-
assert.doesNotContain = (actual, expected) => assert(!((actual || [expected]).includes(expected)))
12-
assert.matchesSubset = (actual, expected) => Object.entries(expected).forEach(([key, val]) => assert.deepEqual(actual[key], val))
13-
assert.nearEqual = (actual, expected) => assert.ok(
14-
Math.abs(expected - actual) < Math.pow(10, -2) / 2,
15-
new assert.AssertionError({actual, expected, operator:"≈"})
16-
)
17-
189
const BLACK = [0,0,0,255],
1910
WHITE = [255,255,255,255],
2011
GREEN = [0,128,0,255],

test/media.test.js

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,11 @@
55
const path = require('path'),
66
os = require('os'),
77
fs = require('fs'),
8-
assert = require('node:assert'),
98
nock = require('nock'),
10-
{describe, test, beforeEach, afterEach} = require('node:test'),
9+
{assert, describe, test, beforeEach, afterEach} = require('./runner'),
1110
{pathToFileURL, fileURLToPath} = require('url'),
1211
{Canvas, Image, ImageData, FontLibrary, loadImage, loadImageData} = require('../lib')
1312

14-
assert.contains = (actual, expected) => assert((actual || []).includes(expected))
15-
assert.doesNotContain = (actual, expected) => assert(!((actual || [expected]).includes(expected)))
16-
assert.matchesSubset = (actual, expected) => Object.entries(expected).forEach(([key, val]) => assert.equal(actual[key], val))
17-
assert.nearEqual = (actual, expected) => assert.ok(
18-
Math.abs(expected - actual) < Math.pow(10, -2) / 2,
19-
new assert.AssertionError({actual, expected, operator:"≈"})
20-
)
21-
2213
const scope = nock('http://_h_o_s_t_')
2314
.persist()
2415
.get(/.*/)

test/path2d.test.js

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,9 @@
22

33
"use strict"
44

5-
const assert = require('node:assert'),
6-
{describe, test, beforeEach, afterEach} = require('node:test'),
5+
const {assert, describe, test, beforeEach, afterEach} = require('./runner'),
76
{Canvas, DOMMatrix, Path2D, DOMPoint} = require('../lib');
87

9-
assert.contains = (actual, expected) => assert((actual || []).includes(expected))
10-
assert.doesNotContain = (actual, expected) => assert(!((actual || [expected]).includes(expected)))
11-
assert.matchesSubset = (actual, expected) => Object.entries(expected).forEach(([key, val]) => assert.deepEqual(actual[key], val))
12-
assert.nearEqual = (actual, expected) => assert.ok(
13-
Math.abs(expected - actual) < Math.pow(10, -2) / 2,
14-
new assert.AssertionError({actual, expected, operator:"≈"})
15-
)
16-
178
const BLACK = [0,0,0,255],
189
WHITE = [255,255,255,255],
1910
CLEAR = [0,0,0,0],

test/runner/index.d.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import * as originalAssert from 'assert';
2+
export {describe, test, beforeEach, afterEach} from 'node:test';
3+
4+
type ExtendedAssert = typeof originalAssert & {
5+
contains(actual: unknown, expected: unknown): void;
6+
doesNotContain(actual: unknown, expected: unknown): void;
7+
matchesSubset(actual: unknown, expected: unknown): void;
8+
nearEqual(actual: number, expected: number): void;
9+
}
10+
11+
export declare const assert: ExtendedAssert;

test/runner/index.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const {describe, test, beforeEach, afterEach} = require('node:test'),
2+
assert = require('node:assert')
3+
4+
Object.assign(assert, {
5+
contains: (actual, expected) => assert((actual || []).includes(expected)),
6+
doesNotContain: (actual, expected) => assert(!((actual || [expected]).includes(expected))),
7+
matchesSubset: (actual, expected) => Object.entries(expected).forEach(([key, val]) => assert.deepEqual(actual[key], val)),
8+
nearEqual: (actual, expected) => assert.ok(
9+
Math.abs(expected - actual) < Math.pow(10, -2) / 2,
10+
new assert.AssertionError({actual, expected, operator:"≈"})
11+
)
12+
})
13+
14+
module.exports = {assert, describe, test, beforeEach, afterEach}

0 commit comments

Comments
 (0)