Merge remote-tracking branch 'origin/master' into tyriar/69865_remove_renderers

This commit is contained in:
Daniel Imms
2019-08-06 10:02:39 -07:00
7 changed files with 200 additions and 36 deletions

View File

@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { window, Pseudoterminal, EventEmitter, TerminalDimensions, workspace, ConfigurationTarget } from 'vscode';
import { doesNotThrow, equal, ok } from 'assert';
import { doesNotThrow, equal, ok, deepEqual } from 'assert';
suite('window namespace tests', () => {
suiteSetup(async () => {
@@ -183,6 +183,51 @@ suite('window namespace tests', () => {
});
});
suite('window.onDidWriteTerminalData', () => {
test('should listen to all future terminal data events', (done) => {
const openEvents: string[] = [];
const dataEvents: { name: string, data: string }[] = [];
const closeEvents: string[] = [];
const reg1 = window.onDidOpenTerminal(e => openEvents.push(e.name));
const reg2 = window.onDidWriteTerminalData(e => dataEvents.push({ name: e.terminal.name, data: e.data }));
const reg3 = window.onDidCloseTerminal(e => {
closeEvents.push(e.name);
if (closeEvents.length === 2) {
deepEqual(openEvents, [ 'test1', 'test2' ]);
deepEqual(dataEvents, [ { name: 'test1', data: 'write1' }, { name: 'test2', data: 'write2' } ]);
deepEqual(closeEvents, [ 'test1', 'test2' ]);
reg1.dispose();
reg2.dispose();
reg3.dispose();
done();
}
});
const term1Write = new EventEmitter<string>();
const term1Close = new EventEmitter<void>();
window.createTerminal({ name: 'test1', pty: {
onDidWrite: term1Write.event,
onDidClose: term1Close.event,
open: () => {
term1Write.fire('write1');
term1Close.fire();
const term2Write = new EventEmitter<string>();
const term2Close = new EventEmitter<void>();
window.createTerminal({ name: 'test2', pty: {
onDidWrite: term2Write.event,
onDidClose: term2Close.event,
open: () => {
term2Write.fire('write2');
term2Close.fire();
},
close: () => {}
}});
},
close: () => {}
}});
});
});
suite('Extension pty terminals', () => {
test('should fire onDidOpenTerminal and onDidCloseTerminal', (done) => {
const reg1 = window.onDidOpenTerminal(term => {