mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-03-30 08:40:29 -04:00
Merge from vscode 64980ea1f3f532c82bb6c28d27bba9ef2c5b4463 (#7206)
* Merge from vscode 64980ea1f3f532c82bb6c28d27bba9ef2c5b4463 * fix config changes * fix strictnull checks
This commit is contained in:
@@ -301,7 +301,7 @@ export class ExtensionEditor extends BaseEditor {
|
||||
return disposables;
|
||||
}
|
||||
|
||||
async setInput(input: ExtensionsInput, options: EditorOptions, token: CancellationToken): Promise<void> {
|
||||
async setInput(input: ExtensionsInput, options: EditorOptions | undefined, token: CancellationToken): Promise<void> {
|
||||
if (this.template) {
|
||||
await this.updateTemplate(input, this.template);
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ function caseInsensitiveGet<T>(obj: { [key: string]: T }, key: string): T | unde
|
||||
|
||||
export class ExtensionTipsService extends Disposable implements IExtensionTipsService {
|
||||
|
||||
_serviceBrand: any;
|
||||
_serviceBrand: undefined;
|
||||
|
||||
private _fileBasedRecommendations: { [id: string]: { recommendedTime: number, sources: ExtensionRecommendationSource[] }; } = Object.create(null);
|
||||
private _recommendations: string[] = []; // {{SQL CARBON EDIT}}
|
||||
@@ -651,16 +651,18 @@ export class ExtensionTipsService extends Disposable implements IExtensionTipsSe
|
||||
}
|
||||
});
|
||||
|
||||
forEach(this.productService.extensionImportantTips, entry => {
|
||||
let { key: id, value } = entry;
|
||||
const { pattern } = value;
|
||||
let ids = this._availableRecommendations[pattern];
|
||||
if (!ids) {
|
||||
this._availableRecommendations[pattern] = [id.toLowerCase()];
|
||||
} else {
|
||||
ids.push(id.toLowerCase());
|
||||
}
|
||||
});
|
||||
if (this.productService.extensionImportantTips) {
|
||||
forEach(this.productService.extensionImportantTips, entry => {
|
||||
let { key: id, value } = entry;
|
||||
const { pattern } = value;
|
||||
let ids = this._availableRecommendations[pattern];
|
||||
if (!ids) {
|
||||
this._availableRecommendations[pattern] = [id.toLowerCase()];
|
||||
} else {
|
||||
ids.push(id.toLowerCase());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
const allRecommendations: string[] = flatten((Object.keys(this._availableRecommendations).map(key => this._availableRecommendations[key])));
|
||||
|
||||
@@ -713,7 +715,7 @@ export class ExtensionTipsService extends Disposable implements IExtensionTipsSe
|
||||
let { key: pattern, value: ids } = entry;
|
||||
if (match(pattern, model.uri.toString())) {
|
||||
for (let id of ids) {
|
||||
if (caseInsensitiveGet(this.productService.extensionImportantTips, id)) {
|
||||
if (this.productService.extensionImportantTips && caseInsensitiveGet(this.productService.extensionImportantTips, id)) {
|
||||
recommendationsToSuggest.push(id);
|
||||
}
|
||||
const filedBasedRecommendation = this._fileBasedRecommendations[id.toLowerCase()] || { recommendedTime: now, sources: [] };
|
||||
@@ -767,7 +769,7 @@ export class ExtensionTipsService extends Disposable implements IExtensionTipsSe
|
||||
}
|
||||
|
||||
const id = recommendationsToSuggest[0];
|
||||
const entry = caseInsensitiveGet(this.productService.extensionImportantTips, id);
|
||||
const entry = this.productService.extensionImportantTips ? caseInsensitiveGet(this.productService.extensionImportantTips, id) : undefined;
|
||||
if (!entry) {
|
||||
return false;
|
||||
}
|
||||
@@ -996,7 +998,7 @@ export class ExtensionTipsService extends Disposable implements IExtensionTipsSe
|
||||
* If user has any of the tools listed in this.productService.exeBasedExtensionTips, fetch corresponding recommendations
|
||||
*/
|
||||
private async fetchExecutableRecommendations(important: boolean): Promise<void> {
|
||||
if (isWeb) {
|
||||
if (isWeb || !this.productService.exeBasedExtensionTips) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1629,7 +1629,7 @@ export class ShowRecommendedExtensionsAction extends Action {
|
||||
return this.viewletService.openViewlet(VIEWLET_ID, true)
|
||||
.then(viewlet => viewlet as IExtensionsViewlet)
|
||||
.then(viewlet => {
|
||||
viewlet.search('@recommended ');
|
||||
viewlet.search('@recommended ', true);
|
||||
viewlet.focus();
|
||||
});
|
||||
}
|
||||
@@ -3121,7 +3121,7 @@ export class InstallLocalExtensionsInRemoteAction extends Action {
|
||||
|
||||
get label(): string {
|
||||
if (this.extensionManagementServerService.remoteExtensionManagementServer) {
|
||||
return localize('select and install local extensions', "Install Local Extensions in {0}...", this.extensionManagementServerService.remoteExtensionManagementServer.label);
|
||||
return localize('select and install local extensions', "Install Local Extensions in '{0}'...", this.extensionManagementServerService.remoteExtensionManagementServer.label);
|
||||
}
|
||||
return '';
|
||||
}
|
||||
@@ -3166,7 +3166,7 @@ export class InstallLocalExtensionsInRemoteAction extends Action {
|
||||
const localExtensionsToInstall = await this.queryExtensionsToInstall();
|
||||
quickPick.busy = false;
|
||||
if (localExtensionsToInstall.length) {
|
||||
quickPick.title = localize('install local extensions title', "Install Local Extensions in {0}", this.extensionManagementServerService.remoteExtensionManagementServer!.label);
|
||||
quickPick.title = localize('install local extensions title', "Install Local Extensions in '{0}'", this.extensionManagementServerService.remoteExtensionManagementServer!.label);
|
||||
quickPick.placeholder = localize('select extensions to install', "Select extensions to install");
|
||||
quickPick.canSelectMany = true;
|
||||
localExtensionsToInstall.sort((e1, e2) => e1.displayName.localeCompare(e2.displayName));
|
||||
|
||||
@@ -198,6 +198,7 @@ export class ExtensionsTree extends WorkbenchAsyncDataTree<IExtensionData, IExte
|
||||
};
|
||||
|
||||
super(
|
||||
'ExtensionsTree',
|
||||
container,
|
||||
delegate,
|
||||
renderers,
|
||||
|
||||
@@ -59,11 +59,6 @@ import { RemoteNameContext } from 'vs/workbench/browser/contextkeys';
|
||||
import { ILabelService } from 'vs/platform/label/common/label';
|
||||
import { MementoObject } from 'vs/workbench/common/memento';
|
||||
|
||||
interface SearchInputEvent extends Event {
|
||||
target: HTMLInputElement;
|
||||
immediate?: boolean;
|
||||
}
|
||||
|
||||
const NonEmptyWorkspaceContext = new RawContextKey<boolean>('nonEmptyWorkspace', false);
|
||||
const DefaultViewsContext = new RawContextKey<boolean>('defaultExtensionViews', true);
|
||||
const SearchMarketplaceExtensionsContext = new RawContextKey<boolean>('searchMarketplaceExtensions', false);
|
||||
@@ -494,12 +489,13 @@ export class ExtensionsViewlet extends ViewContainerViewlet implements IExtensio
|
||||
return this.secondaryActions;
|
||||
}
|
||||
|
||||
search(value: string): void {
|
||||
search(value: string, refresh: boolean = false): void {
|
||||
if (this.searchBox) {
|
||||
const event = new Event('input', { bubbles: true }) as SearchInputEvent;
|
||||
event.immediate = true;
|
||||
|
||||
this.searchBox.setValue(value);
|
||||
if (this.searchBox.getValue() !== value) {
|
||||
this.searchBox.setValue(value);
|
||||
} else if (refresh) {
|
||||
this.doSearch();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -125,12 +125,12 @@ export class ExtensionsListView extends ViewletPanel {
|
||||
const delegate = new Delegate();
|
||||
const extensionsViewState = new ExtensionsViewState();
|
||||
const renderer = this.instantiationService.createInstance(Renderer, extensionsViewState);
|
||||
this.list = this.instantiationService.createInstance(WorkbenchPagedList, extensionsList, delegate, [renderer], {
|
||||
this.list = this.instantiationService.createInstance(WorkbenchPagedList, 'Extensions', extensionsList, delegate, [renderer], {
|
||||
ariaLabel: localize('extensions', "Extensions"),
|
||||
multipleSelectionSupport: false,
|
||||
setRowLineHeight: false,
|
||||
horizontalScrolling: false
|
||||
}) as WorkbenchPagedList<IExtension>;
|
||||
});
|
||||
this._register(this.list.onContextMenu(e => this.onContextMenu(e), this));
|
||||
this._register(this.list.onFocusChange(e => extensionsViewState.onFocusChange(coalesce(e.elements)), this));
|
||||
this._register(this.list);
|
||||
|
||||
@@ -170,8 +170,8 @@ export class TooltipWidget extends ExtensionWidget {
|
||||
if (!this.extension) {
|
||||
return '';
|
||||
}
|
||||
if (this.tooltipAction.tooltip) {
|
||||
return this.tooltipAction.tooltip;
|
||||
if (this.tooltipAction.label) {
|
||||
return this.tooltipAction.label;
|
||||
}
|
||||
return this.recommendationWidget.tooltip;
|
||||
}
|
||||
|
||||
@@ -489,7 +489,7 @@ class Extensions extends Disposable {
|
||||
export class ExtensionsWorkbenchService extends Disposable implements IExtensionsWorkbenchService, IURLHandler {
|
||||
|
||||
private static readonly SyncPeriod = 1000 * 60 * 60 * 12; // 12 hours
|
||||
_serviceBrand: any;
|
||||
_serviceBrand: undefined;
|
||||
|
||||
private readonly localExtensions: Extensions | null = null;
|
||||
private readonly remoteExtensions: Extensions | null = null;
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M7.065 13H15v2H2.056v-2h5.009zm3.661-12H7.385L8.44 2.061 7.505 3H15V1h-4.274zM3.237 9H2.056v2H15V9H3.237zm4.208-4l.995 1-.995 1H15V5H7.445z" fill="#C5C5C5"/><path d="M5.072 4.03L7.032 6 5.978 7.061l-1.96-1.97-1.961 1.97L1 6l1.96-1.97L1 2.061 2.056 1l1.96 1.97L5.977 1l1.057 1.061L5.072 4.03z" fill="#F48771"/></svg>
|
||||
|
Before Width: | Height: | Size: 419 B |
@@ -23,7 +23,7 @@ export const VIEW_CONTAINER: ViewContainer = Registry.as<IViewContainersRegistry
|
||||
export const EXTENSIONS_CONFIG = '.azuredatastudio/extensions.json';
|
||||
|
||||
export interface IExtensionsViewlet extends IViewlet {
|
||||
search(text: string): void;
|
||||
search(text: string, refresh?: boolean): void;
|
||||
}
|
||||
|
||||
export const enum ExtensionState {
|
||||
@@ -76,7 +76,7 @@ export const SERVICE_ID = 'extensionsWorkbenchService';
|
||||
export const IExtensionsWorkbenchService = createDecorator<IExtensionsWorkbenchService>(SERVICE_ID);
|
||||
|
||||
export interface IExtensionsWorkbenchService {
|
||||
_serviceBrand: any;
|
||||
_serviceBrand: undefined;
|
||||
onChange: Event<IExtension | undefined>;
|
||||
local: IExtension[];
|
||||
installed: IExtension[];
|
||||
|
||||
@@ -11,6 +11,7 @@ export const ExtensionsConfigurationSchemaId = 'vscode://schemas/extensions';
|
||||
export const ExtensionsConfigurationSchema: IJSONSchema = {
|
||||
id: ExtensionsConfigurationSchemaId,
|
||||
allowComments: true,
|
||||
allowsTrailingCommas: true,
|
||||
type: 'object',
|
||||
title: localize('app.extensions.json.title', "Extensions"),
|
||||
additionalProperties: false,
|
||||
@@ -50,4 +51,4 @@ export const ExtensionsConfigurationInitialContent: string = [
|
||||
'\t\t',
|
||||
'\t]',
|
||||
'}'
|
||||
].join('\n');
|
||||
].join('\n');
|
||||
|
||||
@@ -23,7 +23,7 @@ import { CommandsRegistry } from 'vs/platform/commands/common/commands';
|
||||
|
||||
export class ExtensionHostProfileService extends Disposable implements IExtensionHostProfileService {
|
||||
|
||||
_serviceBrand: any;
|
||||
_serviceBrand: undefined;
|
||||
|
||||
private readonly _onDidChangeState: Emitter<void> = this._register(new Emitter<void>());
|
||||
public readonly onDidChangeState: Event<void> = this._onDidChangeState.event;
|
||||
|
||||
@@ -21,6 +21,7 @@ import { RuntimeExtensionsInput } from 'vs/workbench/contrib/extensions/electron
|
||||
import { URI } from 'vs/base/common/uri';
|
||||
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { ExtensionsAutoProfiler } from 'vs/workbench/contrib/extensions/electron-browser/extensionsAutoProfiler';
|
||||
import { registerAndGetAmdImageURL } from 'vs/base/common/amd';
|
||||
|
||||
// Singletons
|
||||
registerSingleton(IExtensionHostProfileService, ExtensionHostProfileService, true);
|
||||
@@ -85,8 +86,8 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
|
||||
id: DebugExtensionHostAction.ID,
|
||||
title: DebugExtensionHostAction.LABEL,
|
||||
iconLocation: {
|
||||
dark: URI.parse(require.toUrl(`vs/workbench/contrib/extensions/browser/media/start-dark.svg`)),
|
||||
light: URI.parse(require.toUrl(`vs/workbench/contrib/extensions/browser/media/start-light.svg`)),
|
||||
dark: URI.parse(registerAndGetAmdImageURL(`vs/workbench/contrib/extensions/browser/media/start-dark.svg`)),
|
||||
light: URI.parse(registerAndGetAmdImageURL(`vs/workbench/contrib/extensions/browser/media/start-light.svg`)),
|
||||
}
|
||||
},
|
||||
group: 'navigation',
|
||||
@@ -98,8 +99,8 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
|
||||
id: StartExtensionHostProfileAction.ID,
|
||||
title: StartExtensionHostProfileAction.LABEL,
|
||||
iconLocation: {
|
||||
dark: URI.parse(require.toUrl(`vs/workbench/contrib/extensions/browser/media/profile-start-dark.svg`)),
|
||||
light: URI.parse(require.toUrl(`vs/workbench/contrib/extensions/browser/media/profile-start-light.svg`)),
|
||||
dark: URI.parse(registerAndGetAmdImageURL(`vs/workbench/contrib/extensions/browser/media/profile-start-dark.svg`)),
|
||||
light: URI.parse(registerAndGetAmdImageURL(`vs/workbench/contrib/extensions/browser/media/profile-start-light.svg`)),
|
||||
}
|
||||
},
|
||||
group: 'navigation',
|
||||
@@ -111,8 +112,8 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
|
||||
id: StopExtensionHostProfileAction.ID,
|
||||
title: StopExtensionHostProfileAction.LABEL,
|
||||
iconLocation: {
|
||||
dark: URI.parse(require.toUrl(`vs/workbench/contrib/extensions/browser/media/profile-stop-dark.svg`)),
|
||||
light: URI.parse(require.toUrl(`vs/workbench/contrib/extensions/browser/media/profile-stop-light.svg`)),
|
||||
dark: URI.parse(registerAndGetAmdImageURL(`vs/workbench/contrib/extensions/browser/media/profile-stop-dark.svg`)),
|
||||
light: URI.parse(registerAndGetAmdImageURL(`vs/workbench/contrib/extensions/browser/media/profile-stop-light.svg`)),
|
||||
}
|
||||
},
|
||||
group: 'navigation',
|
||||
@@ -124,8 +125,8 @@ MenuRegistry.appendMenuItem(MenuId.EditorTitle, {
|
||||
id: SaveExtensionHostProfileAction.ID,
|
||||
title: SaveExtensionHostProfileAction.LABEL,
|
||||
iconLocation: {
|
||||
dark: URI.parse(require.toUrl(`vs/workbench/contrib/extensions/browser/media/save-dark.svg`)),
|
||||
light: URI.parse(require.toUrl(`vs/workbench/contrib/extensions/browser/media/save-light.svg`)),
|
||||
dark: URI.parse(registerAndGetAmdImageURL(`vs/workbench/contrib/extensions/browser/media/save-dark.svg`)),
|
||||
light: URI.parse(registerAndGetAmdImageURL(`vs/workbench/contrib/extensions/browser/media/save-light.svg`)),
|
||||
},
|
||||
precondition: CONTEXT_EXTENSION_HOST_PROFILE_RECORDED
|
||||
},
|
||||
|
||||
@@ -59,7 +59,7 @@ export enum ProfileSessionState {
|
||||
}
|
||||
|
||||
export interface IExtensionHostProfileService {
|
||||
_serviceBrand: any;
|
||||
_serviceBrand: undefined;
|
||||
|
||||
readonly onDidChangeState: Event<void>;
|
||||
readonly onDidChangeLastProfile: Event<void>;
|
||||
@@ -404,7 +404,9 @@ export class RuntimeExtensionsEditor extends BaseEditor {
|
||||
}
|
||||
};
|
||||
|
||||
this._list = this._instantiationService.createInstance(WorkbenchList, parent, delegate, [renderer], {
|
||||
this._list = this._instantiationService.createInstance(WorkbenchList,
|
||||
'RuntimeExtensions',
|
||||
parent, delegate, [renderer], {
|
||||
multipleSelectionSupport: false,
|
||||
setRowLineHeight: false,
|
||||
horizontalScrolling: false
|
||||
@@ -502,13 +504,11 @@ export class ReportExtensionIssueAction extends Action {
|
||||
status?: IExtensionsStatus;
|
||||
unresponsiveProfile?: IExtensionHostProfile
|
||||
}): string {
|
||||
|
||||
|
||||
let baseUrl = extension.marketplaceInfo && extension.marketplaceInfo.type === ExtensionType.User && extension.description.repository ? extension.description.repository.url : undefined;
|
||||
if (!!baseUrl) {
|
||||
baseUrl = `${baseUrl.indexOf('.git') !== -1 ? baseUrl.substr(0, baseUrl.length - 4) : baseUrl}/issues/new/`;
|
||||
} else {
|
||||
baseUrl = product.reportIssueUrl;
|
||||
baseUrl = product.reportIssueUrl!;
|
||||
}
|
||||
|
||||
let reason = 'Bug';
|
||||
|
||||
@@ -2245,7 +2245,7 @@ suite('ExtensionsActions Test', () => {
|
||||
extensionManagementService: remoteExtensionManagementService || createExtensionManagementService()
|
||||
};
|
||||
return {
|
||||
_serviceBrand: {},
|
||||
_serviceBrand: undefined,
|
||||
localExtensionManagementServer: null,
|
||||
remoteExtensionManagementServer,
|
||||
getExtensionManagementServer: (location: URI) => {
|
||||
@@ -2269,7 +2269,7 @@ suite('ExtensionsActions Test', () => {
|
||||
extensionManagementService: remoteExtensionManagementService || createExtensionManagementService()
|
||||
};
|
||||
return {
|
||||
_serviceBrand: {},
|
||||
_serviceBrand: undefined,
|
||||
localExtensionManagementServer,
|
||||
remoteExtensionManagementServer,
|
||||
getExtensionManagementServer: (location: URI) => {
|
||||
|
||||
@@ -65,17 +65,17 @@ const mockExtensionGallery: IGalleryExtension[] = [
|
||||
rating: 4,
|
||||
ratingCount: 100
|
||||
}, {
|
||||
dependencies: ['pub.1'],
|
||||
}, {
|
||||
manifest: { uri: 'uri:manifest', fallbackUri: 'fallback:manifest' },
|
||||
readme: { uri: 'uri:readme', fallbackUri: 'fallback:readme' },
|
||||
changelog: { uri: 'uri:changelog', fallbackUri: 'fallback:changlog' },
|
||||
download: { uri: 'uri:download', fallbackUri: 'fallback:download' },
|
||||
icon: { uri: 'uri:icon', fallbackUri: 'fallback:icon' },
|
||||
license: { uri: 'uri:license', fallbackUri: 'fallback:license' },
|
||||
repository: { uri: 'uri:repository', fallbackUri: 'fallback:repository' },
|
||||
coreTranslations: []
|
||||
}),
|
||||
dependencies: ['pub.1'],
|
||||
}, {
|
||||
manifest: { uri: 'uri:manifest', fallbackUri: 'fallback:manifest' },
|
||||
readme: { uri: 'uri:readme', fallbackUri: 'fallback:readme' },
|
||||
changelog: { uri: 'uri:changelog', fallbackUri: 'fallback:changlog' },
|
||||
download: { uri: 'uri:download', fallbackUri: 'fallback:download' },
|
||||
icon: { uri: 'uri:icon', fallbackUri: 'fallback:icon' },
|
||||
license: { uri: 'uri:license', fallbackUri: 'fallback:license' },
|
||||
repository: { uri: 'uri:repository', fallbackUri: 'fallback:repository' },
|
||||
coreTranslations: []
|
||||
}),
|
||||
aGalleryExtension('MockExtension2', {
|
||||
displayName: 'Mock Extension 2',
|
||||
version: '1.5',
|
||||
@@ -87,17 +87,17 @@ const mockExtensionGallery: IGalleryExtension[] = [
|
||||
rating: 4,
|
||||
ratingCount: 100
|
||||
}, {
|
||||
dependencies: ['pub.1', 'pub.2'],
|
||||
}, {
|
||||
manifest: { uri: 'uri:manifest', fallbackUri: 'fallback:manifest' },
|
||||
readme: { uri: 'uri:readme', fallbackUri: 'fallback:readme' },
|
||||
changelog: { uri: 'uri:changelog', fallbackUri: 'fallback:changlog' },
|
||||
download: { uri: 'uri:download', fallbackUri: 'fallback:download' },
|
||||
icon: { uri: 'uri:icon', fallbackUri: 'fallback:icon' },
|
||||
license: { uri: 'uri:license', fallbackUri: 'fallback:license' },
|
||||
repository: { uri: 'uri:repository', fallbackUri: 'fallback:repository' },
|
||||
coreTranslations: []
|
||||
})
|
||||
dependencies: ['pub.1', 'pub.2'],
|
||||
}, {
|
||||
manifest: { uri: 'uri:manifest', fallbackUri: 'fallback:manifest' },
|
||||
readme: { uri: 'uri:readme', fallbackUri: 'fallback:readme' },
|
||||
changelog: { uri: 'uri:changelog', fallbackUri: 'fallback:changlog' },
|
||||
download: { uri: 'uri:download', fallbackUri: 'fallback:download' },
|
||||
icon: { uri: 'uri:icon', fallbackUri: 'fallback:icon' },
|
||||
license: { uri: 'uri:license', fallbackUri: 'fallback:license' },
|
||||
repository: { uri: 'uri:repository', fallbackUri: 'fallback:repository' },
|
||||
coreTranslations: []
|
||||
})
|
||||
];
|
||||
|
||||
const mockExtensionLocal = [
|
||||
@@ -235,7 +235,7 @@ suite.skip('ExtensionsTipsService Test', () => { // {{SQL CARBON EDIT}} skip sui
|
||||
});
|
||||
|
||||
setup(() => {
|
||||
instantiationService.stub(IEnvironmentService, <Partial<IEnvironmentService>>{ extensionDevelopmentPath: false });
|
||||
instantiationService.stub(IEnvironmentService, <Partial<IEnvironmentService>>{});
|
||||
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', []);
|
||||
instantiationService.stub(IExtensionGalleryService, 'isEnabled', true);
|
||||
instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage<IGalleryExtension>(...mockExtensionGallery));
|
||||
|
||||
@@ -121,17 +121,17 @@ suite('ExtensionsWorkbenchServiceTest', () => {
|
||||
rating: 4,
|
||||
ratingCount: 100
|
||||
}, {
|
||||
dependencies: ['pub.1', 'pub.2'],
|
||||
}, {
|
||||
manifest: { uri: 'uri:manifest', fallbackUri: 'fallback:manifest' },
|
||||
readme: { uri: 'uri:readme', fallbackUri: 'fallback:readme' },
|
||||
changelog: { uri: 'uri:changelog', fallbackUri: 'fallback:changlog' },
|
||||
download: { uri: 'uri:download', fallbackUri: 'fallback:download' },
|
||||
icon: { uri: 'uri:icon', fallbackUri: 'fallback:icon' },
|
||||
license: { uri: 'uri:license', fallbackUri: 'fallback:license' },
|
||||
repository: { uri: 'uri:repository', fallbackUri: 'fallback:repository' },
|
||||
coreTranslations: []
|
||||
});
|
||||
dependencies: ['pub.1', 'pub.2'],
|
||||
}, {
|
||||
manifest: { uri: 'uri:manifest', fallbackUri: 'fallback:manifest' },
|
||||
readme: { uri: 'uri:readme', fallbackUri: 'fallback:readme' },
|
||||
changelog: { uri: 'uri:changelog', fallbackUri: 'fallback:changlog' },
|
||||
download: { uri: 'uri:download', fallbackUri: 'fallback:download' },
|
||||
icon: { uri: 'uri:icon', fallbackUri: 'fallback:icon' },
|
||||
license: { uri: 'uri:license', fallbackUri: 'fallback:license' },
|
||||
repository: { uri: 'uri:repository', fallbackUri: 'fallback:repository' },
|
||||
coreTranslations: []
|
||||
});
|
||||
|
||||
testObject = await aWorkbenchService();
|
||||
instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage(expected));
|
||||
@@ -176,21 +176,21 @@ suite('ExtensionsWorkbenchServiceTest', () => {
|
||||
icon: 'localIcon1',
|
||||
extensionDependencies: ['pub.1', 'pub.2'],
|
||||
}, {
|
||||
type: ExtensionType.User,
|
||||
readmeUrl: 'localReadmeUrl1',
|
||||
changelogUrl: 'localChangelogUrl1',
|
||||
location: URI.file('localPath1')
|
||||
});
|
||||
type: ExtensionType.User,
|
||||
readmeUrl: 'localReadmeUrl1',
|
||||
changelogUrl: 'localChangelogUrl1',
|
||||
location: URI.file('localPath1')
|
||||
});
|
||||
const expected2 = aLocalExtension('local2', {
|
||||
publisher: 'localPublisher2',
|
||||
version: '1.2.0',
|
||||
displayName: 'localDisplayName2',
|
||||
description: 'localDescription2',
|
||||
}, {
|
||||
type: ExtensionType.System,
|
||||
readmeUrl: 'localReadmeUrl2',
|
||||
changelogUrl: 'localChangelogUrl2',
|
||||
});
|
||||
type: ExtensionType.System,
|
||||
readmeUrl: 'localReadmeUrl2',
|
||||
changelogUrl: 'localChangelogUrl2',
|
||||
});
|
||||
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [expected1, expected2]);
|
||||
testObject = await aWorkbenchService();
|
||||
|
||||
@@ -244,21 +244,21 @@ suite('ExtensionsWorkbenchServiceTest', () => {
|
||||
icon: 'localIcon1',
|
||||
extensionDependencies: ['pub.1', 'pub.2'],
|
||||
}, {
|
||||
type: ExtensionType.User,
|
||||
readmeUrl: 'localReadmeUrl1',
|
||||
changelogUrl: 'localChangelogUrl1',
|
||||
location: URI.file('localPath1')
|
||||
});
|
||||
type: ExtensionType.User,
|
||||
readmeUrl: 'localReadmeUrl1',
|
||||
changelogUrl: 'localChangelogUrl1',
|
||||
location: URI.file('localPath1')
|
||||
});
|
||||
const local2 = aLocalExtension('local2', {
|
||||
publisher: 'localPublisher2',
|
||||
version: '1.2.0',
|
||||
displayName: 'localDisplayName2',
|
||||
description: 'localDescription2',
|
||||
}, {
|
||||
type: ExtensionType.System,
|
||||
readmeUrl: 'localReadmeUrl2',
|
||||
changelogUrl: 'localChangelogUrl2',
|
||||
});
|
||||
type: ExtensionType.System,
|
||||
readmeUrl: 'localReadmeUrl2',
|
||||
changelogUrl: 'localChangelogUrl2',
|
||||
});
|
||||
const gallery1 = aGalleryExtension(local1.manifest.name, {
|
||||
identifier: local1.identifier,
|
||||
displayName: 'expectedDisplayName',
|
||||
@@ -271,17 +271,17 @@ suite('ExtensionsWorkbenchServiceTest', () => {
|
||||
rating: 4,
|
||||
ratingCount: 100
|
||||
}, {
|
||||
dependencies: ['pub.1'],
|
||||
}, {
|
||||
manifest: { uri: 'uri:manifest', fallbackUri: 'fallback:manifest' },
|
||||
readme: { uri: 'uri:readme', fallbackUri: 'fallback:readme' },
|
||||
changelog: { uri: 'uri:changelog', fallbackUri: 'fallback:changlog' },
|
||||
download: { uri: 'uri:download', fallbackUri: 'fallback:download' },
|
||||
icon: { uri: 'uri:icon', fallbackUri: 'fallback:icon' },
|
||||
license: { uri: 'uri:license', fallbackUri: 'fallback:license' },
|
||||
repository: { uri: 'uri:repository', fallbackUri: 'fallback:repository' },
|
||||
coreTranslations: []
|
||||
});
|
||||
dependencies: ['pub.1'],
|
||||
}, {
|
||||
manifest: { uri: 'uri:manifest', fallbackUri: 'fallback:manifest' },
|
||||
readme: { uri: 'uri:readme', fallbackUri: 'fallback:readme' },
|
||||
changelog: { uri: 'uri:changelog', fallbackUri: 'fallback:changlog' },
|
||||
download: { uri: 'uri:download', fallbackUri: 'fallback:download' },
|
||||
icon: { uri: 'uri:icon', fallbackUri: 'fallback:icon' },
|
||||
license: { uri: 'uri:license', fallbackUri: 'fallback:license' },
|
||||
repository: { uri: 'uri:repository', fallbackUri: 'fallback:repository' },
|
||||
coreTranslations: []
|
||||
});
|
||||
instantiationService.stubPromise(IExtensionManagementService, 'getInstalled', [local1, local2]);
|
||||
instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage(gallery1));
|
||||
testObject = await aWorkbenchService();
|
||||
|
||||
Reference in New Issue
Block a user