public void LastSearchDataSet()
 {
     Create("");
     _taggerRaw._oneTimeDisabled = true;
     _vimData.LastPatternData    = VimUtil.CreatePatternData("dog");
     Assert.IsFalse(_taggerRaw._oneTimeDisabled);
 }
        public void GetTags_PatternEmpty()
        {
            Create("dog cat");
            _vimData.LastPatternData = VimUtil.CreatePatternData("");
            var ret = _taggerRaw.GetTags(_textBuffer.CurrentSnapshot.GetTaggerExtent());

            Assert.AreEqual(0, ret.Count());
        }
        public void GetTags_OutSideSpan()
        {
            Create("foo is the bar");
            _vimData.LastPatternData = VimUtil.CreatePatternData("foo");
            var ret = _taggerRaw.GetTags(new NormalizedSnapshotSpanCollection(new SnapshotSpan(_textBuffer.CurrentSnapshot, 4, 3)));

            Assert.AreEqual(0, ret.Count());
        }
예제 #4
0
        public void IncrementalSearch_Forward()
        {
            _textView.SetText("hello world", caret: 0);
            var data        = Process("/world", enter: true).AsComplete().Item;
            var patternData = VimUtil.CreatePatternData("world", Path.Forward);

            Assert.AreEqual(Motion.NewSearch(patternData), data);
        }
예제 #5
0
        public void LastSearch1()
        {
            Create(" foo bar");
            var data = VimUtil.CreatePatternData("foo", Path.Forward);

            ProcessWithEnter("foo");
            Assert.AreEqual(data, _vimData.LastPatternData);
            _factory.Verify();
        }
        public void GetTags_WithMatch()
        {
            Create("foo is the bar");
            _vimData.LastPatternData = VimUtil.CreatePatternData("foo");
            var ret = _taggerRaw.GetTags(_textBuffer.CurrentSnapshot.GetTaggerExtent());

            Assert.AreEqual(1, ret.Count());
            Assert.AreEqual(new SnapshotSpan(_textBuffer.CurrentSnapshot, 0, 3), ret.Single().Span);
        }
        public void GetTags_HighlightDisabled()
        {
            Create("dog cat");
            _vimData.LastPatternData        = VimUtil.CreatePatternData("dog");
            _globalSettings.HighlightSearch = false;
            var ret = _taggerRaw.GetTags(_textBuffer.CurrentSnapshot.GetTaggerExtent());

            Assert.AreEqual(0, ret.Count());
        }
        public void GetTags_SpansOnStartOfMatch()
        {
            Create("foo is the bar");
            _vimData.LastPatternData = VimUtil.CreatePatternData("foo");
            var ret = _taggerRaw.GetTags(new NormalizedSnapshotSpanCollection(new SnapshotSpan(_textBuffer.CurrentSnapshot, 0, 2)));

            Assert.AreEqual(1, ret.Count());
            Assert.AreEqual(new SnapshotSpan(_textBuffer.CurrentSnapshot, 0, 3), ret.Single().Span);
        }
예제 #9
0
        public void IncrementalSearch_Reverse()
        {
            _textView.TextBuffer.SetText("hello world");
            _textView.MoveCaretTo(_textView.GetEndPoint().Position);
            var data        = Process("?world", enter: true).AsComplete().Item;
            var patternData = VimUtil.CreatePatternData("world", Path.Backward);

            Assert.AreEqual(Motion.NewSearch(patternData), data);
        }
예제 #10
0
        public void GetTagsPrompt_NotVisible()
        {
            Create("dog cat");
            _vimData.LastPatternData         = VimUtil.CreatePatternData("dog");
            _asyncTaggerSourceRaw._isVisible = false;
            var ret = _asyncTaggerSource.GetTagsPrompt(_textBuffer.GetExtent());

            Assert.IsTrue(ret.IsSome());
            Assert.AreEqual(0, ret.Value.Length);
        }
예제 #11
0
        public void GetTagsPrompt_HighlightDisabled()
        {
            Create("dog cat");
            _vimData.LastPatternData        = VimUtil.CreatePatternData("dog");
            _globalSettings.HighlightSearch = false;
            var ret = _asyncTaggerSource.GetTagsPrompt(_textBuffer.GetExtent());

            Assert.IsTrue(ret.IsSome());
            Assert.AreEqual(0, ret.Value.Length);
        }
예제 #12
0
        public void GetTags_ZeroLengthResults()
        {
            Create("cat");
            _vimData.LastPatternData = VimUtil.CreatePatternData(@"\|i\>");
            var ret = GetTags(_textBuffer.GetExtent());

            CollectionAssert.AreEquivalent(
                new [] { "c", "a", "t" },
                ret.Select(x => x.Span.GetText()).ToList());
        }
예제 #13
0
        public void LastSearch2()
        {
            Create(" foo bar");

            ProcessWithEnter("foo bar");
            Assert.AreEqual(VimUtil.CreatePatternData("foo bar", Path.Forward), _vimData.LastPatternData);
            _factory.Verify();

            _textView.MoveCaretTo(0);
            ProcessWithEnter("bar");
            Assert.AreEqual(VimUtil.CreatePatternData("bar", Path.Forward), _vimData.LastPatternData);
            _factory.Verify();
        }
예제 #14
0
        public void CurrentSearchComplete_FireWhenDone()
        {
            Create("cat foo bar");
            var didRun = false;

            _search.CurrentSearchCompleted +=
                (unused, result) =>
            {
                Assert.AreEqual("foo", result.SearchData.Pattern);
                Assert.IsTrue(result.IsFound);
                didRun = true;
            };

            ProcessWithEnter("foo");
            Assert.IsTrue(didRun);
            Assert.AreEqual(VimUtil.CreatePatternData("foo", Path.Forward), _vimData.LastPatternData);
        }