YUKI Hiroshi
null+****@clear*****
Thu Feb 7 18:15:20 JST 2013
YUKI Hiroshi 2013-02-07 18:15:20 +0900 (Thu, 07 Feb 2013) New Revision: 0f908434a676cedf32ef2ba3a01c353d344ef5b7 https://github.com/groonga/express-kotoumi/commit/0f908434a676cedf32ef2ba3a01c353d344ef5b7 Log: test: Create and initialize mocked connection for socket.io commands correctly Modified files: test/express-adaptor.test.js test/frontend-socket.io-adaptor.test.js test/test-utils.js Modified: test/express-adaptor.test.js (+3 -3) =================================================================== --- test/express-adaptor.test.js 2013-02-07 18:01:40 +0900 (7c30a6d) +++ test/express-adaptor.test.js 2013-02-07 18:15:20 +0900 (5fc8b0f) @@ -24,7 +24,7 @@ suite('Adaption for express application', function() { var server; setup(function(done) { - connection = utils.createMockedBackendConnection(); + connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule); application = express(); utils.setupServer(application) .next(function(newServer) { @@ -138,7 +138,7 @@ suite('Adaption for express application', function() { }); test('front to back', function(done) { - connection = utils.createMockedBackendConnection() + connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule) .mock('emitMessage') .takes('search', { requestMessage: true }); @@ -168,7 +168,7 @@ suite('Adaption for express application', function() { }); test('back to front', function(done) { - connection = utils.createMockedBackendConnection(); + connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule); connection.emitMessage = function() {}; // stubbing var clientReceiver = nodemock Modified: test/frontend-socket.io-adaptor.test.js (+5 -5) =================================================================== --- test/frontend-socket.io-adaptor.test.js 2013-02-07 18:01:40 +0900 (4c1f07d) +++ test/frontend-socket.io-adaptor.test.js 2013-02-07 18:15:20 +0900 (513c4b5) @@ -125,7 +125,7 @@ suite('Socket.IO API', function() { }); test('front to back', function(done) { - connection = utils.createMockedBackendConnection(); + connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule); var application = express(); utils.setupServer(application) @@ -156,7 +156,7 @@ suite('Socket.IO API', function() { }); test('back to front', function(done) { - connection = utils.createMockedBackendConnection(); + connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule); var clientReceiver = nodemock .mock('receive') @@ -204,7 +204,7 @@ suite('Socket.IO API', function() { test('front to back, extra command (without builder)', function(done) { var extraController = {}; - connection = utils.createMockedBackendConnection(); + connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule); var application = express(); utils.setupServer(application) @@ -237,7 +237,7 @@ suite('Socket.IO API', function() { test('front to back, extra command (with builder)', function(done) { var extraController = {}; - connection = utils.createMockedBackendConnection(); + connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule); var mockedReceiver = nodemock .mock('receive') @@ -286,7 +286,7 @@ suite('Socket.IO API', function() { test('front to back, extra command (custom event name)', function(done) { var extraController = {}; - connection = utils.createMockedBackendConnection(); + connection = utils.createMockedBackendConnection(utils.socketIoDefaultCommandsModule); var mockedReceiver = nodemock .mock('receive') Modified: test/test-utils.js (+18 -11) =================================================================== --- test/test-utils.js 2013-02-07 18:01:40 +0900 (5331d38) +++ test/test-utils.js 2013-02-07 18:15:20 +0900 (10ae220) @@ -6,13 +6,9 @@ var http = require('http'); var Deferred = require('jsdeferred').Deferred; var client = require('socket.io-client'); -var socketIoDefaultCommandsModule = require('../lib/frontend/default-commands/socket.io'); -var socketIoDefaultCommands = []; -Object.keys(socketIoDefaultCommandsModule).forEach(function(command) { - if (!command || typeof command != 'object') - return; - socketIoDefaultCommands.push(command); -}); +var socketIoDefaultCommandsModule = + exports.socketIoDefaultCommandsModule = + require('../lib/frontend/default-commands/socket.io'); var testSendPort = exports.testSendPort = 3333; var testReceivePort = exports.testReceivePort = 3334; @@ -141,15 +137,26 @@ function createClientSocket() { } exports.createClientSocket = createClientSocket; -function createMockedBackendConnection() { +function createMockedBackendConnection(socketCommands) { + socketCommands = socketCommands || {}; var connection = nodemock; var onMessageControllers = {}; - socketIoDefaultCommands.forEach(function(command) { - onMessageControllers[command] = {}; + Object.keys(socketCommands).forEach(function(commandName) { + var command = socketCommands[commandName]; + onMessageControllers[commandName] = {}; connection = connection .mock('on') .takes(command, function() {}) - .ctrl(1, onMessageControllers[command]); + .ctrl(1, onMessageControllers[commandName]); + + if (model.isA(command, model.PublishSubscribe)) { + var published = commandName + '-published'; + onMessageControllers[published] = {}; + connection = connection + .mock('on') + .takes(command, function() {}) + .ctrl(1, onMessageControllers[published]); + } }); onMessageControllers.error = {}; -------------- next part -------------- HTML����������������������������...Download