From 0b61410a4b7fe86b53d2b46452ccdac8a04930d9 Mon Sep 17 00:00:00 2001 From: Pavel Lang Date: Wed, 5 Sep 2012 19:02:52 +0200 Subject: [PATCH] Comparison test for implicit domain binding on fs module, reference for #3965 --- test/simple/test-domain-implicit-fs.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/test/simple/test-domain-implicit-fs.js b/test/simple/test-domain-implicit-fs.js index 665a821abf0..38b19ce81e6 100644 --- a/test/simple/test-domain-implicit-fs.js +++ b/test/simple/test-domain-implicit-fs.js @@ -27,9 +27,10 @@ var assert = require('assert'); var domain = require('domain'); var events = require('events'); var caught = 0; -var expectCaught = 1; +var expectCaught = 2; var d = new domain.Domain(); +var d2 = new domain.Domain(); var e = new events.EventEmitter(); d.on('error', function(er) { @@ -45,6 +46,17 @@ d.on('error', function(er) { caught++; }); +d2.on('error', function(er) { + console.error('caught', er); + + assert.strictEqual(er.domain, d2); + assert.strictEqual(er.domain_thrown, true); + assert.ok(!er.domain_emitter); + assert.strictEqual(er.message, 'TEST'); + + caught++; +}); + process.on('exit', function() { console.error('exit'); assert.equal(caught, expectCaught); @@ -70,3 +82,14 @@ d.run(function() { }); }, 100); }); + +d2.run(function() { + setTimeout(function() { + var fs = require('fs'); + fs.readdir(__dirname, function() { + fs.open('this file does not exist', 'r', function(er) { + throw new Error('TEST'); + }); + }); + }, 100); +});