Skip to content

Commit 4059501

Browse files
test: convert tests to TypeScript
1 parent 72fe98e commit 4059501

File tree

3 files changed

+150
-38
lines changed

3 files changed

+150
-38
lines changed

package-lock.json

Lines changed: 128 additions & 22 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
"main": "./dist/index.js",
1414
"types": "./dist/index.d.ts",
1515
"scripts": {
16-
"test": "npm run format:check && tsc && nyc mocha test/index.js",
17-
"format:check": "prettier --parser typescript --check 'lib/**/*.ts' 'test/**/*.js'",
18-
"format:fix": "prettier --parser typescript --write 'lib/**/*.ts' 'test/**/*.js'",
16+
"test": "npm run format:check && tsc && nyc mocha --require ts-node/register test/index.ts",
17+
"format:check": "prettier --parser typescript --check 'lib/**/*.ts' 'test/**/*.ts'",
18+
"format:fix": "prettier --parser typescript --write 'lib/**/*.ts' 'test/**/*.ts'",
1919
"prepack": "tsc"
2020
},
2121
"dependencies": {
@@ -26,6 +26,8 @@
2626
"uid2": "0.0.3"
2727
},
2828
"devDependencies": {
29+
"@types/expect.js": "^0.3.29",
30+
"@types/mocha": "^8.2.1",
2931
"@types/node": "^14.14.7",
3032
"expect.js": "0.3.1",
3133
"ioredis": "^4.0.0",
@@ -34,6 +36,7 @@
3436
"prettier": "^2.1.2",
3537
"socket.io": "^3.0.1",
3638
"socket.io-client": "^3.0.1",
39+
"ts-node": "^9.1.1",
3740
"typescript": "^4.0.5"
3841
},
3942
"engines": {

test/index.js renamed to test/index.ts

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
const http = require("http").Server;
2-
const io = require("socket.io");
3-
const ioc = require("socket.io-client");
4-
const expect = require("expect.js");
5-
const adapter = require("..");
1+
import { createServer } from "http";
2+
import { Server } from "socket.io";
3+
import { io as ioc } from "socket.io-client";
4+
import expect = require("expect.js");
5+
import { createAdapter } from "..";
6+
import type { AddressInfo } from "net";
67

78
const ioredis = require("ioredis").createClient;
89

@@ -65,7 +66,7 @@ let socket1, socket2, socket3;
6566
});
6667
});
6768

68-
it("uses a namespace to broadcast to rooms", () => {
69+
it("uses a namespace to broadcast to rooms", (done) => {
6970
socket1.join("woot");
7071
client2.emit("do broadcast");
7172
socket2.on("do broadcast", () => {
@@ -242,22 +243,24 @@ let socket1, socket2, socket3;
242243
});
243244

244245
function _create(options) {
245-
return (nsp, fn) => {
246-
const srv = http();
247-
const sio = io(srv);
248-
sio.adapter(adapter(typeof options === "function" ? options() : options));
249-
srv.listen((err) => {
246+
return (nsp, fn?) => {
247+
const httpServer = createServer();
248+
const sio = new Server(httpServer);
249+
sio.adapter(
250+
createAdapter(typeof options === "function" ? options() : options)
251+
);
252+
httpServer.listen((err) => {
250253
if (err) throw err; // abort tests
251254
if ("function" == typeof nsp) {
252255
fn = nsp;
253256
nsp = "";
254257
}
255258
nsp = nsp || "/";
256-
const addr = srv.address();
259+
const addr = httpServer.address() as AddressInfo;
257260
const url = "http://localhost:" + addr.port + nsp;
258261

259262
const namespace = sio.of(nsp);
260-
const client = ioc(url, { reconnect: false });
263+
const client = ioc(url, { reconnection: false });
261264

262265
namespace.on("connection", (socket) => {
263266
fn(namespace, client, socket);

0 commit comments

Comments
 (0)