Skip to content

Commit

Permalink
Force InstallCount sort only for empty extension query #62426
Browse files Browse the repository at this point in the history
  • Loading branch information
ramya-rao-a committed Nov 2, 2018
1 parent 649f448 commit 297380b
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,7 @@ export class ExtensionsListView extends ViewletPanel {

private async queryGallery(query: Query, options: IQueryOptions): Promise<IPagedModel<IExtension>> {
const hasUserDefinedSortOrder = options.sortBy !== undefined;
if (!hasUserDefinedSortOrder) {
if (!hasUserDefinedSortOrder && !query.value.trim()) {
options.sortBy = SortBy.InstallCount;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { IExtensionsWorkbenchService } from 'vs/workbench/parts/extensions/commo
import { ExtensionsWorkbenchService } from 'vs/workbench/parts/extensions/node/extensionsWorkbenchService';
import {
IExtensionManagementService, IExtensionGalleryService, IExtensionEnablementService, IExtensionTipsService, ILocalExtension, LocalExtensionType, IGalleryExtension, IQueryOptions,
DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IExtensionIdentifier, IExtensionManagementServerService, IExtensionManagementServer, EnablementState, ExtensionRecommendationReason
DidInstallExtensionEvent, DidUninstallExtensionEvent, InstallExtensionEvent, IExtensionIdentifier, IExtensionManagementServerService, IExtensionManagementServer, EnablementState, ExtensionRecommendationReason, SortBy
} from 'vs/platform/extensionManagement/common/extensionManagement';
import { getGalleryExtensionId, getGalleryExtensionIdFromLocal } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
import { ExtensionManagementService, getLocalExtensionIdFromManifest } from 'vs/platform/extensionManagement/node/extensionManagementService';
Expand Down Expand Up @@ -152,6 +152,33 @@ suite('ExtensionsListView Tests', () => {
assert.equal(ExtensionsListView.isInstalledExtensionsQuery('@outdated searchText'), true);
});

test('Test empty query equates to sort by install count', () => {
const target = <SinonStub>instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage());
return testableView.show('').then(() => {
assert.ok(target.calledOnce);
const options: IQueryOptions = target.args[0][0];
assert.equal(options.sortBy, SortBy.InstallCount);
});
});

test('Test non empty query without sort doesnt use sortBy', () => {
const target = <SinonStub>instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage());
return testableView.show('some extension').then(() => {
assert.ok(target.calledOnce);
const options: IQueryOptions = target.args[0][0];
assert.equal(options.sortBy, undefined);
});
});

test('Test query with sort uses sortBy', () => {
const target = <SinonStub>instantiationService.stubPromise(IExtensionGalleryService, 'query', aPage());
return testableView.show('some extension @sort:rating').then(() => {
assert.ok(target.calledOnce);
const options: IQueryOptions = target.args[0][0];
assert.equal(options.sortBy, SortBy.WeightedRating);
});
});

test('Test installed query results', () => {
const allInstalledCheck = testableView.show('@installed').then(result => {
assert.equal(result.length, 5, 'Unexpected number of results for @installed query');
Expand Down

0 comments on commit 297380b

Please sign in to comment.