spec: Should destroy window even when spec failed.

This commit is contained in:
Cheng Zhao 2014-04-24 16:08:59 +08:00
parent 0b3b621f81
commit 11e02d6bbc
2 changed files with 12 additions and 21 deletions

View file

@ -8,9 +8,16 @@ BrowserWindow = remote.require 'browser-window'
describe 'browser-window module', ->
fixtures = path.resolve __dirname, 'fixtures'
w = null
beforeEach ->
w.destroy() if w?
w = new BrowserWindow(show: false)
afterEach ->
w.destroy() if w?
w = null
describe 'BrowserWindow.close()', ->
it 'should emit unload handler', (done) ->
w = new BrowserWindow(show: false)
w.on 'loading-state-changed', (event, isLoading) ->
if (!isLoading)
w.close()
@ -23,9 +30,7 @@ describe 'browser-window module', ->
w.loadUrl 'file://' + path.join(fixtures, 'api', 'unload.html')
it 'should emit beforeunload handler', (done) ->
w = new BrowserWindow(show: false)
w.on 'onbeforeunload', ->
w.destroy()
done()
w.on 'loading-state-changed', (event, isLoading) ->
if (!isLoading)
@ -34,7 +39,6 @@ describe 'browser-window module', ->
describe 'window.close()', ->
it 'should emit unload handler', (done) ->
w = new BrowserWindow(show: false)
w.on 'closed', ->
test = path.join(fixtures, 'api', 'close')
content = fs.readFileSync(test)
@ -44,25 +48,20 @@ describe 'browser-window module', ->
w.loadUrl 'file://' + path.join(fixtures, 'api', 'close.html')
it 'should emit beforeunload handler', (done) ->
w = new BrowserWindow(show: false)
w.on 'onbeforeunload', ->
w.destroy()
done()
w.loadUrl 'file://' + path.join(fixtures, 'api', 'close-beforeunload-false.html')
describe 'BrowserWindow.loadUrl(url)', ->
it 'should emit loading-state-changed event', (done) ->
w = new BrowserWindow(show: false)
count = 0
w.on 'loading-state-changed', (event, isLoading) ->
if count == 0
assert.equal isLoading, true
else if count == 1
assert.equal isLoading, false
w.close()
done()
else
w.close()
assert false
++count
@ -70,43 +69,33 @@ describe 'browser-window module', ->
describe 'BrowserWindow.focus()', ->
it 'does not make the window become visible', ->
w = new BrowserWindow(show: false)
assert.equal w.isVisible(), false
w.focus()
assert.equal w.isVisible(), false
w.close()
describe 'BrowserWindow.capturePage(rect, callback)', ->
it 'calls the callback with a Buffer', (done) ->
w = new BrowserWindow(show: false)
w.capturePage {x: 0, y: 0, width: 100, height: 100}, (image) ->
assert.equal image.constructor.name, 'Buffer'
done()
w.close()
describe 'beforeunload handler', ->
it 'returning true would not prevent close', (done) ->
w = new BrowserWindow(show: false)
w.on 'closed', ->
done()
w.loadUrl 'file://' + path.join(fixtures, 'api', 'close-beforeunload-true.html')
it 'returning non-empty string would not prevent close', (done) ->
w = new BrowserWindow(show: false)
w.on 'closed', ->
done()
w.loadUrl 'file://' + path.join(fixtures, 'api', 'close-beforeunload-string.html')
it 'returning false would prevent close', (done) ->
w = new BrowserWindow(show: false)
w.on 'onbeforeunload', ->
w.destroy()
done()
w.loadUrl 'file://' + path.join(fixtures, 'api', 'close-beforeunload-false.html')
it 'returning empty string would prevent close', (done) ->
w = new BrowserWindow(show: false)
w.on 'onbeforeunload', ->
w.destroy()
done()
w.loadUrl 'file://' + path.join(fixtures, 'api', 'close-beforeunload-empty-string.html')

View file

@ -10,8 +10,11 @@ BrowserWindow = remote.require 'browser-window'
describe 'crash-reporter module', ->
fixtures = path.resolve __dirname, 'fixtures'
w = null
beforeEach -> w = new BrowserWindow(show: false)
afterEach -> w.destroy()
it 'should send minidump when renderer crashes', (done) ->
w = new BrowserWindow(show: false)
server = http.createServer (req, res) ->
form = new formidable.IncomingForm()
process.throwDeprecation = false
@ -28,7 +31,6 @@ describe 'crash-reporter module', ->
assert.equal fields['_version'], require('remote').require('app').getVersion()
assert files['upload_file_minidump']['name']?
w.destroy()
res.end()
server.close()
done()