Implement onDidChangeTerminalName #114898

This commit is contained in:
Habib Karim
2021-01-27 23:57:27 +00:00
parent 5aac4f4456
commit 28a74470d7
4 changed files with 53 additions and 2 deletions

View File

@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { window, Pseudoterminal, EventEmitter, TerminalDimensions, workspace, ConfigurationTarget, Disposable, UIKind, env, EnvironmentVariableMutatorType, EnvironmentVariableMutator, extensions, ExtensionContext, TerminalOptions, ExtensionTerminalOptions } from 'vscode';
import { window, Pseudoterminal, EventEmitter, TerminalDimensions, workspace, ConfigurationTarget, Disposable, UIKind, env, EnvironmentVariableMutatorType, EnvironmentVariableMutator, extensions, ExtensionContext, TerminalOptions, ExtensionTerminalOptions, commands } from 'vscode';
import { doesNotThrow, equal, ok, deepEqual, throws } from 'assert';
// Disable terminal tests:
@@ -284,6 +284,35 @@ import { doesNotThrow, equal, ok, deepEqual, throws } from 'assert';
// terminal1.show();
// });
test('onDidChangeTerminalName event fires when terminal name is changed', (done) => {
disposables.push(window.onDidOpenTerminal(term => {
try {
equal(term.name, 'foo');
} catch (e) {
done(e);
return;
}
disposables.push(window.onDidChangeTerminalName(t => {
try {
equal(t.name, 'bar');
} catch (e) {
done(e);
return;
}
disposables.push(window.onDidCloseTerminal(() => done()));
terminal.dispose();
}));
}));
const pty: Pseudoterminal = {
onDidWrite: new EventEmitter<string>().event,
open: async () => {
await commands.executeCommand('workbench.action.terminal.renameWithArg', { name: 'bar' });
},
close: () => { }
};
const terminal = window.createTerminal({ name: 'foo', pty });
});
suite('hideFromUser', () => {
test('should be available to terminals API', done => {
const terminal = window.createTerminal({ name: 'bg', hideFromUser: true });