Skip to content

Commit cafd819

Browse files
committed
replace mocha with native node test runner
1 parent 821474c commit cafd819

File tree

2 files changed

+49
-51
lines changed

2 files changed

+49
-51
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"main": "src/index.js",
66
"scripts": {
77
"lint": "eslint src test",
8-
"test": "mocha",
8+
"test": "node --test",
9+
"coverage": "node --test --experimental-test-coverage",
910
"preversion": "npm run lint && npm test",
1011
"postversion": "git push && git push --tags",
1112
"prepublishOnly": "npm run lint && npm run test"
@@ -31,7 +32,6 @@
3132
"eslint-plugin-node": "^11.0.0",
3233
"eslint-plugin-promise": "^6.0.0",
3334
"express": "^4.18.2",
34-
"mocha": "^10.0.0",
3535
"supertest": "^6.3.3"
3636
}
3737
}

test/index.js

Lines changed: 47 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1+
const { describe, it } = require('node:test');
12
const assert = require('assert');
2-
const createLocaleMiddleware = require('../src');
33
const request = require('supertest');
44
const express = require('express');
55
const cookieParser = require('cookie-parser');
6+
const createLocaleMiddleware = require('../src');
67

78
const createServer = (middlewareOptions) => {
89
return express()
@@ -80,24 +81,24 @@ describe('()', () => {
8081
});
8182

8283
describe('with Express', () => {
83-
it('should hook into Express', done => {
84-
request(createServer())
84+
it('should hook into Express', async () => {
85+
await request(createServer())
8586
.get('/')
86-
.expect(200, done);
87+
.expect(200);
8788
});
8889

89-
it('should return default', done => {
90-
request(createServer())
90+
it('should return default', async () => {
91+
await request(createServer())
9192
.get('/')
9293
.expect({
9394
source: 'default',
9495
language: 'en',
9596
region: 'GB'
96-
}, done);
97+
});
9798
});
9899

99-
it('should parse accept-language header', done => {
100-
request(createServer({
100+
it('should parse accept-language header', async () => {
101+
await request(createServer({
101102
priority: 'accept-language'
102103
}))
103104
.get('/')
@@ -106,13 +107,12 @@ describe('with Express', () => {
106107
source: 'accept-language',
107108
language: 'de',
108109
region: 'CH'
109-
})
110-
.end(done);
110+
});
111111
});
112112

113113
describe('should handle lookup letter case', () => {
114-
it('forcing lower case for default lookups', done => {
115-
request(createServer({
114+
it('forcing lower case for default lookups', async () => {
115+
await request(createServer({
116116
priority: 'Accept-Language'
117117
}))
118118
.get('/')
@@ -121,12 +121,11 @@ describe('with Express', () => {
121121
source: 'accept-language',
122122
language: 'es',
123123
region: 'MX'
124-
})
125-
.end(done);
124+
});
126125
});
127126

128-
it('ignoring for custom lookups', done => {
129-
request(createServer({
127+
it('ignoring for custom lookups', async () => {
128+
await request(createServer({
130129
priority: 'customLookup',
131130
lookups: {
132131
customLookup: () => 'fr_FR'
@@ -137,13 +136,12 @@ describe('with Express', () => {
137136
source: 'customLookup',
138137
language: 'fr',
139138
region: 'FR'
140-
})
141-
.end(done);
139+
});
142140
});
143141
});
144142

145-
it('should read cookie', done => {
146-
request(createServer({
143+
it('should read cookie', async () => {
144+
await request(createServer({
147145
cookie: { name: 'lang' },
148146
priority: 'cookie'
149147
}))
@@ -153,11 +151,11 @@ describe('with Express', () => {
153151
source: 'cookie',
154152
language: 'nl',
155153
region: 'BE'
156-
}, done);
154+
});
157155
});
158156

159-
it('should read cookie with locale in underscore format', done => {
160-
request(createServer({
157+
it('should read cookie with locale in underscore format', async () => {
158+
await request(createServer({
161159
cookie: { name: 'lang' },
162160
priority: 'cookie'
163161
}))
@@ -167,11 +165,11 @@ describe('with Express', () => {
167165
source: 'cookie',
168166
language: 'nl',
169167
region: 'BE'
170-
}, done);
168+
});
171169
});
172170

173-
it('should parse query string', done => {
174-
request(createServer({
171+
it('should parse query string', async () => {
172+
await request(createServer({
175173
query: { name: 'l' },
176174
priority: 'query'
177175
}))
@@ -180,11 +178,11 @@ describe('with Express', () => {
180178
source: 'query',
181179
language: 'fr',
182180
region: 'CA'
183-
}, done);
181+
});
184182
});
185183

186-
it('should map hostname', done => {
187-
request(createServer({
184+
it('should map hostname', async () => {
185+
await request(createServer({
188186
hostname: { '127.0.0.1': 'nl-BE' },
189187
priority: 'hostname'
190188
}))
@@ -193,11 +191,11 @@ describe('with Express', () => {
193191
source: 'hostname',
194192
language: 'nl',
195193
region: 'BE'
196-
}, done);
194+
});
197195
});
198196

199-
it('should validate against a whitelist', done => {
200-
request(createServer({
197+
it('should validate against a whitelist', async () => {
198+
await request(createServer({
201199
default: 'de-DE',
202200
allowed: ['de-DE', 'de-AT', 'de-CH']
203201
}))
@@ -207,11 +205,11 @@ describe('with Express', () => {
207205
source: 'default',
208206
language: 'de',
209207
region: 'DE'
210-
}, done);
208+
});
211209
});
212210

213-
it('should map a language to a default', done => {
214-
request(createServer({
211+
it('should map a language to a default', async () => {
212+
await request(createServer({
215213
priority: 'cookie,map',
216214
map: { de: 'de-DE' }
217215
}))
@@ -221,21 +219,21 @@ describe('with Express', () => {
221219
source: ['cookie', 'map'],
222220
language: 'de',
223221
region: 'DE'
224-
}, done);
222+
});
225223
});
226224

227-
it('should ignore values not whitelisted', done => {
228-
request(createServer({
225+
it('should ignore values not whitelisted', async () => {
226+
await request(createServer({
229227
priority: ['query', 'map'],
230228
allowed: ['en-CA', 'fr-CA'],
231229
map: { en: 'en-CA', fr: 'fr-CA' }
232230
}))
233231
.get('/?locale=fr')
234-
.expect('', done);
232+
.expect('');
235233
});
236234

237-
it('should skip mapping if the same language returns in the next locale', done => {
238-
request(createServer({
235+
it('should skip mapping if the same language returns in the next locale', async () => {
236+
await request(createServer({
239237
map: { de: 'de-DE' }
240238
}))
241239
.get('/')
@@ -244,11 +242,11 @@ describe('with Express', () => {
244242
source: 'accept-language',
245243
language: 'de',
246244
region: 'CH'
247-
}, done);
245+
});
248246
});
249247

250-
it('should handle multiple lookups', done => {
251-
request(createServer({
248+
it('should handle multiple lookups', async () => {
249+
await request(createServer({
252250
priority: ['cookie', 'query', 'accept-language', 'map', 'default'],
253251
map: { cs: 'cs-CZ' }
254252
}))
@@ -258,11 +256,11 @@ describe('with Express', () => {
258256
source: ['accept-language', 'map'],
259257
language: 'cs',
260258
region: 'CZ'
261-
}, done);
259+
});
262260
});
263261

264-
it('should work', done => {
265-
request(createServer({
262+
it('should work', async () => {
263+
await request(createServer({
266264
priority: ['cookie', 'query', 'accept-language', 'map', 'default'],
267265
map: { en: 'en-GB' }
268266
}))
@@ -272,6 +270,6 @@ describe('with Express', () => {
272270
source: ['query', 'accept-language'],
273271
language: 'en',
274272
region: 'US'
275-
}, done);
273+
});
276274
});
277275
});

0 commit comments

Comments
 (0)