From 4e303fcc52269ab578affa6cb1eb455eacab445f Mon Sep 17 00:00:00 2001 From: Megan Rogge Date: Sun, 21 Nov 2021 10:04:21 -0800 Subject: [PATCH] fix #137590 --- test/automation/src/playwrightDriver.ts | 2 +- test/automation/src/terminal.ts | 9 ++++++++- test/smoke/src/areas/terminal/terminal-tabs.test.ts | 9 +++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/test/automation/src/playwrightDriver.ts b/test/automation/src/playwrightDriver.ts index b469974df25..9fd2c83b8e7 100644 --- a/test/automation/src/playwrightDriver.ts +++ b/test/automation/src/playwrightDriver.ts @@ -72,7 +72,7 @@ class PlaywrightDriver implements IDriver { await timeout(100); } - if (keybinding.startsWith('Alt') || keybinding.startsWith('Control')) { + if (keybinding.startsWith('Alt') || keybinding.startsWith('Control') || keybinding.startsWith('Backspace')) { await this._page.keyboard.press(keybinding); return; } diff --git a/test/automation/src/terminal.ts b/test/automation/src/terminal.ts index 03ec6d53937..0108ec4d759 100644 --- a/test/automation/src/terminal.ts +++ b/test/automation/src/terminal.ts @@ -64,10 +64,13 @@ export class Terminal { } async runCommandWithValue(commandId: TerminalCommandIdWithValue, value?: string, altKey?: boolean): Promise { - const shouldKeepOpen = !!value || commandId === TerminalCommandIdWithValue.SelectDefaultProfile || commandId === TerminalCommandIdWithValue.NewWithProfile; + const shouldKeepOpen = !!value || commandId === TerminalCommandIdWithValue.SelectDefaultProfile || commandId === TerminalCommandIdWithValue.NewWithProfile || commandId === TerminalCommandIdWithValue.Rename; await this.quickaccess.runCommand(commandId, shouldKeepOpen); if (value) { await this.code.waitForSetValue(QuickInput.QUICK_INPUT_INPUT, value); + } else if (commandId === TerminalCommandIdWithValue.Rename) { + // Reset + await this.code.dispatchKeybinding('Backspace'); } await this.code.dispatchKeybinding(altKey ? 'Alt+Enter' : 'enter'); await this.quickinput.waitForQuickInputClosed(); @@ -108,6 +111,10 @@ export class Terminal { } } + async getSingleTabName(): Promise { + return await (await this.code.waitForElement(Selector.SingleTab, singleTab => !!singleTab && singleTab?.textContent.length > 1)).textContent; + } + private async assertTabExpected(selector?: string, listIndex?: number, nameRegex?: RegExp, icon?: string, color?: string): Promise { if (listIndex) { if (nameRegex) { diff --git a/test/smoke/src/areas/terminal/terminal-tabs.test.ts b/test/smoke/src/areas/terminal/terminal-tabs.test.ts index 161f077eeef..287956135a0 100644 --- a/test/smoke/src/areas/terminal/terminal-tabs.test.ts +++ b/test/smoke/src/areas/terminal/terminal-tabs.test.ts @@ -67,6 +67,15 @@ export function setup(opts: ParsedArgs) { await terminal.assertSingleTab({ name }); }); + it('should reset the tab name to the default value when no name is provided', async () => { + await terminal.runCommand(TerminalCommandId.Show); + const defaultName = await terminal.getSingleTabName(); + const name = 'my terminal name'; + await terminal.runCommandWithValue(TerminalCommandIdWithValue.Rename, name); + await terminal.runCommandWithValue(TerminalCommandIdWithValue.Rename, undefined); + await terminal.assertSingleTab({ name: defaultName }); + }); + it('should rename the tab in the tabs list', async () => { await terminal.runCommand(TerminalCommandId.Show); await terminal.runCommand(TerminalCommandId.Split);