Add spec for #511.

This commit is contained in:
Cheng Zhao 2014-07-25 13:04:30 +08:00
parent f7a9b56e93
commit dbf19a5734
2 changed files with 22 additions and 2 deletions

4
spec/fixtures/module/create_socket.js vendored Normal file
View file

@ -0,0 +1,4 @@
var net = require('net');
var server = net.createServer(function() {});
server.listen(process.argv[2]);
process.exit(0);

View file

@ -2,11 +2,12 @@ assert = require 'assert'
child_process = require 'child_process' child_process = require 'child_process'
fs = require 'fs' fs = require 'fs'
path = require 'path' path = require 'path'
os = require 'os'
describe 'node feature', -> describe 'node feature', ->
describe 'child_process', -> fixtures = path.join __dirname, 'fixtures'
fixtures = path.join __dirname, 'fixtures'
describe 'child_process', ->
describe 'child_process.fork', -> describe 'child_process.fork', ->
it 'works in current process', (done) -> it 'works in current process', (done) ->
child = child_process.fork path.join(fixtures, 'module', 'ping.js') child = child_process.fork path.join(fixtures, 'module', 'ping.js')
@ -73,3 +74,18 @@ describe 'node feature', ->
setImmediate -> setImmediate ->
setImmediate -> setImmediate ->
setImmediate done setImmediate done
describe 'net.connect', ->
it 'emit error when connect to a socket path without listeners', (done) ->
socketPath =
if process.platform is 'win32'
'\\\\.\\pipe\\atom-shell-test-sock'
else
path.join os.tmpdir(), 'atom-shell-test.sock'
script = path.join(fixtures, 'module', 'create_socket.js')
child = child_process.fork script, [socketPath]
child.on 'exit', ->
client = require('net').connect socketPath
client.on 'error', (error) ->
assert.equal error.code, 'ECONNREFUSED'
done()