mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
add trim last empty lines support for SerializeAddon
This commit is contained in:
@@ -41,7 +41,6 @@ describe('SerializeAddon', () => {
|
||||
this.timeout(20000);
|
||||
const rows = 10;
|
||||
const cols = 10;
|
||||
const lines = newArray<string>('', rows);
|
||||
|
||||
await openTerminal({ rows: rows, cols: cols, rendererType: 'dom' });
|
||||
await page.evaluate(`
|
||||
@@ -49,7 +48,35 @@ describe('SerializeAddon', () => {
|
||||
window.term.loadAddon(window.serializeAddon);
|
||||
`);
|
||||
|
||||
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.join('\r\n'));
|
||||
assert.equal(await page.evaluate(`serializeAddon.serialize();`), '');
|
||||
});
|
||||
|
||||
it('trim last empty lines', async function (): Promise<any> {
|
||||
this.timeout(20000);
|
||||
const cols = 10;
|
||||
const lines = [
|
||||
'',
|
||||
'',
|
||||
digitsString(cols),
|
||||
digitsString(cols),
|
||||
'',
|
||||
'',
|
||||
digitsString(cols),
|
||||
digitsString(cols),
|
||||
'',
|
||||
'',
|
||||
''
|
||||
];
|
||||
const rows = lines.length;
|
||||
|
||||
await openTerminal({ rows: rows, cols: cols, rendererType: 'dom' });
|
||||
await page.evaluate(`
|
||||
window.serializeAddon = new SerializeAddon();
|
||||
window.term.loadAddon(window.serializeAddon);
|
||||
window.term.write(${util.inspect(lines.join('\r\n'))});
|
||||
`);
|
||||
|
||||
assert.equal(await page.evaluate(`serializeAddon.serialize();`), lines.slice(0, 8).join('\r\n'));
|
||||
});
|
||||
|
||||
it('digits content', async function (): Promise<any> {
|
||||
|
||||
@@ -193,7 +193,15 @@ class StringSerializeHandler extends BaseSerializeHandler {
|
||||
}
|
||||
|
||||
protected _serializeFinished(): string {
|
||||
return this._allRows.join('\r\n');
|
||||
let rowEnd = this._allRows.length;
|
||||
|
||||
for (; rowEnd > 0; rowEnd--) {
|
||||
if (this._allRows[rowEnd - 1]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return this._allRows.slice(0, rowEnd).join('\r\n');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user