mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
spec: Rewrite tests for new protocol API
This commit is contained in:
@@ -9,13 +9,8 @@ describe 'protocol module', ->
|
||||
text = 'valar morghulis'
|
||||
|
||||
afterEach (done) ->
|
||||
protocol.unregisterProtocol protocolName, -> done()
|
||||
|
||||
describe 'protocol.unregisterProtocol', ->
|
||||
it 'returns error when scheme does not exist', (done) ->
|
||||
protocol.unregisterProtocol 'not-exist', (error) ->
|
||||
assert.notEqual error, null
|
||||
done()
|
||||
protocol.unregisterProtocol protocolName, ->
|
||||
protocol.uninterceptProtocol 'http', -> done()
|
||||
|
||||
describe 'protocol.register(Any)Protocol', ->
|
||||
emptyHandler = (request, callback) -> callback()
|
||||
@@ -61,6 +56,12 @@ describe 'protocol module', ->
|
||||
error: (xhr, errorType, error) ->
|
||||
done(error)
|
||||
|
||||
describe 'protocol.unregisterProtocol', ->
|
||||
it 'returns error when scheme does not exist', (done) ->
|
||||
protocol.unregisterProtocol 'not-exist', (error) ->
|
||||
assert.notEqual error, null
|
||||
done()
|
||||
|
||||
describe 'protocol.registerStringProtocol', ->
|
||||
it 'sends string as response', (done) ->
|
||||
handler = (request, callback) -> callback(text)
|
||||
@@ -235,23 +236,107 @@ describe 'protocol module', ->
|
||||
assert.equal errorType, 'error'
|
||||
done()
|
||||
|
||||
describe 'protocol.isHandledProtocol', ->
|
||||
describe 'protocol.isProtocolHandled', ->
|
||||
it 'returns true for file:', (done) ->
|
||||
protocol.isHandledProtocol 'file', (result) ->
|
||||
protocol.isProtocolHandled 'file', (result) ->
|
||||
assert.equal result, true
|
||||
done()
|
||||
|
||||
it 'returns true for http:', (done) ->
|
||||
protocol.isHandledProtocol 'http', (result) ->
|
||||
protocol.isProtocolHandled 'http', (result) ->
|
||||
assert.equal result, true
|
||||
done()
|
||||
|
||||
it 'returns true for https:', (done) ->
|
||||
protocol.isHandledProtocol 'https', (result) ->
|
||||
protocol.isProtocolHandled 'https', (result) ->
|
||||
assert.equal result, true
|
||||
done()
|
||||
|
||||
it 'returns false when scheme is not registred', (done) ->
|
||||
protocol.isHandledProtocol 'atom', (result) ->
|
||||
protocol.isProtocolHandled 'no-exist', (result) ->
|
||||
assert.equal result, false
|
||||
done()
|
||||
|
||||
it 'returns true for custom protocol', (done) ->
|
||||
emptyHandler = (request, callback) -> callback()
|
||||
protocol.registerStringProtocol protocolName, emptyHandler, (error) ->
|
||||
assert.equal error, null
|
||||
protocol.isProtocolHandled protocolName, (result) ->
|
||||
assert.equal result, true
|
||||
done()
|
||||
|
||||
it 'returns true for intercepted protocol', (done) ->
|
||||
emptyHandler = (request, callback) -> callback()
|
||||
protocol.interceptStringProtocol 'http', emptyHandler, (error) ->
|
||||
assert.equal error, null
|
||||
protocol.isProtocolHandled 'http', (result) ->
|
||||
assert.equal result, true
|
||||
done()
|
||||
|
||||
describe 'protocol.intercept(Any)Protocol', ->
|
||||
emptyHandler = (request, callback) -> callback()
|
||||
|
||||
it 'throws error when scheme is already intercepted', (done) ->
|
||||
protocol.interceptStringProtocol 'http', emptyHandler, (error) ->
|
||||
assert.equal error, null
|
||||
protocol.interceptBufferProtocol 'http', emptyHandler, (error) ->
|
||||
assert.notEqual error, null
|
||||
done()
|
||||
|
||||
it 'does not crash when handler is called twice', (done) ->
|
||||
doubleHandler = (request, callback) ->
|
||||
callback(text)
|
||||
callback()
|
||||
protocol.interceptStringProtocol 'http', doubleHandler, (error) ->
|
||||
$.ajax
|
||||
url: 'http://fake-host'
|
||||
success: (data) ->
|
||||
assert.equal data, text
|
||||
done()
|
||||
error: (xhr, errorType, error) ->
|
||||
done(error)
|
||||
|
||||
it 'sends error when callback is called with nothing', (done) ->
|
||||
protocol.interceptBufferProtocol 'http', emptyHandler, (error) ->
|
||||
$.ajax
|
||||
url: 'http://fake-host'
|
||||
success: (data) ->
|
||||
done('request succeeded but it should not')
|
||||
error: (xhr, errorType, error) ->
|
||||
assert.equal errorType, 'error'
|
||||
done()
|
||||
|
||||
describe 'protocol.interceptStringProtocol', ->
|
||||
it 'can intercept http protocol', (done) ->
|
||||
handler = (request, callback) -> callback(text)
|
||||
protocol.interceptStringProtocol 'http', handler, (error) ->
|
||||
$.ajax
|
||||
url: 'http://fake-host'
|
||||
success: (data) ->
|
||||
assert.equal data, text
|
||||
done()
|
||||
error: (xhr, errorType, error) ->
|
||||
done(error)
|
||||
|
||||
describe 'protocol.interceptBufferProtocol', ->
|
||||
it 'can intercept http protocol', (done) ->
|
||||
handler = (request, callback) -> callback(new Buffer(text))
|
||||
protocol.interceptBufferProtocol 'http', handler, (error) ->
|
||||
$.ajax
|
||||
url: 'http://fake-host'
|
||||
success: (data) ->
|
||||
assert.equal data, text
|
||||
done()
|
||||
error: (xhr, errorType, error) ->
|
||||
done(error)
|
||||
|
||||
describe 'protocol.uninterceptProtocol', ->
|
||||
it 'returns error when scheme does not exist', (done) ->
|
||||
protocol.uninterceptProtocol 'not-exist', (error) ->
|
||||
assert.notEqual error, null
|
||||
done()
|
||||
|
||||
it 'returns error when scheme is not intercepted', (done) ->
|
||||
protocol.uninterceptProtocol 'http', (error) ->
|
||||
assert.notEqual error, null
|
||||
done()
|
||||
|
||||
Reference in New Issue
Block a user