summaryrefslogtreecommitdiff
path: root/test/sequential/test-deprecation-flags.js
diff options
context:
space:
mode:
authorvladimir <vlad2t@hotmail.com>2016-07-12 23:09:12 +0200
committercjihrig <cjihrig@gmail.com>2016-08-04 11:44:40 -0400
commit320f433dcdb411da22d8ee9427bbdf5b071faca2 (patch)
tree859f5a07381e755da9b986452f087048e4943ebe /test/sequential/test-deprecation-flags.js
parente1643ccc5a5ecf7cb779472d244459469c9971a1 (diff)
downloadandroid-node-v8-320f433dcdb411da22d8ee9427bbdf5b071faca2.tar.gz
android-node-v8-320f433dcdb411da22d8ee9427bbdf5b071faca2.tar.bz2
android-node-v8-320f433dcdb411da22d8ee9427bbdf5b071faca2.zip
util: support classes in util.deprecate()
Classes cannot be instantiated without new, but util.deprecate() uses Function.prototype.apply(). This commit uses new.target to detect constructor calls, allowing classes to be deprecated. PR-URL: https://github.com/nodejs/node/pull/7690 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michaƫl Zasso <mic.besace@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/sequential/test-deprecation-flags.js')
-rw-r--r--test/sequential/test-deprecation-flags.js24
1 files changed, 21 insertions, 3 deletions
diff --git a/test/sequential/test-deprecation-flags.js b/test/sequential/test-deprecation-flags.js
index bbb5ecb700..e9f5ee673d 100644
--- a/test/sequential/test-deprecation-flags.js
+++ b/test/sequential/test-deprecation-flags.js
@@ -5,8 +5,14 @@ const execFile = require('child_process').execFile;
const depmod = require.resolve(common.fixturesDir + '/deprecated.js');
const node = process.execPath;
-const depUserland =
- require.resolve(common.fixturesDir + '/deprecated-userland-function.js');
+const depUserlandFunction =
+ require.resolve(common.fixturesDir + '/deprecated-userland-function.js');
+
+const depUserlandClass =
+ require.resolve(common.fixturesDir + '/deprecated-userland-class.js');
+
+const depUserlandSubClass =
+ require.resolve(common.fixturesDir + '/deprecated-userland-subclass.js');
const normal = [depmod];
const noDep = ['--no-deprecation', depmod];
@@ -39,10 +45,22 @@ execFile(node, traceDep, function(er, stdout, stderr) {
console.log('trace ok');
});
-execFile(node, [depUserland], function(er, stdout, stderr) {
+execFile(node, [depUserlandFunction], function(er, stdout, stderr) {
console.error('normal: testing deprecated userland function');
assert.equal(er, null);
assert.equal(stdout, '');
assert(/deprecatedFunction is deprecated/.test(stderr));
console.error('normal: ok');
});
+
+execFile(node, [depUserlandClass], function(er, stdout, stderr) {
+ assert.strictEqual(er, null);
+ assert.strictEqual(stdout, '');
+ assert(/deprecatedClass is deprecated/.test(stderr));
+});
+
+execFile(node, [depUserlandSubClass], function(er, stdout, stderr) {
+ assert.strictEqual(er, null);
+ assert.strictEqual(stdout, '');
+ assert(/deprecatedClass is deprecated/.test(stderr));
+});