Add spec for exit code on event
This commit is contained in:
		
					parent
					
						
							
								63c0095efb
							
						
					
				
			
			
				commit
				
					
						aa82eddca8
					
				
			
		
					 3 changed files with 32 additions and 0 deletions
				
			
		| 
						 | 
					@ -1,4 +1,6 @@
 | 
				
			||||||
assert = require 'assert'
 | 
					assert = require 'assert'
 | 
				
			||||||
 | 
					ChildProcess = require 'child_process'
 | 
				
			||||||
 | 
					path = require 'path'
 | 
				
			||||||
{remote} = require 'electron'
 | 
					{remote} = require 'electron'
 | 
				
			||||||
{app, BrowserWindow} = remote.require 'electron'
 | 
					{app, BrowserWindow} = remote.require 'electron'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +31,23 @@ describe 'app module', ->
 | 
				
			||||||
    it 'should not be empty', ->
 | 
					    it 'should not be empty', ->
 | 
				
			||||||
      assert.notEqual app.getLocale(), ''
 | 
					      assert.notEqual app.getLocale(), ''
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  describe 'app.exit(exitCode)', ->
 | 
				
			||||||
 | 
					    appProcess = null
 | 
				
			||||||
 | 
					    afterEach ->
 | 
				
			||||||
 | 
					      appProcess?.kill()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    it 'emits a process exit event with the code', (done) ->
 | 
				
			||||||
 | 
					      appPath = path.join(__dirname, 'fixtures', 'api', 'quit-app')
 | 
				
			||||||
 | 
					      electronPath = remote.getGlobal('process').execPath
 | 
				
			||||||
 | 
					      appProcess = ChildProcess.spawn(electronPath, [appPath])
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      output = ''
 | 
				
			||||||
 | 
					      appProcess.stdout.on 'data', (data) -> output += data
 | 
				
			||||||
 | 
					      appProcess.on 'close', (code) ->
 | 
				
			||||||
 | 
					        assert.notEqual output.indexOf('Exit event with code: 123'), -1
 | 
				
			||||||
 | 
					        assert.equal code, 123
 | 
				
			||||||
 | 
					        done()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe 'BrowserWindow events', ->
 | 
					  describe 'BrowserWindow events', ->
 | 
				
			||||||
    w = null
 | 
					    w = null
 | 
				
			||||||
    afterEach ->
 | 
					    afterEach ->
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										9
									
								
								spec/fixtures/api/quit-app/main.js
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								spec/fixtures/api/quit-app/main.js
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,9 @@
 | 
				
			||||||
 | 
					var app = require('electron').app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					app.on('ready', function () {
 | 
				
			||||||
 | 
					  app.exit(123)
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					process.on('exit', function (code) {
 | 
				
			||||||
 | 
					  console.log('Exit event with code: ' + code)
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
							
								
								
									
										4
									
								
								spec/fixtures/api/quit-app/package.json
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								spec/fixtures/api/quit-app/package.json
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,4 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "quit-app",
 | 
				
			||||||
 | 
					  "main": "main.js"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue