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);
            }
Beispiel #4
0
                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);
                }
Beispiel #5
0
                public void Before()
                {
                    Create("cat", "dog", "fish");
                    var span = ApplySearchOffsetData(_textBuffer.GetLineSpan(0, 2), SearchOffsetData.NewEnd(-1));

                    Assert.Equal(_textBuffer.GetLineSpan(0, 1), span);
                }
Beispiel #6
0
                public void AfterAcrossLines()
                {
                    Create("cat", "dog", "fish");
                    var span = ApplySearchOffsetData(_textBuffer.GetLineSpan(0, 2), SearchOffsetData.NewEnd(2));

                    Assert.Equal(_textBuffer.GetLineSpan(1, 1), span);
                }
Beispiel #7
0
                public void TooManyLinesDown()
                {
                    Create("cat", "dog", "fish");
                    var span = ApplySearchOffsetData(_textBuffer.GetLineSpan(0, 2), SearchOffsetData.NewLine(100));

                    Assert.Equal(_textBuffer.GetLineSpan(2, 1), span);
                }
Beispiel #8
0
            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);
            }
Beispiel #10
0
            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);
            }
Beispiel #11
0
            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);
            }
Beispiel #12
0
 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;
 }
Beispiel #13
0
            public void None()
            {
                var data = SearchOffsetData.Parse("");

                Assert.True(data.IsNone);
            }