readline: remove deprecated methods
This commit removes the deprecated exports getStringWidth(), stripVTControlCharacters(), and isFullWidthCodePoint(). It also removes codePointAt() in its entirety, as it was deprecated and not being used by core. Refs: https://github.com/nodejs/node/pull/3862 PR-URL: https://github.com/nodejs/node/pull/6423 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Brian White <mscdex@mscdex.net> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
This commit is contained in:
parent
628ae25795
commit
8a87b29034
@ -10,7 +10,6 @@ const kHistorySize = 30;
|
|||||||
|
|
||||||
const util = require('util');
|
const util = require('util');
|
||||||
const debug = util.debuglog('readline');
|
const debug = util.debuglog('readline');
|
||||||
const internalUtil = require('internal/util');
|
|
||||||
const inherits = util.inherits;
|
const inherits = util.inherits;
|
||||||
const Buffer = require('buffer').Buffer;
|
const Buffer = require('buffer').Buffer;
|
||||||
const EventEmitter = require('events');
|
const EventEmitter = require('events');
|
||||||
@ -1042,38 +1041,3 @@ function clearScreenDown(stream) {
|
|||||||
stream.write('\x1b[0J');
|
stream.write('\x1b[0J');
|
||||||
}
|
}
|
||||||
exports.clearScreenDown = clearScreenDown;
|
exports.clearScreenDown = clearScreenDown;
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the Unicode code point for the character at the
|
|
||||||
* given index in the given string. Similar to String.charCodeAt(),
|
|
||||||
* but this function handles surrogates (code point >= 0x10000).
|
|
||||||
*/
|
|
||||||
|
|
||||||
function codePointAt(str, index) {
|
|
||||||
var code = str.charCodeAt(index);
|
|
||||||
var low;
|
|
||||||
if (0xd800 <= code && code <= 0xdbff) { // High surrogate
|
|
||||||
low = str.charCodeAt(index + 1);
|
|
||||||
if (!isNaN(low)) {
|
|
||||||
code = 0x10000 + (code - 0xd800) * 0x400 + (low - 0xdc00);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return code;
|
|
||||||
}
|
|
||||||
exports.codePointAt = internalUtil.deprecate(codePointAt,
|
|
||||||
'readline.codePointAt is deprecated. ' +
|
|
||||||
'Use String.prototype.codePointAt instead.');
|
|
||||||
|
|
||||||
|
|
||||||
exports.getStringWidth = internalUtil.deprecate(getStringWidth,
|
|
||||||
'getStringWidth is deprecated and will be removed.');
|
|
||||||
|
|
||||||
|
|
||||||
exports.isFullWidthCodePoint = internalUtil.deprecate(isFullWidthCodePoint,
|
|
||||||
'isFullWidthCodePoint is deprecated and will be removed.');
|
|
||||||
|
|
||||||
|
|
||||||
exports.stripVTControlCharacters = internalUtil.deprecate(
|
|
||||||
stripVTControlCharacters,
|
|
||||||
'stripVTControlCharacters is deprecated and will be removed.');
|
|
||||||
|
@ -1,9 +1,11 @@
|
|||||||
|
// Flags: --expose_internals
|
||||||
'use strict';
|
'use strict';
|
||||||
require('../common');
|
require('../common');
|
||||||
var assert = require('assert');
|
const assert = require('assert');
|
||||||
var readline = require('readline');
|
const readline = require('readline');
|
||||||
var EventEmitter = require('events').EventEmitter;
|
const internalReadline = require('internal/readline');
|
||||||
var inherits = require('util').inherits;
|
const EventEmitter = require('events').EventEmitter;
|
||||||
|
const inherits = require('util').inherits;
|
||||||
|
|
||||||
function FakeInput() {
|
function FakeInput() {
|
||||||
EventEmitter.call(this);
|
EventEmitter.call(this);
|
||||||
@ -322,37 +324,31 @@ function isWarned(emitter) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// wide characters should be treated as two columns.
|
// wide characters should be treated as two columns.
|
||||||
assert.equal(readline.isFullWidthCodePoint('a'.charCodeAt(0)), false);
|
assert.equal(internalReadline.isFullWidthCodePoint('a'.charCodeAt(0)), false);
|
||||||
assert.equal(readline.isFullWidthCodePoint('あ'.charCodeAt(0)), true);
|
assert.equal(internalReadline.isFullWidthCodePoint('あ'.charCodeAt(0)), true);
|
||||||
assert.equal(readline.isFullWidthCodePoint('谢'.charCodeAt(0)), true);
|
assert.equal(internalReadline.isFullWidthCodePoint('谢'.charCodeAt(0)), true);
|
||||||
assert.equal(readline.isFullWidthCodePoint('고'.charCodeAt(0)), true);
|
assert.equal(internalReadline.isFullWidthCodePoint('고'.charCodeAt(0)), true);
|
||||||
assert.equal(readline.isFullWidthCodePoint(0x1f251), true); // surrogate
|
assert.equal(internalReadline.isFullWidthCodePoint(0x1f251), true);
|
||||||
assert.equal(readline.codePointAt('ABC', 0), 0x41);
|
assert.equal(internalReadline.getStringWidth('abcde'), 5);
|
||||||
assert.equal(readline.codePointAt('あいう', 1), 0x3044);
|
assert.equal(internalReadline.getStringWidth('古池や'), 6);
|
||||||
assert.equal(readline.codePointAt('\ud800\udc00', 0), // surrogate
|
assert.equal(internalReadline.getStringWidth('ノード.js'), 9);
|
||||||
0x10000);
|
assert.equal(internalReadline.getStringWidth('你好'), 4);
|
||||||
assert.equal(readline.codePointAt('\ud800\udc00A', 2), // surrogate
|
assert.equal(internalReadline.getStringWidth('안녕하세요'), 10);
|
||||||
0x41);
|
assert.equal(internalReadline.getStringWidth('A\ud83c\ude00BC'), 5);
|
||||||
assert.equal(readline.getStringWidth('abcde'), 5);
|
|
||||||
assert.equal(readline.getStringWidth('古池や'), 6);
|
|
||||||
assert.equal(readline.getStringWidth('ノード.js'), 9);
|
|
||||||
assert.equal(readline.getStringWidth('你好'), 4);
|
|
||||||
assert.equal(readline.getStringWidth('안녕하세요'), 10);
|
|
||||||
assert.equal(readline.getStringWidth('A\ud83c\ude00BC'), 5); // surrogate
|
|
||||||
|
|
||||||
// check if vt control chars are stripped
|
// check if vt control chars are stripped
|
||||||
assert.equal(readline
|
assert.equal(internalReadline
|
||||||
.stripVTControlCharacters('\u001b[31m> \u001b[39m'), '> ');
|
.stripVTControlCharacters('\u001b[31m> \u001b[39m'), '> ');
|
||||||
assert.equal(readline
|
assert.equal(internalReadline
|
||||||
.stripVTControlCharacters('\u001b[31m> \u001b[39m> '), '> > ');
|
.stripVTControlCharacters('\u001b[31m> \u001b[39m> '), '> > ');
|
||||||
assert.equal(readline
|
assert.equal(internalReadline
|
||||||
.stripVTControlCharacters('\u001b[31m\u001b[39m'), '');
|
.stripVTControlCharacters('\u001b[31m\u001b[39m'), '');
|
||||||
assert.equal(readline
|
assert.equal(internalReadline
|
||||||
.stripVTControlCharacters('> '), '> ');
|
.stripVTControlCharacters('> '), '> ');
|
||||||
assert.equal(readline.getStringWidth('\u001b[31m> \u001b[39m'), 2);
|
assert.equal(internalReadline.getStringWidth('\u001b[31m> \u001b[39m'), 2);
|
||||||
assert.equal(readline.getStringWidth('\u001b[31m> \u001b[39m> '), 4);
|
assert.equal(internalReadline.getStringWidth('\u001b[31m> \u001b[39m> '), 4);
|
||||||
assert.equal(readline.getStringWidth('\u001b[31m\u001b[39m'), 0);
|
assert.equal(internalReadline.getStringWidth('\u001b[31m\u001b[39m'), 0);
|
||||||
assert.equal(readline.getStringWidth('> '), 2);
|
assert.equal(internalReadline.getStringWidth('> '), 2);
|
||||||
|
|
||||||
assert.deepStrictEqual(fi.listeners(terminal ? 'keypress' : 'data'), []);
|
assert.deepStrictEqual(fi.listeners(terminal ? 'keypress' : 'data'), []);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user