Don't drop text search messages (#189289)

* Don't drop text search messages

* Fix tests
This commit is contained in:
Joyce Er
2023-07-31 08:17:57 -07:00
committed by GitHub
parent 13cfee19dd
commit 2bf46260dc
2 changed files with 13 additions and 7 deletions
@@ -2024,7 +2024,13 @@ export class SearchModel extends Disposable {
tokenSource.dispose();
const searchLength = Date.now() - searchStart;
this.logService.trace(`whole search time | ${searchLength}ms`);
return notebookResult ? { ...currentResult, ...notebookResult.completeData } : currentResult;
return {
results: currentResult.results.concat(notebookResult.completeData.results),
messages: currentResult.messages.concat(notebookResult.completeData.messages),
limitHit: currentResult.limitHit || notebookResult.completeData.limitHit,
exit: currentResult.exit,
stats: currentResult.stats,
};
}
async search(query: ITextQuery, onProgress?: (result: ISearchProgressItem) => void): Promise<ISearchComplete> {
@@ -190,7 +190,7 @@ suite('SearchModel', () => {
new TextSearchMatch('preview 1', new OneLineRange(1, 1, 4)),
new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11))),
aRawMatch('/2', new TextSearchMatch('preview 2', lineOneRange))];
instantiationService.stub(ISearchService, searchServiceWithResults(results));
instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results }));
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
const testObject: SearchModel = instantiationService.createInstance(SearchModel);
@@ -223,7 +223,7 @@ suite('SearchModel', () => {
new TextSearchMatch('test', new OneLineRange(1, 1, 5)),
new TextSearchMatch('this is a test', new OneLineRange(1, 11, 15))),
aRawMatch('/3', new TextSearchMatch('test', lineOneRange))];
const searchService = instantiationService.stub(ISearchService, searchServiceWithResults(results));
const searchService = instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results }));
sinon.stub(CellMatch.prototype, 'addContext');
const textSearch = sinon.spy(searchService, 'textSearch');
@@ -347,7 +347,7 @@ suite('SearchModel', () => {
new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11))),
aRawMatch('/2',
new TextSearchMatch('preview 2', lineOneRange))];
instantiationService.stub(ISearchService, searchServiceWithResults(results));
instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results }));
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
const testObject: SearchModel = instantiationService.createInstance(SearchModel);
@@ -364,7 +364,7 @@ suite('SearchModel', () => {
const target1 = sinon.stub().returns(nullEvent);
instantiationService.stub(ITelemetryService, 'publicLog', target1);
instantiationService.stub(ISearchService, searchServiceWithResults([]));
instantiationService.stub(ISearchService, searchServiceWithResults([], { limitHit: false, messages: [], results: [] }));
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
const testObject = instantiationService.createInstance(SearchModel);
@@ -453,7 +453,7 @@ suite('SearchModel', () => {
new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11))),
aRawMatch('/2',
new TextSearchMatch('preview 2', lineOneRange))];
instantiationService.stub(ISearchService, searchServiceWithResults(results));
instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results: [] }));
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
const testObject: SearchModel = instantiationService.createInstance(SearchModel);
await testObject.search({ contentPattern: { pattern: 'somestring' }, type: QueryType.Text, folderQueries });
@@ -483,7 +483,7 @@ suite('SearchModel', () => {
aRawMatch('/1',
new TextSearchMatch('preview 1', new OneLineRange(1, 1, 4)),
new TextSearchMatch('preview 1', new OneLineRange(1, 4, 11)))];
instantiationService.stub(ISearchService, searchServiceWithResults(results));
instantiationService.stub(ISearchService, searchServiceWithResults(results, { limitHit: false, messages: [], results }));
instantiationService.stub(INotebookSearchService, notebookSearchServiceWithInfo([], undefined));
const testObject: SearchModel = instantiationService.createInstance(SearchModel);