Add test, finish piping through interaction event

Part of #127717
This commit is contained in:
Daniel Imms
2021-08-12 15:32:41 -07:00
parent a6ca2cf978
commit 241a07d412
8 changed files with 36 additions and 5 deletions

View File

@@ -4,7 +4,8 @@
*--------------------------------------------------------------------------------------------*/
import { deepEqual, doesNotThrow, equal, strictEqual, throws } from 'assert';
import { ConfigurationTarget, Disposable, env, EnvironmentVariableMutator, EnvironmentVariableMutatorType, EventEmitter, ExtensionContext, extensions, ExtensionTerminalOptions, Pseudoterminal, Terminal, TerminalDimensions, TerminalOptions, UIKind, window, workspace } from 'vscode';
import { deepStrictEqual } from 'node:assert';
import { ConfigurationTarget, Disposable, env, EnvironmentVariableMutator, EnvironmentVariableMutatorType, EventEmitter, ExtensionContext, extensions, ExtensionTerminalOptions, Pseudoterminal, Terminal, TerminalDimensions, TerminalOptions, TerminalState, UIKind, window, workspace } from 'vscode';
import { assertNoRpc } from '../utils';
// Disable terminal tests:
@@ -228,6 +229,21 @@ import { assertNoRpc } from '../utils';
});
});
test('onDidChangeTerminalState should fire after writing to a terminal', async () => {
const terminal = window.createTerminal();
deepStrictEqual(terminal.state, { interactedWith: false });
const eventState = await new Promise<TerminalState>(r => {
window.onDidChangeTerminalState(e => {
if (e.terminal === terminal) {
r(e.state);
}
});
terminal.sendText('test');
});
deepStrictEqual(eventState, { interactedWith: true });
deepStrictEqual(terminal.state, { interactedWith: true });
});
// test('onDidChangeActiveTerminal should fire when new terminals are created', (done) => {
// const reg1 = window.onDidChangeActiveTerminal((active: Terminal | undefined) => {
// equal(active, terminal);