From 10adc87a3ed72cdb6c4141f6ffc19a4d01d313db Mon Sep 17 00:00:00 2001 From: meganrogge Date: Fri, 4 Feb 2022 19:32:34 -0600 Subject: [PATCH] add api test --- src/browser/Terminal.test.ts | 15 --------------- test/api/Terminal.api.ts | 25 ++++++++++++++++++++++++- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/browser/Terminal.test.ts b/src/browser/Terminal.test.ts index 0a0fd6ba..872bfdc7 100644 --- a/src/browser/Terminal.test.ts +++ b/src/browser/Terminal.test.ts @@ -80,21 +80,6 @@ describe('Terminal', () => { term.clear(); }); }); - it.only('should fire a scroll event when scrollback is cleared', () => { - return new Promise(async r => { - const marker1 = term.addMarker(0); - const marker2 = term.addMarker(1); - await term.writeP('\n'.repeat(INIT_ROWS)); - const marker3= term.addMarker(0); - const marker4 = term.addMarker(1); - marker1?.onDispose(() => r()); - marker2?.onDispose(() => r()); - marker3?.onDispose(() => r()); - marker4?.onDispose(() => r()); - term.clear(); - assert.equal(term.markers.length, 0); - }); - }); it('should fire a key event after a keypress DOM event', (done) => { term.onKey(e => { assert.equal(typeof e.key, 'string'); diff --git a/test/api/Terminal.api.ts b/test/api/Terminal.api.ts index 2b0c00d4..b39ffd6f 100644 --- a/test/api/Terminal.api.ts +++ b/test/api/Terminal.api.ts @@ -15,7 +15,7 @@ let page: Page; const width = 800; const height = 600; -describe('API Integration Tests', function(): void { +describe.only('API Integration Tests', function(): void { before(async () => { browser = await launchBrowser(); page = await (await browser.newContext()).newPage(); @@ -559,6 +559,29 @@ describe('API Integration Tests', function(): void { assert.equal(await page.evaluate(`window.term.buffer.active.getLine(0).getCell(2).getChars()`), ''); assert.equal(await page.evaluate(`window.term.buffer.active.getLine(0).getCell(2).getWidth()`), 0); }); + + it('clearMarkers', async () => { + await openTerminal(page, { cols: 5 }); + await page.evaluate(` + window.disposeStack = []; + `); + await writeSync(page, '\\n\\n\\n\\n'); + await writeSync(page, '\\n\\n\\n\\n'); + await writeSync(page, '\\n\\n\\n\\n'); + await writeSync(page, '\\n\\n\\n\\n'); + await page.evaluate(`window.term.addMarker(1)`); + await page.evaluate(`window.term.addMarker(2)`); + await page.evaluate(`window.term.scrollLines(10)`); + await page.evaluate(`window.term.addMarker(3)`); + await page.evaluate(`window.term.addMarker(4)`); + await page.evaluate(` + for (let i = 0; i < window.term.markers.length; ++i) { + const marker = window.term.markers[i]; + marker.onDispose(() => window.disposeStack.push(marker)); + }`); + await page.evaluate(`window.term.clear()`); + assert.equal(await page.evaluate(`window.disposeStack.length`), 4); + }); }); it('active, normal, alternate', async () => {