From bf209fb71ff4888efc5bafb7e9f010b971f07ffd Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sat, 14 Sep 2019 11:53:42 -0700 Subject: [PATCH 1/4] Add tests for IL (CSI Ps L) Part of #2117 --- test/api/InputHandler.api.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/api/InputHandler.api.ts b/test/api/InputHandler.api.ts index 9ca0c943..ae1ecda8 100644 --- a/test/api/InputHandler.api.ts +++ b/test/api/InputHandler.api.ts @@ -196,6 +196,16 @@ describe('InputHandler Integration Tests', function(): void { assert.deepEqual(await getLinesAsArray(5), [' 4', ' 5', 'abc', 'def', 'ghi']); }); + it.only('IL: Insert Ps Line(s) (default = 1) - CSI Ps L', async function(): Promise { + await page.evaluate(` + // Default + window.term.write('foo\x1b[La') + // Explicit + window.term.write('\x1b[2Lb') + `); + assert.deepEqual(await getLinesAsArray(4), ['b', '', 'a', 'foo']); + }); + describe('DSR: Device Status Report', () => { it('Status Report - CSI 5 n', async function(): Promise { await page.evaluate(` From 96f944522e1beb750f8ddd6031e860cf3c0c3d2b Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sat, 14 Sep 2019 12:05:00 -0700 Subject: [PATCH 2/4] Add tests for DL (CSI Ps M) Part of #2117 --- test/api/InputHandler.api.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/test/api/InputHandler.api.ts b/test/api/InputHandler.api.ts index ae1ecda8..60bc0e9d 100644 --- a/test/api/InputHandler.api.ts +++ b/test/api/InputHandler.api.ts @@ -196,7 +196,7 @@ describe('InputHandler Integration Tests', function(): void { assert.deepEqual(await getLinesAsArray(5), [' 4', ' 5', 'abc', 'def', 'ghi']); }); - it.only('IL: Insert Ps Line(s) (default = 1) - CSI Ps L', async function(): Promise { + it('IL: Insert Ps Line(s) (default = 1) - CSI Ps L', async function(): Promise { await page.evaluate(` // Default window.term.write('foo\x1b[La') @@ -206,6 +206,16 @@ describe('InputHandler Integration Tests', function(): void { assert.deepEqual(await getLinesAsArray(4), ['b', '', 'a', 'foo']); }); + it('DL: Delete Ps Line(s) (default = 1) - CSI Ps M', async function(): Promise { + await page.evaluate(` + // Default + window.term.write('a\\nb\x1b[1F\x1b[M') + // Explicit + window.term.write('\x1b[1Ed\\ne\\nf\x1b[2F\x1b[2M') + `); + assert.deepEqual(await getLinesAsArray(5), [' b', ' f', '', '', '']); + }); + describe('DSR: Device Status Report', () => { it('Status Report - CSI 5 n', async function(): Promise { await page.evaluate(` From 74ba282056c290a93d5cf65a62c61c159edde77c Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sat, 14 Sep 2019 12:15:16 -0700 Subject: [PATCH 3/4] Add tests for DCH (CSI Ps P) Part of #2117 --- test/api/InputHandler.api.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/api/InputHandler.api.ts b/test/api/InputHandler.api.ts index 60bc0e9d..a892967a 100644 --- a/test/api/InputHandler.api.ts +++ b/test/api/InputHandler.api.ts @@ -216,6 +216,16 @@ describe('InputHandler Integration Tests', function(): void { assert.deepEqual(await getLinesAsArray(5), [' b', ' f', '', '', '']); }); + it('DCH: Delete Ps Character(s) (default = 1) - CSI Ps P', async function(): Promise { + await page.evaluate(` + // Default + window.term.write('abc\x1b[1;1H\x1b[P') + // Explicit + window.term.write('\\n\\rdef\x1b[2;1H\x1b[2P') + `); + assert.deepEqual(await getLinesAsArray(5), ['bc', 'f', '', '', '']); + }); + describe('DSR: Device Status Report', () => { it('Status Report - CSI 5 n', async function(): Promise { await page.evaluate(` From bc7ba7bd85f7ed938d46a1164533c88ce4ffe410 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Sat, 14 Sep 2019 12:57:41 -0700 Subject: [PATCH 4/4] Simplify test --- test/api/InputHandler.api.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/api/InputHandler.api.ts b/test/api/InputHandler.api.ts index a892967a..05b16010 100644 --- a/test/api/InputHandler.api.ts +++ b/test/api/InputHandler.api.ts @@ -223,7 +223,7 @@ describe('InputHandler Integration Tests', function(): void { // Explicit window.term.write('\\n\\rdef\x1b[2;1H\x1b[2P') `); - assert.deepEqual(await getLinesAsArray(5), ['bc', 'f', '', '', '']); + assert.deepEqual(await getLinesAsArray(2), ['bc', 'f']); }); describe('DSR: Device Status Report', () => {