Skip to content

Commit 8d0c4d7

Browse files
authored
Merge pull request #3083 from modernweb-dev/migrate/dev-server-legacy-node-test
refactor(dev-server-legacy): migrate tests to node:test
2 parents dcccf6d + 8ca78c4 commit 8d0c4d7

3 files changed

Lines changed: 25 additions & 25 deletions

File tree

packages/dev-server-legacy/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@
2727
"scripts": {
2828
"build": "tsc",
2929
"start": "wds --open --config demo/server.config.mjs",
30-
"test:node": "mocha \"test/**/*.test.ts\" --require ts-node/register --reporter dot",
31-
"test:watch": "mocha \"test/**/*.test.ts\" --require ts-node/register --watch --watch-files src,test"
30+
"test:node": "node --experimental-strip-types --test --test-force-exit \"test/**/*.test.ts\"",
31+
"test:watch": "node --experimental-strip-types --test --test-force-exit --watch \"test/**/*.test.ts\""
3232
},
3333
"files": [
3434
"*.d.ts",

packages/dev-server-legacy/test/transform-html.test.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
import { expect } from 'chai';
1+
import { describe, it } from 'node:test';
2+
import assert from 'node:assert/strict';
23
import { createTestServer } from '@web/dev-server-core/test-helpers';
34
import { fetchText, expectIncludes } from '@web/dev-server-core/test-helpers';
45

5-
import { legacyPlugin } from '../src/legacyPlugin.js';
6-
import { modernUserAgents, legacyUserAgents } from './userAgents.js';
6+
// rewrite to ../src/legacyPlugin.ts when TS 5.7+ / rewriteRelativeImportExtensions
7+
import { legacyPlugin } from '../dist/legacyPlugin.js';
8+
import { modernUserAgents, legacyUserAgents } from './userAgents.ts';
79

810
const htmlBody = `
911
<html>
@@ -25,12 +27,10 @@ const inlineScriptHtmlBody = `
2527
</body>
2628
</html>`;
2729

28-
describe('legacyPlugin - transform html', function () {
29-
this.timeout(10000);
30-
30+
describe('legacyPlugin - transform html', { timeout: 10000 }, () => {
3131
it(`does not do any work on a modern browser`, async () => {
3232
const { server, host } = await createTestServer({
33-
rootDir: __dirname,
33+
rootDir: import.meta.dirname,
3434
plugins: [
3535
{
3636
name: 'test',
@@ -48,13 +48,13 @@ describe('legacyPlugin - transform html', function () {
4848
headers: { 'user-agent': modernUserAgents['Chrome 78'] },
4949
});
5050

51-
expect(text.trim()).to.equal(htmlBody.trim());
51+
assert.equal(text.trim(), htmlBody.trim());
5252
server.stop();
5353
});
5454

5555
it(`injects polyfills into the HTML page on legacy browsers`, async () => {
5656
const { server, host } = await createTestServer({
57-
rootDir: __dirname,
57+
rootDir: import.meta.dirname,
5858
plugins: [
5959
{
6060
name: 'test',
@@ -80,7 +80,7 @@ describe('legacyPlugin - transform html', function () {
8080

8181
it(`injects systemjs param to inline modules`, async () => {
8282
const { server, host } = await createTestServer({
83-
rootDir: __dirname,
83+
rootDir: import.meta.dirname,
8484
plugins: [
8585
{
8686
name: 'test',
@@ -104,7 +104,7 @@ describe('legacyPlugin - transform html', function () {
104104

105105
it(`handles inline scripts`, async () => {
106106
const { server, host } = await createTestServer({
107-
rootDir: __dirname,
107+
rootDir: import.meta.dirname,
108108
plugins: [
109109
{
110110
name: 'test',
@@ -131,7 +131,7 @@ describe('legacyPlugin - transform html', function () {
131131

132132
it(`can request inline scripts`, async () => {
133133
const { server, host } = await createTestServer({
134-
rootDir: __dirname,
134+
rootDir: import.meta.dirname,
135135
plugins: [
136136
{
137137
name: 'test',
@@ -158,7 +158,7 @@ describe('legacyPlugin - transform html', function () {
158158

159159
it(`includes url parameters in inline script key`, async () => {
160160
const { server, host } = await createTestServer({
161-
rootDir: __dirname,
161+
rootDir: import.meta.dirname,
162162
plugins: [
163163
{
164164
name: 'test',

packages/dev-server-legacy/test/transform-js.test.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
import { expect } from 'chai';
1+
import { describe, it } from 'node:test';
2+
import assert from 'node:assert/strict';
23
import { createTestServer } from '@web/dev-server-core/test-helpers';
34
import { fetchText, expectIncludes, expectNotIncludes } from '@web/dev-server-core/test-helpers';
45

5-
import { legacyPlugin } from '../src/legacyPlugin.js';
6-
import { modernUserAgents, legacyUserAgents } from './userAgents.js';
6+
// rewrite to ../src/legacyPlugin.ts when TS 5.7+ / rewriteRelativeImportExtensions
7+
import { legacyPlugin } from '../dist/legacyPlugin.js';
8+
import { modernUserAgents, legacyUserAgents } from './userAgents.ts';
79

810
const modernCode = `
911
class Foo {
@@ -16,13 +18,11 @@ async function doImport() {
1618
1719
console.log(window?.foo?.bar);`;
1820

19-
describe('legacyPlugin - transform js', function () {
20-
this.timeout(10000);
21-
21+
describe('legacyPlugin - transform js', { timeout: 10000 }, () => {
2222
for (const [name, userAgent] of Object.entries(modernUserAgents)) {
2323
it(`does not do any work on ${name}`, async () => {
2424
const { server, host } = await createTestServer({
25-
rootDir: __dirname,
25+
rootDir: import.meta.dirname,
2626
plugins: [
2727
{
2828
name: 'test',
@@ -39,15 +39,15 @@ describe('legacyPlugin - transform js', function () {
3939
const text = await fetchText(`${host}/app.js`, {
4040
headers: { 'user-agent': userAgent },
4141
});
42-
expect(text.trim()).to.equal(modernCode.trim());
42+
assert.equal(text.trim(), modernCode.trim());
4343
server.stop();
4444
});
4545
}
4646

4747
for (const [name, userAgent] of Object.entries(legacyUserAgents)) {
4848
it(`transforms to es5 on ${name}`, async () => {
4949
const { server, host } = await createTestServer({
50-
rootDir: __dirname,
50+
rootDir: import.meta.dirname,
5151
plugins: [
5252
{
5353
name: 'test',
@@ -78,7 +78,7 @@ describe('legacyPlugin - transform js', function () {
7878

7979
it(`transforms to SystemJS when systemjs paramater is given ${name}`, async () => {
8080
const { server, host } = await createTestServer({
81-
rootDir: __dirname,
81+
rootDir: import.meta.dirname,
8282
plugins: [
8383
{
8484
name: 'test',

0 commit comments

Comments
 (0)