spec: Should destroy window even when spec failed.
authorCheng Zhao <zcbenz@gmail.com>
Thu, 24 Apr 2014 08:08:59 +0000 (16:08 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Thu, 24 Apr 2014 08:08:59 +0000 (16:08 +0800)
spec/api-browser-window-spec.coffee
spec/api-crash-reporter-spec.coffee

index c67c873..343ba46 100644 (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')
index 372ada3..2c06303 100644 (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()