Skip to content

Commit 91448b9

Browse files
committed
Add running tests for Deno
1 parent 0684c33 commit 91448b9

File tree

7 files changed

+39
-2
lines changed

7 files changed

+39
-2
lines changed

.github/workflows/ci.yml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
matrix:
9696
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
9797
node_version:
98-
- 14.17.0
98+
- 14.17
9999
- 16
100100
- 18.0
101101
- 18
@@ -138,3 +138,25 @@ jobs:
138138
- run: npm ci
139139
- run: npm run transpile
140140
- run: bun test
141+
142+
test-deno:
143+
name: Deno test
144+
runs-on: ubuntu-latest
145+
strategy:
146+
matrix:
147+
deno_version:
148+
- 1.44
149+
150+
steps:
151+
- uses: actions/checkout@v4
152+
- name: Setup node ${{ env.PRIMARY_NODEJS_VERSION }}
153+
uses: actions/setup-node@v4
154+
with:
155+
node-version: ${{ env.PRIMARY_NODEJS_VERSION }}
156+
cache: "npm"
157+
- name: Setup Deno ${{ matrix.deno_version }}
158+
uses: denoland/setup-deno@v1
159+
with:
160+
deno-version: ${{ matrix.deno_version }}
161+
- run: npm ci
162+
- run: deno task test:deno

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
/.nyc_output/
55
/.vscode/
66
/cjs/
7-
/cjs-test/
7+
/deno-tests/

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
"test:cjs": "mocha --reporter progress cjs/*.test.cjs",
4545
"test:e2e": "mocha --reporter progress test-e2e",
4646
"test:dist": "mocha --reporter progress dist/test",
47+
"test:deno": "node scripts/deno-adapt-test.js && mocha --reporter progress deno-tests/*.test.js",
4748
"bundle-and-test": "npm run bundle && npm run test:dist",
4849
"coverage": "c8 --reporter=lcovonly npm test",
4950
"prepublishOnly": "npm run lint && npm run bundle && npm run transpile && npm run test:all"

scripts/deno-adapt-test.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import fs from 'node:fs';
2+
3+
fs.rmSync('deno-tests', { recursive: true, force: true });
4+
fs.mkdirSync('deno-tests');
5+
6+
for (const filename of fs.readdirSync('src')) {
7+
const source = fs.readFileSync(`src/${filename}`, 'utf8')
8+
.replace(/from '(assert|buffer|fs|stream|timers|util)'/g, 'from \'node:$1\'');
9+
10+
fs.writeFileSync(`deno-tests/${filename}`, source);
11+
}

src/parse-chunked.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import assert from 'assert';
2+
import { Buffer } from 'buffer'; // needed for Deno
23
import { Readable } from 'stream';
34
import { inspect } from 'util';
45
import { parseChunked } from './parse-chunked.js';

src/stringify-chunked.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import assert from 'assert';
22
import { inspect } from 'util';
3+
import { setImmediate } from 'timers'; // needed for Deno
34
import { stringifyChunked } from './stringify-chunked.js';
45
import { date, allUtf8LengthDiffChars, tests, spaceTests, spaces, replacerTests } from './stringify-cases.js';
56

src/stringify-info.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import assert from 'assert';
2+
import { Buffer } from 'buffer'; // needed for Deno
23
import { inspect } from 'util';
34
import { stringifyInfo } from './stringify-info.js';
45
import {

0 commit comments

Comments
 (0)