Support reporting XTVERSION

Fixes #5342
This commit is contained in:
Daniel Imms
2025-12-26 11:06:55 -08:00
parent 79621a4e3f
commit d8a93b757a
4 changed files with 63 additions and 2 deletions
+22
View File
@@ -1582,6 +1582,28 @@ describe('InputHandler', () => {
assert.equal(bufferService.cols, 132);
});
});
describe('XTVERSION (CSI > q, CSI > 0 q)', () => {
it('should report xterm.js version', async () => {
const stack: string[] = [];
coreService.onData(data => stack.push(data));
await inputHandler.parseP('\x1b[>q');
assert.strictEqual(stack.length, 1);
assert.ok(stack[0].match(/^\x1bP>\|xterm\.js\(\d+\.\d+\.\d+(-beta\.\d+)?\)\x1b\\/));
});
it('should report xterm.js version for CSI > 0 q', async () => {
const stack: string[] = [];
coreService.onData(data => stack.push(data));
await inputHandler.parseP('\x1b[>0q');
assert.strictEqual(stack.length, 1);
assert.ok(stack[0].match(/^\x1bP>\|xterm\.js\(\d+\.\d+\.\d+(-beta\.\d+)?\)\x1b\\/));
});
it('should not report for CSI > 1 q', async () => {
const stack: string[] = [];
coreService.onData(data => stack.push(data));
await inputHandler.parseP('\x1b[>1q');
assert.strictEqual(stack.length, 0);
});
});
describe('should correctly reset cells taken by wide chars', () => {
beforeEach(async () => {
bufferService.resize(10, 5);