Example #1
0
	test('Search Model: Previous search is cancelled when new search is called', function () {
		let target= sinon.spy();
		instantiationService.stub(ISearchService, 'search',  new DeferredPPromise((c, e, p) => {}, target));
		let testObject:SearchModel= instantiationService.createInstance(SearchModel);

		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
		instantiationService.stub(ISearchService, 'search',  new DeferredPPromise<ISearchComplete, ISearchProgressItem>());
		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});

		assert.ok(target.calledOnce);
	});
Example #2
0
	test('Search Model: Search results are cleared during search', function () {
		let results= [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
		instantiationService.stub(ISearchService, 'search',  PPromise.as({results: results}));
		let testObject:SearchModel= instantiationService.createInstance(SearchModel);
		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
		assert.ok(!testObject.searchResult.isEmpty());

		instantiationService.stub(ISearchService, 'search',  new DeferredPPromise<ISearchComplete, ISearchProgressItem>());

		testObject.search({contentPattern: {pattern: 'somestring'}, type: 1});
		assert.ok(testObject.searchResult.isEmpty());
	});
Example #3
0
	test('getReplaceString returns proper replace string for regExpressions', function () {
		let results = [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]]))];
		instantiationService.stub(ISearchService, 'search', PPromise.as({ results: results }));

		let testObject: SearchModel = instantiationService.createInstance(SearchModel);
		testObject.search({ contentPattern: { pattern: 're' }, type: 1 });
		testObject.replaceString = 'hello';
		let match = testObject.searchResult.matches()[0].matches()[0];
		assert.equal('hello', match.replaceString);

		testObject.search({ contentPattern: { pattern: 're', isRegExp: true }, type: 1 });
		match = testObject.searchResult.matches()[0].matches()[0];
		assert.equal('hello', match.replaceString);

		testObject.search({ contentPattern: { pattern: 're(?:vi)', isRegExp: true }, type: 1 });
		match = testObject.searchResult.matches()[0].matches()[0];
		assert.equal('hello', match.replaceString);

		testObject.search({ contentPattern: { pattern: 'r(e)(?:vi)', isRegExp: true }, type: 1 });
		match = testObject.searchResult.matches()[0].matches()[0];
		assert.equal('hello', match.replaceString);

		testObject.search({ contentPattern: { pattern: 'r(e)(?:vi)', isRegExp: true }, type: 1 });
		testObject.replaceString = 'hello$1';
		match = testObject.searchResult.matches()[0].matches()[0];
		assert.equal('helloe', match.replaceString);
	});
	test('Search Model: Search adds to results', function () {
		let results = [aRawMatch('file://c:/1', aLineMatch('preview 1', 1, [[1, 3], [4, 7]])), aRawMatch('file://c:/2', aLineMatch('preview 2'))];
		instantiationService.stub(ISearchService, 'search', PPromise.as({ results: results }));

		let testObject: SearchModel = instantiationService.createInstance(SearchModel);
		testObject.search({ contentPattern: { pattern: 'somestring' }, type: 1, folderQueries });

		let actual = testObject.searchResult.matches();

		assert.equal(2, actual.length);
		assert.equal('file://c:/1', actual[0].resource().toString());

		let actuaMatches = actual[0].matches();
		assert.equal(2, actuaMatches.length);
		assert.equal('preview 1', actuaMatches[0].text());
		assert.ok(new Range(2, 2, 2, 5).equalsRange(actuaMatches[0].range()));
		assert.equal('preview 1', actuaMatches[1].text());
		assert.ok(new Range(2, 5, 2, 12).equalsRange(actuaMatches[1].range()));

		actuaMatches = actual[1].matches();
		assert.equal(1, actuaMatches.length);
		assert.equal('preview 2', actuaMatches[0].text());
		assert.ok(new Range(2, 1, 2, 2).equalsRange(actuaMatches[0].range()));
	});
Example #5
0
	test('Search Model: hasReplaceText return true if replace text is set to non empty string', function () {
		let testObject:SearchModel= instantiationService.createInstance(SearchModel);
		testObject.replaceString= 'some value';

		assert.ok(testObject.hasReplaceString());
	});
Example #6
0
	test('Search Model: hasReplaceText return false if replace text is set to undefined', function () {
		let testObject:SearchModel= instantiationService.createInstance(SearchModel);
		testObject.replaceString= void 0;

		assert.ok(!testObject.hasReplaceString());
	});
Example #7
0
	test('Search Model: isReplaceActive return true if replace text is set to empty string', function () {
		let testObject:SearchModel= instantiationService.createInstance(SearchModel);
		testObject.replaceString= '';

		assert.ok(testObject.isReplaceActive());
	});
Example #8
0
	test('Search Model: isReplaceActive return false if replace text is set to null', function () {
		let testObject:SearchModel= instantiationService.createInstance(SearchModel);
		testObject.replaceString= null;

		assert.ok(!testObject.isReplaceActive());
	});
Example #9
0
	test('Search Model: hasReplaceText return false if replace text is set to empty string', function () {
		let testObject:SearchModel= instantiationService.createInstance(SearchModel);
		testObject.replaceText= '';

		assert.ok(!testObject.hasReplaceText());
	});