Add API tests for loadAddon

This commit is contained in:
Daniel Imms
2019-05-11 11:02:15 -07:00
parent 3554d3e075
commit 8a929ed142
2 changed files with 47 additions and 0 deletions
+1
View File
@@ -275,6 +275,7 @@ export class Terminal extends EventEmitter implements ITerminal, IDisposable, II
}
public dispose(): void {
this._addonManager.dispose();
super.dispose();
if (this._windowsMode) {
this._windowsMode.dispose();
+46
View File
@@ -111,6 +111,52 @@ describe('API Integration Tests', () => {
assert.equal(await page.evaluate(`document.activeElement.className`), '');
});
describe('loadAddon', () => {
it('constructor', async function(): Promise<any> {
this.timeout(10000);
await openTerminal({ cols: 5 });
await page.evaluate(`
window.cols = 0;
window.term.loadAddon({
activate: (t) => window.cols = t.cols,
dispose: () => {}
});
`);
assert.equal(await page.evaluate(`window.cols`), 5);
});
it('dispose (addon)', async function(): Promise<any> {
this.timeout(10000);
await openTerminal();
await page.evaluate(`
window.disposeCalled = false
window.addon = {
activate: () => {},
dispose: () => window.disposeCalled = true
};
window.term.loadAddon(window.addon);
`);
assert.equal(await page.evaluate(`window.disposeCalled`), false);
await page.evaluate(`window.addon.dispose()`);
assert.equal(await page.evaluate(`window.disposeCalled`), true);
});
it('dispose (terminal)', async function(): Promise<any> {
this.timeout(10000);
await openTerminal();
await page.evaluate(`
window.disposeCalled = false
window.term.loadAddon({
activate: () => {},
dispose: () => window.disposeCalled = true
});
`);
assert.equal(await page.evaluate(`window.disposeCalled`), false);
await page.evaluate(`window.term.dispose()`);
assert.equal(await page.evaluate(`window.disposeCalled`), true);
});
});
describe('Events', () => {
it('onCursorMove', async function(): Promise<any> {
this.timeout(10000);