Skip to content

Commit 2bf4626

Browse files
authored
Don't drop text search messages (microsoft#189289)
* Don't drop text search messages * Fix tests
1 parent 13cfee1 commit 2bf4626

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/vs/workbench/contrib/search/browser/searchModel.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2024,7 +2024,13 @@ export class SearchModel extends Disposable {
20242024
tokenSource.dispose();
20252025
const searchLength = Date.now() - searchStart;
20262026
this.logService.trace(`whole search time | ${searchLength}ms`);
2027-
return notebookResult ? { ...currentResult, ...notebookResult.completeData } : currentResult;
2027+
return {
2028+
results: currentResult.results.concat(notebookResult.completeData.results),
2029+
messages: currentResult.messages.concat(notebookResult.completeData.messages),
2030+
limitHit: currentResult.limitHit || notebookResult.completeData.limitHit,
2031+
exit: currentResult.exit,
2032+
stats: currentResult.stats,
2033+
};
20282034
}
20292035

20302036
async search(query: ITextQuery, onProgress?: (result: ISearchProgressItem) => void): Promise<ISearchComplete> {

src/vs/workbench/contrib/search/test/browser/searchModel.test.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ suite('SearchModel', () => {
190190
new TextSearchMatch('preview 1', new OneLineRange(1, 1, 4)),
191191
new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11))),
192192
aRawMatch('/2', new TextSearchMatch('preview 2', lineOneRange))];
193-
instantiationService.stub(ISearchService, searchServiceWithResults(results));
193+
instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results }));
194194
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
195195

196196
const testObject: SearchModel = instantiationService.createInstance(SearchModel);
@@ -223,7 +223,7 @@ suite('SearchModel', () => {
223223
new TextSearchMatch('test', new OneLineRange(1, 1, 5)),
224224
new TextSearchMatch('this is a test', new OneLineRange(1, 11, 15))),
225225
aRawMatch('/3', new TextSearchMatch('test', lineOneRange))];
226-
const searchService = instantiationService.stub(ISearchService, searchServiceWithResults(results));
226+
const searchService = instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results }));
227227
sinon.stub(CellMatch.prototype, 'addContext');
228228

229229
const textSearch = sinon.spy(searchService, 'textSearch');
@@ -347,7 +347,7 @@ suite('SearchModel', () => {
347347
new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11))),
348348
aRawMatch('/2',
349349
new TextSearchMatch('preview 2', lineOneRange))];
350-
instantiationService.stub(ISearchService, searchServiceWithResults(results));
350+
instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results }));
351351
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
352352

353353
const testObject: SearchModel = instantiationService.createInstance(SearchModel);
@@ -364,7 +364,7 @@ suite('SearchModel', () => {
364364
const target1 = sinon.stub().returns(nullEvent);
365365
instantiationService.stub(ITelemetryService, 'publicLog', target1);
366366

367-
instantiationService.stub(ISearchService, searchServiceWithResults([]));
367+
instantiationService.stub(ISearchService, searchServiceWithResults([], { limitHit: false, messages: [], results: [] }));
368368
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
369369

370370
const testObject = instantiationService.createInstance(SearchModel);
@@ -453,7 +453,7 @@ suite('SearchModel', () => {
453453
new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11))),
454454
aRawMatch('/2',
455455
new TextSearchMatch('preview 2', lineOneRange))];
456-
instantiationService.stub(ISearchService, searchServiceWithResults(results));
456+
instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results: [] }));
457457
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
458458
const testObject: SearchModel = instantiationService.createInstance(SearchModel);
459459
await testObject.search({ contentPattern: { pattern: 'somestring' }, type: QueryType.Text, folderQueries });
@@ -483,7 +483,7 @@ suite('SearchModel', () => {
483483
aRawMatch('/1',
484484
new TextSearchMatch('preview 1', new OneLineRange(1, 1, 4)),
485485
new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11)))];
486-
instantiationService.stub(ISearchService, searchServiceWithResults(results));
486+
instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results }));
487487
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
488488

489489
const testObject: SearchModel = instantiationService.createInstance(SearchModel);

0 commit comments

Comments
 (0)