Skip to content

Commit 137dd7c

Browse files
committed
allow overriding client-side transport
1 parent d7a1213 commit 137dd7c

2 files changed

Lines changed: 20 additions & 0 deletions

File tree

src/client/client.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,8 @@ class _ClientImpl {
215215
server: multiplayer.server,
216216
socketOpts,
217217
});
218+
} else if (multiplayer && multiplayer.transport !== undefined) {
219+
this.transport = multiplayer.transport;
218220
} else {
219221
this.transport = {
220222
isConnected: true,

src/client/client.test.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,24 @@ describe('multiplayer', () => {
150150
expect(client.transport instanceof Local).toBe(true);
151151
});
152152
});
153+
154+
describe('custom transport', () => {
155+
const transport = { custom: true };
156+
let client;
157+
158+
beforeAll(() => {
159+
client = Client(
160+
GetOpts({
161+
game: Game({ moves: { A: () => {} } }),
162+
multiplayer: { transport },
163+
})
164+
);
165+
});
166+
167+
test('correct transport used', () => {
168+
expect(client.transport).toBe(transport);
169+
});
170+
});
153171
});
154172

155173
test('accepts enhancer for store', () => {

0 commit comments

Comments
 (0)