Skip to content

Commit

Permalink
repl: deprecate unused function convertToContext
Browse files Browse the repository at this point in the history
PR-URL: #7829
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yorkie Liu <yorkiefixer@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
princejwesley authored and jasnell committed Aug 4, 2016
1 parent 588ee22 commit 488d28d
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 2 deletions.
6 changes: 4 additions & 2 deletions lib/repl.js
Original file line number Diff line number Diff line change
Expand Up @@ -1204,7 +1204,9 @@ function regexpEscape(s) {
* @param {String} cmd The cmd to convert.
* @return {String} The converted command.
*/
REPLServer.prototype.convertToContext = function(cmd) {
// TODO(princejwesley): Remove it prior to v8.0.0 release
// Reference: https://github.com/nodejs/node/pull/7829
REPLServer.prototype.convertToContext = util.deprecate(function(cmd) {
const scopeVar = /^\s*var\s*([_\w\$]+)(.*)$/m;
const scopeFunc = /^\s*function\s*([_\w\$]+)/;
var matches;
Expand All @@ -1222,7 +1224,7 @@ REPLServer.prototype.convertToContext = function(cmd) {
}

return cmd;
};
}, 'replServer.convertToContext() is deprecated');

function bailOnIllegalToken(parser) {
return parser._literal === null &&
Expand Down
28 changes: 28 additions & 0 deletions test/parallel/test-repl-deprecated.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
'use strict';
const common = require('../common');
const assert = require('assert');
const repl = require('repl');

const expected = [
'replServer.convertToContext() is deprecated'
];

process.on('warning', common.mustCall((warning) => {
assert.strictEqual(warning.name, 'DeprecationWarning');
assert.notStrictEqual(expected.indexOf(warning.message), -1,
`unexpected error message: "${warning.message}"`);
// Remove a warning message after it is seen so that we guarantee that we get
// each message only once.
expected.splice(expected.indexOf(warning.message), 1);
}, expected.length));

// Create a dummy stream that does nothing
const stream = new common.ArrayStream();

const replServer = repl.start({
input: stream,
output: stream
});

const cmd = replServer.convertToContext('var name = "nodejs"');
assert.strictEqual(cmd, 'self.context.name = "nodejs"');

0 comments on commit 488d28d

Please sign in to comment.