提交 d6cbcb5e 编写于 作者: E Eric Amodio

Fixes failing terminal test

上级 21973500
......@@ -175,6 +175,7 @@ suite('window namespace tests', () => {
const reg1 = window.onDidOpenTerminal(e => openEvents.push(e.name));
let resolveOnceDataWritten: (() => void) | undefined;
let resolveOnceClosed: (() => void) | undefined;
const reg2 = window.onDidWriteTerminalData(e => {
dataEvents.push({ name: e.terminal.name, data: e.data });
......@@ -189,48 +190,61 @@ suite('window namespace tests', () => {
deepEqual(openEvents, ['test1']);
deepEqual(dataEvents, [{ name: 'test1', data: 'write1' }]);
deepEqual(closeEvents, ['test1']);
resolveOnceClosed!();
} else 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();
resolveOnceClosed!();
}
});
const term1Write = new EventEmitter<string>();
const term1Close = new EventEmitter<void>();
window.createTerminal({ name: 'test1', pty: {
onDidWrite: term1Write.event,
onDidClose: term1Close.event,
open: async () => {
term1Write.fire('write1');
window.createTerminal({
name: 'test1', pty: {
onDidWrite: term1Write.event,
onDidClose: term1Close.event,
open: async () => {
term1Write.fire('write1');
// Wait until the data is written
await new Promise(resolve => { resolveOnceDataWritten = resolve; });
term1Close.fire();
// Wait until the data is written
await new Promise(resolve => { resolveOnceDataWritten = resolve; });
const term2Write = new EventEmitter<string>();
const term2Close = new EventEmitter<void>();
window.createTerminal({ name: 'test2', pty: {
onDidWrite: term2Write.event,
onDidClose: term2Close.event,
open: async () => {
term2Write.fire('write2');
term1Close.fire();
// Wait until the data is written
await new Promise<void>(resolve => { resolveOnceDataWritten = resolve; });
// Wait until the terminal is closed
await new Promise<void>(resolve => { resolveOnceClosed = resolve; });
term2Close.fire();
},
close: () => { }
}});
},
close: () => { }
}});
const term2Write = new EventEmitter<string>();
const term2Close = new EventEmitter<void>();
window.createTerminal({
name: 'test2', pty: {
onDidWrite: term2Write.event,
onDidClose: term2Close.event,
open: async () => {
term2Write.fire('write2');
// Wait until the data is written
await new Promise<void>(resolve => { resolveOnceDataWritten = resolve; });
term2Close.fire();
// Wait until the terminal is closed
await new Promise<void>(resolve => { resolveOnceClosed = resolve; });
reg1.dispose();
reg2.dispose();
reg3.dispose();
done();
},
close: () => { }
}
});
},
close: () => { }
}
});
});
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册