diff options
author | vladimir <vlad2t@hotmail.com> | 2016-07-12 23:09:12 +0200 |
---|---|---|
committer | cjihrig <cjihrig@gmail.com> | 2016-08-04 11:44:40 -0400 |
commit | 320f433dcdb411da22d8ee9427bbdf5b071faca2 (patch) | |
tree | 859f5a07381e755da9b986452f087048e4943ebe /test/sequential/test-deprecation-flags.js | |
parent | e1643ccc5a5ecf7cb779472d244459469c9971a1 (diff) | |
download | android-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.js | 24 |
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)); +}); |