summaryrefslogtreecommitdiff
path: root/test/addons/make-callback-domain-warning/test.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/addons/make-callback-domain-warning/test.js')
-rw-r--r--test/addons/make-callback-domain-warning/test.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/addons/make-callback-domain-warning/test.js b/test/addons/make-callback-domain-warning/test.js
new file mode 100644
index 0000000000..2ea3c3f3d1
--- /dev/null
+++ b/test/addons/make-callback-domain-warning/test.js
@@ -0,0 +1,35 @@
+'use strict';
+
+const common = require('../../common');
+const assert = require('assert');
+const domain = require('domain');
+const binding = require(`./build/${common.buildType}/binding`);
+
+function makeCallback(object, cb) {
+ binding.makeCallback(object, () => setImmediate(cb));
+}
+
+let latestWarning = null;
+process.on('warning', function(warning) {
+ latestWarning = warning;
+});
+
+const d = domain.create();
+
+// When domain is disabled, no warning will be emitted
+makeCallback({ domain: d }, common.mustCall(function() {
+ assert.strictEqual(latestWarning, null);
+
+ d.run(common.mustCall(function() {
+ // No warning will be emitted when no domain property is applied
+ makeCallback({}, common.mustCall(function() {
+ assert.strictEqual(latestWarning, null);
+
+ // Warning is emitted when domain property is used and domain is enabled
+ makeCallback({ domain: d }, common.mustCall(function() {
+ assert.strictEqual(latestWarning.name, 'DeprecationWarning');
+ assert.strictEqual(latestWarning.code, 'DEP0097');
+ }));
+ }));
+ }));
+}));