summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-readline-interface.js60
1 files changed, 16 insertions, 44 deletions
diff --git a/test/parallel/test-readline-interface.js b/test/parallel/test-readline-interface.js
index 0f4345f40b..cbc7ed31f4 100644
--- a/test/parallel/test-readline-interface.js
+++ b/test/parallel/test-readline-interface.js
@@ -731,11 +731,7 @@ function isWarned(emitter) {
fi.emit('keypress', '.', { name: 'right' });
cursorPos = rli.getCursorPos();
assert.strictEqual(cursorPos.rows, 0);
- if (common.hasIntl) {
- assert.strictEqual(cursorPos.cols, 2);
- } else {
- assert.strictEqual(cursorPos.cols, 1);
- }
+ assert.strictEqual(cursorPos.cols, 2);
rli.on('line', common.mustCall((line) => {
assert.strictEqual(line, 'πŸ’»');
@@ -764,14 +760,7 @@ function isWarned(emitter) {
fi.emit('data', 'πŸ•');
cursorPos = rli.getCursorPos();
assert.strictEqual(cursorPos.rows, 0);
-
- if (common.hasIntl) {
- assert.strictEqual(cursorPos.cols, 2);
- } else {
- assert.strictEqual(cursorPos.cols, 1);
- // Fix cursor position without internationalization
- fi.emit('keypress', '.', { name: 'left' });
- }
+ assert.strictEqual(cursorPos.cols, 2);
rli.on('line', common.mustCall((line) => {
assert.strictEqual(line, 'πŸ•πŸ’»');
@@ -795,22 +784,12 @@ function isWarned(emitter) {
fi.emit('keypress', '.', { name: 'right' });
let cursorPos = rli.getCursorPos();
assert.strictEqual(cursorPos.rows, 0);
- if (common.hasIntl) {
- assert.strictEqual(cursorPos.cols, 2);
- } else {
- assert.strictEqual(cursorPos.cols, 1);
- // Fix cursor position without internationalization
- fi.emit('keypress', '.', { name: 'right' });
- }
+ assert.strictEqual(cursorPos.cols, 2);
fi.emit('data', 'πŸ•');
cursorPos = rli.getCursorPos();
assert.strictEqual(cursorPos.rows, 0);
- if (common.hasIntl) {
- assert.strictEqual(cursorPos.cols, 4);
- } else {
- assert.strictEqual(cursorPos.cols, 2);
- }
+ assert.strictEqual(cursorPos.cols, 4);
rli.on('line', common.mustCall((line) => {
assert.strictEqual(line, 'πŸ’»πŸ•');
@@ -972,11 +951,7 @@ function isWarned(emitter) {
fi.emit('data', 'πŸ’»');
let cursorPos = rli.getCursorPos();
assert.strictEqual(cursorPos.rows, 0);
- if (common.hasIntl) {
- assert.strictEqual(cursorPos.cols, 2);
- } else {
- assert.strictEqual(cursorPos.cols, 1);
- }
+ assert.strictEqual(cursorPos.cols, 2);
// Delete left character
fi.emit('keypress', '.', { ctrl: true, name: 'h' });
cursorPos = rli.getCursorPos();
@@ -1159,27 +1134,24 @@ function isWarned(emitter) {
}
}
- // isFullWidthCodePoint() should return false for non-numeric values
- [true, false, null, undefined, {}, [], 'あ'].forEach((v) => {
- assert.strictEqual(internalReadline.isFullWidthCodePoint('あ'), false);
- });
-
// Wide characters should be treated as two columns.
- assert.strictEqual(internalReadline.isFullWidthCodePoint('a'.charCodeAt(0)),
- false);
- assert.strictEqual(internalReadline.isFullWidthCodePoint('あ'.charCodeAt(0)),
- true);
- assert.strictEqual(internalReadline.isFullWidthCodePoint('θ°’'.charCodeAt(0)),
- true);
- assert.strictEqual(internalReadline.isFullWidthCodePoint('κ³ '.charCodeAt(0)),
- true);
- assert.strictEqual(internalReadline.isFullWidthCodePoint(0x1f251), true);
+ assert.strictEqual(internalReadline.getStringWidth('a'), 1);
+ assert.strictEqual(internalReadline.getStringWidth('あ'), 2);
+ assert.strictEqual(internalReadline.getStringWidth('θ°’'), 2);
+ assert.strictEqual(internalReadline.getStringWidth('κ³ '), 2);
+ assert.strictEqual(
+ internalReadline.getStringWidth(String.fromCodePoint(0x1f251)), 2);
assert.strictEqual(internalReadline.getStringWidth('abcde'), 5);
assert.strictEqual(internalReadline.getStringWidth('叀池や'), 6);
assert.strictEqual(internalReadline.getStringWidth('γƒŽγƒΌγƒ‰.js'), 9);
assert.strictEqual(internalReadline.getStringWidth('δ½ ε₯½'), 4);
assert.strictEqual(internalReadline.getStringWidth('μ•ˆλ…•ν•˜μ„Έμš”'), 10);
assert.strictEqual(internalReadline.getStringWidth('A\ud83c\ude00BC'), 5);
+ assert.strictEqual(internalReadline.getStringWidth('πŸ‘¨β€πŸ‘©β€πŸ‘¦β€πŸ‘¦'), 8);
+ assert.strictEqual(internalReadline.getStringWidth('πŸ•π·γ‚πŸ’»πŸ˜€'), 9);
+ // TODO(BridgeAR): This should have a width of 4.
+ assert.strictEqual(internalReadline.getStringWidth('⓬β“ͺ'), 2);
+ assert.strictEqual(internalReadline.getStringWidth('\u0301\u200D\u200E'), 0);
// Check if vt control chars are stripped
assert.strictEqual(