Path: blob/main/test/smoke/src/areas/terminal/terminal-editors.test.ts
3520 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { Application, Terminal, TerminalCommandId, TerminalCommandIdWithValue, SettingsEditor } from '../../../../automation';6import { setTerminalTestSettings } from './terminal-helpers';78export function setup(options?: { skipSuite: boolean }) {9(options?.skipSuite ? describe.skip : describe)('Terminal Editors', () => {10let app: Application;11let terminal: Terminal;12let settingsEditor: SettingsEditor;1314// Acquire automation API15before(async function () {16app = this.app as Application;17terminal = app.workbench.terminal;18settingsEditor = app.workbench.settingsEditor;19await setTerminalTestSettings(app);20});2122after(async function () {23await settingsEditor.clearUserSettings();24});2526it('should update color of the tab', async () => {27await terminal.runCommand(TerminalCommandId.CreateNewEditor);28const color = 'Cyan';29await terminal.runCommandWithValue(TerminalCommandIdWithValue.ChangeColor, color);30await terminal.assertSingleTab({ color }, true);31});3233it('should rename the tab', async () => {34await terminal.runCommand(TerminalCommandId.CreateNewEditor);35const name = 'my terminal name';36await terminal.runCommandWithValue(TerminalCommandIdWithValue.Rename, name);37await terminal.assertSingleTab({ name }, true);38});3940it('should show the panel when the terminal is moved there and close the editor', async () => {41await terminal.runCommand(TerminalCommandId.CreateNewEditor);42await terminal.runCommand(TerminalCommandId.MoveToPanel);43await terminal.assertSingleTab({});44});4546it('should open a terminal in a new group for open to the side', async () => {47await terminal.runCommand(TerminalCommandId.CreateNewEditor);48await terminal.runCommand(TerminalCommandId.SplitEditor);49await terminal.assertEditorGroupCount(2);50});5152it('should open a terminal in a new group when the split button is pressed', async () => {53await terminal.runCommand(TerminalCommandId.CreateNewEditor);54await terminal.clickSplitButton();55await terminal.assertEditorGroupCount(2);56});5758it('should create new terminals in the active editor group via command', async () => {59await terminal.runCommand(TerminalCommandId.CreateNewEditor);60await terminal.runCommand(TerminalCommandId.CreateNewEditor);61await terminal.assertEditorGroupCount(1);62});6364it('should create new terminals in the active editor group via plus button', async () => {65await terminal.runCommand(TerminalCommandId.CreateNewEditor);66await terminal.clickPlusButton();67await terminal.assertEditorGroupCount(1);68});6970it('should create a terminal in the editor area by default', async () => {71await app.workbench.settingsEditor.addUserSetting('terminal.integrated.defaultLocation', '"editor"');72// Close the settings editor73await app.workbench.quickaccess.runCommand('workbench.action.closeAllEditors');74await terminal.createTerminal('editor');75await terminal.assertEditorGroupCount(1);76await terminal.assertTerminalViewHidden();77await app.workbench.settingsEditor.clearUserSettings();78});79});80}818283