From: Cheng Zhao Date: Sun, 25 Aug 2013 12:45:34 +0000 (+0800) Subject: Make sure protocol module's specs do not pollute main.js. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0f6617ec26b9d160662d3249120704e8c98bf4eb;p=platform%2Fframework%2Fweb%2Fcrosswalk-tizen.git Make sure protocol module's specs do not pollute main.js. --- diff --git a/spec/api/protocol.coffee b/spec/api/protocol.coffee index 84cf0bc..7879d29 100644 --- a/spec/api/protocol.coffee +++ b/spec/api/protocol.coffee @@ -1,6 +1,7 @@ assert = require 'assert' ipc = require 'ipc' -protocol = require('remote').require 'protocol' +remote = require 'remote' +protocol = remote.require 'protocol' describe 'protocol API', -> describe 'protocol.registerProtocol', -> @@ -24,29 +25,47 @@ describe 'protocol API', -> describe 'registered protocol callback', -> it 'returns string should send the string as request content', (done) -> + handler = remote.createFunctionWithReturnValue 'valar morghulis' + protocol.registerProtocol 'atom-string', handler + $.ajax - url: 'atom-string://something' + url: 'atom-string://fake-host' success: (data) -> - assert.equal data, 'atom-string://something' + assert.equal data, handler() + protocol.unregisterProtocol 'atom-string' done() error: (xhr, errorType, error) -> assert false, 'Got error: ' + errorType + ' ' + error + protocol.unregisterProtocol 'atom-string' it 'returns RequestStringJob should send string', (done) -> + data = 'valar morghulis' + job = new protocol.RequestStringJob(mimeType: 'text/html', data: data) + handler = remote.createFunctionWithReturnValue job + protocol.registerProtocol 'atom-string-job', handler + $.ajax - url: 'atom-string-job://something' - success: (data) -> - assert.equal data, 'atom-string-job://something' + url: 'atom-string-job://fake-host' + success: (response) -> + assert.equal response, data + protocol.unregisterProtocol 'atom-string-job' done() error: (xhr, errorType, error) -> assert false, 'Got error: ' + errorType + ' ' + error + protocol.unregisterProtocol 'atom-string-job' it 'returns RequestFileJob should send file', (done) -> + job = new protocol.RequestFileJob(__filename) + handler = remote.createFunctionWithReturnValue job + protocol.registerProtocol 'atom-file-job', handler + $.ajax url: 'atom-file-job://' + __filename success: (data) -> content = require('fs').readFileSync __filename assert.equal data, String(content) + protocol.unregisterProtocol 'atom-file-job' done() error: (xhr, errorType, error) -> assert false, 'Got error: ' + errorType + ' ' + error + protocol.unregisterProtocol 'atom-file-job' diff --git a/spec/main.js b/spec/main.js index ec41f00..0d02115 100644 --- a/spec/main.js +++ b/spec/main.js @@ -34,23 +34,6 @@ app.on('window-all-closed', function() { app.terminate(); }); -app.on('will-finish-launching', function() { - // Reigster some protocols, used by the protocol spec. - // FIXME(zcbenz): move this to somewhere else. - var protocol = require('protocol'); - protocol.registerProtocol('atom-string', function(url) { - return url; - }); - - protocol.registerProtocol('atom-string-job', function(url) { - return new protocol.RequestStringJob({mimeType: 'text/html', data: url}); - }); - - protocol.registerProtocol('atom-file-job', function(url) { - return new protocol.RequestFileJob(url.substr(16)); - }); -}); - app.on('finish-launching', function() { window = new BrowserWindow({ title: 'atom-shell tests',