private static void AssertStart(string offset, int count) { var data = SearchOffsetData.Parse(offset); Assert.True(data.IsStart); Assert.Equal(count, ((SearchOffsetData.Start)data).Start); }
private static void AssertLine(string offset, int count) { var data = SearchOffsetData.Parse(offset); Assert.True(data.IsLine); Assert.Equal(count, ((SearchOffsetData.Line)data).Line); }
private static void AssertEnd(string offset, int count) { var data = SearchOffsetData.Parse(offset); Assert.True(data.IsEnd); Assert.Equal(count, ((SearchOffsetData.End)data).End); }
public void SimpleCase() { Create("big", "cat", "dog", "fish"); var span = ApplySearchOffsetData(_textBuffer.GetLineSpan(0, 2), SearchOffsetData.NewSearch(new PatternData("dog", SearchPath.Forward))); Assert.Equal(_textBuffer.GetLineSpan(2, 3), span); }
public void Before() { Create("cat", "dog", "fish"); var span = ApplySearchOffsetData(_textBuffer.GetLineSpan(0, 2), SearchOffsetData.NewEnd(-1)); Assert.Equal(_textBuffer.GetLineSpan(0, 1), span); }
public void AfterAcrossLines() { Create("cat", "dog", "fish"); var span = ApplySearchOffsetData(_textBuffer.GetLineSpan(0, 2), SearchOffsetData.NewEnd(2)); Assert.Equal(_textBuffer.GetLineSpan(1, 1), span); }
public void TooManyLinesDown() { Create("cat", "dog", "fish"); var span = ApplySearchOffsetData(_textBuffer.GetLineSpan(0, 2), SearchOffsetData.NewLine(100)); Assert.Equal(_textBuffer.GetLineSpan(2, 1), span); }
private Span ApplySearchOffsetData(SnapshotSpan span, SearchOffsetData searchOffsetData) { var searchData = new SearchData("", searchOffsetData, SearchKind.Forward, SearchOptions.None); var serviceSearchData = _searchRaw.GetServiceSearchData(searchData, _wordUtil.SnapshotWordNavigator); return(_searchRaw.ApplySearchOffsetData(serviceSearchData, span).Value); }
private static void AssertSearch(string offset, string search, SearchPath direction = null) { direction = direction ?? SearchPath.Forward; var data = SearchOffsetData.Parse(offset); Assert.True(data.IsSearch); Assert.Equal(search, ((SearchOffsetData.Search)data).PatternData.Pattern); Assert.Equal(direction, ((SearchOffsetData.Search)data).PatternData.Path); }
public async Task WithOffsetLineBelowImplicitCount() { Create("cat", "dog", "fish"); var bindResult = await _search.DoSearchAsync("dog/+1", enter : true); var searchResult = bindResult.AsComplete().Result; var searchData = new SearchData("dog", SearchOffsetData.NewLine(1), SearchKind.ForwardWithWrap, SearchOptions.Default); Assert.Equal(searchData, searchResult.SearchData); }
public void EventMatchesResultNonAsync() { Create("cat", "dog", "fish"); SearchData lastSearchData = null; var session = _search.CreateSession(SearchPath.Forward); session.SearchStart += (_, args) => { lastSearchData = args.SearchData; }; var bindResult = session.Start().Run("dog/+1", enter: true); var searchResult = bindResult.AsComplete().Result; var searchData = new SearchData("dog", SearchOffsetData.NewLine(1), SearchKind.ForwardWithWrap, SearchOptions.Default); Assert.NotNull(lastSearchData); Assert.Equal(searchData, searchResult.SearchData); Assert.Equal(searchData, lastSearchData); }
private Span ApplySearchOffsetData(SnapshotSpan span, SearchOffsetData searchOffsetData) { var searchData = new SearchData("", searchOffsetData, SearchKind.Forward, SearchOptions.None); var serviceSearchData = _searchRaw.GetServiceSearchData(searchData, _wordNavigator); return _searchRaw.ApplySearchOffsetData(serviceSearchData, span).Value; }
public void None() { var data = SearchOffsetData.Parse(""); Assert.True(data.IsNone); }