YUKI Hiroshi
null+****@clear*****
Wed Jan 30 13:08:03 JST 2013
YUKI Hiroshi 2013-01-30 13:08:03 +0900 (Wed, 30 Jan 2013) New Revision: 806136f03d589a654f9e433fdd28b9b32e3bf015 https://github.com/groonga/express-kotoumi/commit/806136f03d589a654f9e433fdd28b9b32e3bf015 Log: test: Disconnect socket.io clients from express-kotoumi with mocked backends correctly Modified files: test/express-adaptor.test.js test/frontend-socket.io-handler.test.js test/test-utils.js Modified: test/express-adaptor.test.js (+9 -4) =================================================================== --- test/express-adaptor.test.js 2013-01-30 12:52:32 +0900 (79e0195) +++ test/express-adaptor.test.js 2013-01-30 13:08:03 +0900 (c655055) @@ -76,10 +76,15 @@ suite('Adaption for express application', function() { }); suite('Socket.IO API', function() { + var connection; var server; var clientSocket; teardown(function() { + if (connection) { + utils.readyToDestroyMockedConnection(connection); + connection = undefined; + } if (clientSocket) { clientSocket.disconnect(); clientSocket = undefined; @@ -92,9 +97,9 @@ suite('Adaption for express application', function() { test('front to back', function(done) { var handlersFactory = utils.createMockedHandlersFactory(); - var connection = utils.createMockedBackendConnection() - .mock('emitMessage') - .takes('search', { requestMessage: true }); + connection = utils.createMockedBackendConnection() + .mock('emitMessage') + .takes('search', { requestMessage: true }); var application = express(); utils.setupServer(application) @@ -125,7 +130,7 @@ suite('Adaption for express application', function() { test('back to front', function(done) { var handlersFactory = utils.createMockedHandlersFactory(); - var connection = utils.createMockedBackendConnection(); + connection = utils.createMockedBackendConnection(); var clientReceiver = nodemock .mock('receive') Modified: test/frontend-socket.io-handler.test.js (+15 -10) =================================================================== --- test/frontend-socket.io-handler.test.js 2013-01-30 12:52:32 +0900 (c480e16) +++ test/frontend-socket.io-handler.test.js 2013-01-30 13:08:03 +0900 (47c09de) @@ -9,10 +9,15 @@ var socketIoHandler = require('../lib/frontend/socket.io-handler'); var Connection = require('../lib/backend/connection').Connection; suite('Socket.IO API', function() { + var connection; var server; var clientSocket; teardown(function() { + if (connection) { + utils.readyToDestroyMockedConnection(connection); + connection = undefined; + } if (clientSocket) { clientSocket.disconnect(); clientSocket = undefined; @@ -24,9 +29,9 @@ suite('Socket.IO API', function() { }); test('front to back', function(done) { - var connection = utils.createMockedBackendConnection() - .mock('emitMessage') - .takes('search', { requestMessage: true }); + connection = utils.createMockedBackendConnection() + .mock('emitMessage') + .takes('search', { requestMessage: true }); var application = express(); utils.setupServer(application) @@ -53,7 +58,7 @@ suite('Socket.IO API', function() { }); test('back to front', function(done) { - var connection = utils.createMockedBackendConnection(); + connection = utils.createMockedBackendConnection(); var clientReceiver = nodemock .mock('receive') @@ -100,12 +105,12 @@ suite('Socket.IO API', function() { test('front to back, extra command', function(done) { var extraController = {}; - var connection = utils.createMockedBackendConnection() - .mock('on') - .takes('message', function() {}) - .ctrl(1, extraController) - .mock('emitMessage') - .takes('foobar', { requestMessage: true }); + connection = utils.createMockedBackendConnection() + .mock('on') + .takes('message', function() {}) + .ctrl(1, extraController) + .mock('emitMessage') + .takes('foobar', { requestMessage: true }); var application = express(); utils.setupServer(application) Modified: test/test-utils.js (+11 -0) =================================================================== --- test/test-utils.js 2013-01-30 12:52:32 +0900 (130ec8d) +++ test/test-utils.js 2013-01-30 13:08:03 +0900 (032436c) @@ -157,6 +157,17 @@ function createMockedBackendConnection() { } exports.createMockedBackendConnection = createMockedBackendConnection; +function readyToDestroyMockedConnection(connection) { + connection = connection + .mock('removeListener') + .takes('message', function() {}) + .times(socketIoHandler.commands.length) + .mock('removeListener') + .takes('error', function() {}); + return connection; +} +exports.readyToDestroyMockedConnection = readyToDestroyMockedConnection; + function createMockedHandlersFactory() { return nodemock .mock('search') -------------- next part -------------- HTML����������������������������... Télécharger