Add two tests regarding crashes in context switching.
authorCheng Zhao <zcbenz@gmail.com>
Wed, 17 Jul 2013 10:52:02 +0000 (18:52 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Wed, 17 Jul 2013 10:52:02 +0000 (18:52 +0800)
spec/node/contexts.coffee [new file with mode: 0644]

diff --git a/spec/node/contexts.coffee b/spec/node/contexts.coffee
new file mode 100644 (file)
index 0000000..589b74a
--- /dev/null
@@ -0,0 +1,21 @@
+assert = require 'assert'
+fs = require 'fs'
+
+describe 'contexts', ->
+  describe 'setTimeout in fs callback', ->
+    it 'does not crash', (done) ->
+      fs.readFile __filename, ->
+        setTimeout done, 0
+
+  describe 'throw error in node context', ->
+    it 'get caught', (done) ->
+      error = new Error('boo!')
+      lsts = process.listeners 'uncaughtException'
+      process.removeAllListeners 'uncaughtException'
+      process.on 'uncaughtException', (err) ->
+        process.removeAllListeners 'uncaughtException'
+        for lst in lsts
+          process.on 'uncaughtException', lst
+        done()
+      fs.readFile __filename, ->
+        throw error