提交 90ca93fd 编写于 作者: C Christof Marti

More tests (#35236)

上级 f0f2c909
......@@ -220,6 +220,53 @@ suite('FileSearchEngine', () => {
});
});
test('Files: multiroot with includePattern and maxResults', function (done: () => void) {
let engine = new FileSearchEngine({
folderQueries: MULTIROOT_QUERIES,
maxResults: 1,
includePattern: {
'*.txt': true,
'*.js': true
},
useRipgrep: true
});
let count = 0;
engine.search((result) => {
if (result) {
count++;
}
}, () => { }, (error, complete) => {
assert.ok(!error);
assert.equal(count, 1);
done();
});
});
test('Files: multiroot with includePattern and exists', function (done: () => void) {
let engine = new FileSearchEngine({
folderQueries: MULTIROOT_QUERIES,
exists: true,
includePattern: {
'*.txt': true,
'*.js': true
},
useRipgrep: true
});
let count = 0;
engine.search((result) => {
if (result) {
count++;
}
}, () => { }, (error, complete) => {
assert.ok(!error);
assert.equal(count, 0);
assert.ok(complete.limitHit);
done();
});
});
test('Files: NPE (CamelCase)', function (done: () => void) {
let engine = new FileSearchEngine({
folderQueries: ROOT_FOLDER_QUERY,
......
......@@ -7,9 +7,10 @@
import * as assert from 'assert';
import { normalize } from 'path';
import path = require('path');
import { IProgress, IUncachedSearchStats } from 'vs/platform/search/common/search';
import { ISearchEngine, IRawSearch, IRawFileMatch, ISerializedFileMatch, ISerializedSearchComplete } from 'vs/workbench/services/search/node/search';
import { ISearchEngine, IRawSearch, IRawFileMatch, ISerializedFileMatch, ISerializedSearchComplete, IFolderSearch } from 'vs/workbench/services/search/node/search';
import { SearchService as RawSearchService } from 'vs/workbench/services/search/node/rawSearchService';
import { DiskSearch } from 'vs/workbench/services/search/node/searchService';
......@@ -17,6 +18,12 @@ const TEST_FOLDER_QUERIES = [
{ folder: normalize('/some/where') }
];
const TEST_FIXTURES = path.normalize(require.toUrl('./fixtures'));
const MULTIROOT_QUERIES: IFolderSearch[] = [
{ folder: path.join(TEST_FIXTURES, 'examples') },
{ folder: path.join(TEST_FIXTURES, 'more') }
];
const stats: IUncachedSearchStats = {
fromCache: false,
resultCount: 4,
......@@ -143,6 +150,43 @@ suite('SearchService', () => {
});
});
test('Multi-root with include pattern and maxResults', function () {
const service = new RawSearchService();
const query: IRawSearch = {
folderQueries: MULTIROOT_QUERIES,
maxResults: 1,
includePattern: {
'*.txt': true,
'*.js': true
},
};
return DiskSearch.collectResults(service.fileSearch(query))
.then(result => {
assert.strictEqual(result.results.length, 1, 'Result');
});
});
test('Multi-root with include pattern and exists', function () {
const service = new RawSearchService();
const query: IRawSearch = {
folderQueries: MULTIROOT_QUERIES,
exists: true,
includePattern: {
'*.txt': true,
'*.js': true
},
};
return DiskSearch.collectResults(service.fileSearch(query))
.then(result => {
assert.strictEqual(result.results.length, 0, 'Result');
assert.ok(result.limitHit);
});
});
test('Sorted results', function () {
const paths = ['bab', 'bbc', 'abb'];
const matches: IRawFileMatch[] = paths.map(relativePath => ({
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册