Esempio n. 1
0
            public void CommandMatch4()
            {
                Create(string.Empty);
                var count1 = 0;

                _runner.Add(VimUtil.CreateNormalBinding("ab", data => { count1++; return(CommandResult.NewCompleted(ModeSwitch.NoSwitch)); }));
                var count2 = 0;

                _runner.Add(VimUtil.CreateNormalBinding("b", data => { count2++; return(CommandResult.NewCompleted(ModeSwitch.NoSwitch)); }));
                Run("ab");
                Assert.Equal(1, count1);
                Assert.Equal(0, count2);
            }
Esempio n. 2
0
            public void CommandMatch7()
            {
                Create("foo bar");
                var count1 = 0;

                _runner.Add(VimUtil.CreateMotionBinding("aa", data => { count1++; return(NormalCommand.NewYank(data)); }));
                var count2 = 0;

                _runner.Add(VimUtil.CreateNormalBinding("aab", data => { count2++; return(CommandResult.NewCompleted(ModeSwitch.NoSwitch)); }));
                Run("aaw");
                Assert.Equal(1, count1);
                Assert.Equal(0, count2);
            }
Esempio n. 3
0
            public void Register3()
            {
                Create(string.Empty);
                var didRun = false;

                _runner.Add(VimUtil.CreateNormalBinding("a", data =>
                {
                    Assert.Same(_registerMap.GetRegister('d'), data.GetRegister(_registerMap));
                    didRun = true;
                    return(CommandResult.NewCompleted(ModeSwitch.NoSwitch));
                }));
                Run("\"da");
                Assert.True(didRun);
            }
Esempio n. 4
0
            public void Register1()
            {
                Create(string.Empty);
                var didRun = false;

                _runner.Add(VimUtil.CreateNormalBinding("a", data =>
                {
                    Assert.Equal(RegisterName.Unnamed, data.GetRegisterNameOrDefault());
                    didRun = true;
                    return(CommandResult.NewCompleted(ModeSwitch.NoSwitch));
                }));
                Run("a");
                Assert.True(didRun);
            }
Esempio n. 5
0
            public void Count1()
            {
                Create(string.Empty);
                var didRun = false;

                _runner.Add(VimUtil.CreateNormalBinding("a", data =>
                {
                    Assert.True(data.Count.IsNone());
                    didRun = true;
                    return(CommandResult.NewCompleted(ModeSwitch.NoSwitch));
                }));
                Run("a");
                Assert.True(didRun);
            }
Esempio n. 6
0
            public void CommandRan3()
            {
                Create("hello world");
                var didSee   = false;
                var command1 = VimUtil.CreateNormalBinding("cat", data => CommandResult.NewCompleted(ModeSwitch.NoSwitch));

                _runner.Add(command1);
                _runner.CommandRan += (notUsed, tuple) =>
                {
                    didSee = true;
                };
                _runner.Run('c');
                _runner.Run(KeyInputUtil.EscapeKey);
                Assert.False(didSee);
            }
Esempio n. 7
0
        public void Run_Count3()
        {
            Create(String.Empty);
            var didRun = false;

            _runner.Add(VimUtil.CreateNormalBinding("a", data =>
            {
                Assert.True(data.Count.IsSome());
                Assert.Equal(42, data.Count.Value);
                didRun = true;
                return(CommandResult.NewCompleted(ModeSwitch.NoSwitch));
            }));
            Run("42a");
            Assert.True(didRun);
        }
Esempio n. 8
0
            public void CommandRan2()
            {
                Create("hello world");
                var didSee   = false;
                var command1 = VimUtil.CreateNormalBinding("c", data => CommandResult.NewCompleted(ModeSwitch.NoSwitch));

                _runner.Add(command1);
                _runner.CommandRan += (notUsed, args) =>
                {
                    Assert.Same(command1, args.CommandRunData.CommandBinding);
                    didSee = true;
                };
                _runner.Run('2');
                _runner.Run('c');
                Assert.True(didSee);
            }
Esempio n. 9
0
            public void NestedRun_DontAllowRunDuringBind()
            {
                Create("hello world");
                _runner.Add(VimUtil.CreateNormalBinding("b"));
                _runner.Add(VimUtil.CreateComplexNormalBinding(
                                "a",
                                _ =>
                {
                    var res = _runner.Run(KeyInputUtil.CharToKeyInput('b'));
                    Assert.True(res.IsError);
                }));

                var res2 = _runner.Run("ab");

                Assert.True(res2.IsComplete);
            }
Esempio n. 10
0
        public void Run_CountAndRegister2()
        {
            Create(String.Empty);
            var didRun = false;

            _runner.Add(VimUtil.CreateNormalBinding("a", data =>
            {
                Assert.True(data.Count.IsSome());
                Assert.Equal(2, data.Count.Value);
                Assert.Same(_registerMap.GetRegister('d'), data.GetRegister(_registerMap));
                didRun = true;
                return(CommandResult.NewCompleted(ModeSwitch.NoSwitch));
            }));
            Run("2\"da");
            Assert.True(didRun);
        }
Esempio n. 11
0
            public void NestedRun_AllowMultipleRuns()
            {
                Create("");
                var ran1 = false;
                var ran2 = false;

                _runner.Add(VimUtil.CreateNormalBinding("a", command: VimUtil.CreatePing(
                                                            _ =>
                {
                    ran1 = true;
                    Assert.True(_runner.Run('b').IsComplete);
                })));
                _runner.Add(VimUtil.CreateNormalBinding("b", command: VimUtil.CreatePing(
                                                            _ =>
                {
                    ran2 = true;
                })));
                Assert.True(_runner.Run('a').IsComplete);
                Assert.True(ran1);
                Assert.True(ran2);
            }
Esempio n. 12
0
 public void NoMatchingCommand1()
 {
     Create("hello world");
     _runner.Add(VimUtil.CreateNormalBinding("cat", data => CommandResult.NewCompleted(ModeSwitch.NoSwitch)));
     Assert.True(_runner.Run('b').IsError);
 }
Esempio n. 13
0
 public RegisterTest()
 {
     Create("");
     _runner.Add(VimUtil.CreateNormalBinding("dd"));
 }
Esempio n. 14
0
 public CountTest()
 {
     Create("");
     _runner.Add(VimUtil.CreateNormalBinding("dd"));
 }