Blame view
node_modules/continuation-local-storage/test/net-events.tap.js
1.35 KB
f7563de62
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
'use strict'; var net = require('net') , tap = require('tap') , test = tap.test , createNamespace = require('../context').createNamespace ; test("continuation-local state with net connection", function (t) { t.plan(4); var namespace = createNamespace('net'); namespace.run(function () { namespace.set('test', 0xabad1dea); var server; namespace.run(function () { namespace.set('test', 0x1337); server = net.createServer(function (socket) { t.equal(namespace.get('test'), 0x1337, "state has been mutated"); socket.on("data", function () { t.equal(namespace.get('test'), 0x1337, "state is still preserved"); server.close(); socket.end("GoodBye"); }); }); server.listen(function () { var address = server.address(); namespace.run(function () { namespace.set("test", "MONKEY"); var client = net.connect(address.port, function () { t.equal(namespace.get("test"), "MONKEY", "state preserved for client connection"); client.write("Hello"); client.on("data", function () { t.equal(namespace.get("test"), "MONKEY", "state preserved for client data"); t.end(); }); }); }); }); }); }); }); |