wide char tests

This commit is contained in:
Jörg Breitbart
2020-02-17 12:39:36 +01:00
parent 7de600cc64
commit 62ea2c691e
+23
View File
@@ -1507,6 +1507,29 @@ describe('InputHandler', () => {
assert.equal(term.buffer.x, 0);
assert.equal(term.buffer.y, 1);
});
it('handles wide chars correctly', () => {
term.writeSync('\x1b[?45h');
term.writeSync('¥¥¥');
assert.deepEqual(getLines(term, 2), ['¥¥', '¥']);
term.writeSync(ttyBS);
assert.deepEqual(getLines(term, 2), ['¥¥', ' ']);
assert.equal(term.buffer.x, 1);
term.writeSync(ttyBS);
assert.deepEqual(getLines(term, 2), ['¥¥', ' ']);
assert.equal(term.buffer.x, 0);
term.writeSync(ttyBS);
assert.deepEqual(getLines(term, 2), ['¥ ', ' ']);
assert.equal(term.buffer.x, 3); // x=4 skipped due to early wrap-around
term.writeSync(ttyBS);
assert.deepEqual(getLines(term, 2), ['¥ ', ' ']);
assert.equal(term.buffer.x, 2);
term.writeSync(ttyBS);
assert.deepEqual(getLines(term, 2), [' ', ' ']);
assert.equal(term.buffer.x, 1);
term.writeSync(ttyBS);
assert.deepEqual(getLines(term, 2), [' ', ' ']);
assert.equal(term.buffer.x, 0);
});
});
});
});