1 | var assert = require('assert'),
|
2 | WebSocket = require('ws'),
|
3 | koa = require('koa'),
|
4 | route = require('koa-route');
|
5 |
|
6 | var koaws = require('..');
|
7 |
|
8 | describe('should route ws messages seperately', function() {
|
9 | var app = koaws(koa());
|
10 | app.ws.use(route.all('/abc', function*(next) {
|
11 | this.on('message', function(message) {
|
12 | this.send(message);
|
13 | }.bind(this));
|
14 | }));
|
15 |
|
16 | app.ws.use(route.all('/def', function*(next) {
|
17 | this.on('message', function(message) {
|
18 | this.send(message);
|
19 | }.bind(this));
|
20 | }));
|
21 |
|
22 | var server = app.listen();
|
23 |
|
24 | it("sends abc message to abc route", function(done){
|
25 | var ws = new WebSocket('ws://localhost:' + server.address().port + '/abc');
|
26 | ws.on('open', function() {
|
27 | ws.send("abc");
|
28 | });
|
29 | ws.on('message', function(message) {
|
30 | assert(message === 'abc');
|
31 | done();
|
32 | });
|
33 | });
|
34 |
|
35 | it("sends def message to def route", function(done){
|
36 | var ws = new WebSocket('ws://localhost:' + server.address().port + '/def');
|
37 | ws.on('open', function() {
|
38 | ws.send("def");
|
39 | });
|
40 | ws.on('message', function(message) {
|
41 | assert(message === 'def');
|
42 | done();
|
43 | });
|
44 | });
|
45 | });
|