Fix tests

This commit is contained in:
Daniel Imms
2022-02-03 14:14:40 -08:00
parent 002d9cf462
commit 4f52aa04bb
@@ -6,7 +6,7 @@
import { deepStrictEqual, strictEqual } from 'assert';
import { isWindows } from 'vs/base/common/platform';
import { TerminalLabelComputer, parseExitResult } from 'vs/workbench/contrib/terminal/browser/terminalInstance';
import { IWorkspaceContextService, toWorkspaceFolder } from 'vs/platform/workspace/common/workspace';
import { IWorkspaceContextService, IWorkspaceFolder, toWorkspaceFolder } from 'vs/platform/workspace/common/workspace';
import { Workspace } from 'vs/platform/workspace/test/common/testWorkspace';
import { TestInstantiationService } from 'vs/platform/instantiation/test/common/instantiationServiceMock';
import { TestContextService } from 'vs/workbench/test/common/workbenchTestServices';
@@ -16,8 +16,10 @@ import { TerminalConfigHelper } from 'vs/workbench/contrib/terminal/browser/term
import { ITerminalInstance } from 'vs/workbench/contrib/terminal/browser/terminal';
import { ProcessState } from 'vs/workbench/contrib/terminal/common/terminal';
import { basename } from 'vs/base/common/path';
import { URI } from 'vs/base/common/uri';
import { TerminalCapabilityStore } from 'vs/workbench/contrib/terminal/common/capabilities/terminalCapabilityStore';
import { TerminalCapability } from 'vs/workbench/contrib/terminal/common/capabilities/capabilities';
import { Schemas } from 'vs/base/common/network';
function createInstance(partial?: Partial<ITerminalInstance>): Pick<ITerminalInstance, 'shellLaunchConfig' | 'userHome' | 'cwd' | 'initialCwd' | 'processName' | 'sequence' | 'workspaceFolder' | 'staticTitle' | 'capabilities' | 'title' | 'description'> {
const capabilities = new TerminalCapabilityStore();
@@ -225,7 +227,7 @@ suite('Workbench - TerminalInstance', () => {
test('should resolve workspaceFolder', () => {
configurationService = new TestConfigurationService({ terminal: { integrated: { tabs: { separator: ' - ', title: '${workspaceFolder}', description: '${workspaceFolder}' } } } });
configHelper = new TerminalConfigHelper(configurationService, null!, null!, null!, null!, null!);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'zsh', workspaceFolder: 'folder' }), mockContextService);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'zsh', workspaceFolder: { uri: URI.from({ scheme: Schemas.file, path: 'folder' }) } as IWorkspaceFolder }), mockContextService);
terminalLabelComputer.refreshLabel();
strictEqual(terminalLabelComputer.title, 'folder');
strictEqual(terminalLabelComputer.description, 'folder');
@@ -273,7 +275,7 @@ suite('Workbench - TerminalInstance', () => {
test('should always return static title when specified', () => {
configurationService = new TestConfigurationService({ terminal: { integrated: { tabs: { separator: ' ~ ', title: '${process}', description: '${workspaceFolder}' } } } });
configHelper = new TerminalConfigHelper(configurationService, null!, null!, null!, null!, null!);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: 'folder', staticTitle: 'my-title' }), mockContextService);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: { uri: URI.from({ scheme: Schemas.file, path: 'folder' }) } as IWorkspaceFolder, staticTitle: 'my-title' }), mockContextService);
terminalLabelComputer.refreshLabel();
strictEqual(terminalLabelComputer.title, 'my-title');
strictEqual(terminalLabelComputer.description, 'folder');
@@ -281,7 +283,7 @@ suite('Workbench - TerminalInstance', () => {
test('should provide cwdFolder for all cwds only when in multi-root', () => {
configurationService = new TestConfigurationService({ terminal: { integrated: { tabs: { separator: ' ~ ', title: '${process}${separator}${cwdFolder}', description: '${cwdFolder}' } }, cwd: ROOT_1 } });
configHelper = new TerminalConfigHelper(configurationService, null!, null!, null!, null!, null!);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: 'folder', cwd: ROOT_1 }), mockContextService);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: { uri: URI.from({ scheme: Schemas.file, path: 'folder' }) } as IWorkspaceFolder, cwd: ROOT_1 }), mockContextService);
terminalLabelComputer.refreshLabel();
// single-root, cwd is same as root
strictEqual(terminalLabelComputer.title, 'process');
@@ -289,7 +291,7 @@ suite('Workbench - TerminalInstance', () => {
// multi-root
configurationService = new TestConfigurationService({ terminal: { integrated: { tabs: { separator: ' ~ ', title: '${process}${separator}${cwdFolder}', description: '${cwdFolder}' } }, cwd: ROOT_1 } });
configHelper = new TerminalConfigHelper(configurationService, null!, null!, null!, null!, null!);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: 'folder', cwd: ROOT_2 }), mockMultiRootContextService);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: { uri: URI.from({ scheme: Schemas.file, path: 'folder' }) } as IWorkspaceFolder, cwd: ROOT_2 }), mockMultiRootContextService);
terminalLabelComputer.refreshLabel();
if (isWindows) {
strictEqual(terminalLabelComputer.title, 'process');
@@ -302,12 +304,12 @@ suite('Workbench - TerminalInstance', () => {
test('should hide cwdFolder in single folder workspaces when cwd matches the workspace\'s default cwd even when slashes differ', async () => {
configurationService = new TestConfigurationService({ terminal: { integrated: { tabs: { separator: ' ~ ', title: '${process}${separator}${cwdFolder}', description: '${cwdFolder}' } }, cwd: '\\foo\\root1' } });
configHelper = new TerminalConfigHelper(configurationService, null!, null!, null!, null!, null!);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: 'folder', cwd: ROOT_1 }), mockContextService);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: { uri: URI.from({ scheme: Schemas.file, path: 'folder' }) } as IWorkspaceFolder, cwd: ROOT_1 }), mockContextService);
terminalLabelComputer.refreshLabel();
strictEqual(terminalLabelComputer.title, 'process');
strictEqual(terminalLabelComputer.description, '');
if (!isWindows) {
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: 'folder', cwd: ROOT_2 }), mockContextService);
terminalLabelComputer = new TerminalLabelComputer(configHelper, createInstance({ capabilities, processName: 'process', workspaceFolder: { uri: URI.from({ scheme: Schemas.file, path: 'folder' }) } as IWorkspaceFolder, cwd: ROOT_2 }), mockContextService);
terminalLabelComputer.refreshLabel();
strictEqual(terminalLabelComputer.title, 'process ~ root2');
strictEqual(terminalLabelComputer.description, 'root2');