public void Run_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.AreEqual(1, count1); Assert.AreEqual(0, count2); }
public void Run_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.AreEqual(1, count1); Assert.AreEqual(0, count2); }
public void Run_Register3() { Create(String.Empty); var didRun = false; _runner.Add(VimUtil.CreateNormalBinding("a", data => { Assert.AreSame(_registerMap.GetRegister('d'), data.GetRegister(_registerMap)); didRun = true; return(CommandResult.NewCompleted(ModeSwitch.NoSwitch)); })); Run("\"da"); Assert.IsTrue(didRun); }
public void Run_Register1() { Create(String.Empty); var didRun = false; _runner.Add(VimUtil.CreateNormalBinding("a", data => { Assert.AreEqual(RegisterName.Unnamed, data.RegisterNameOrDefault); didRun = true; return(CommandResult.NewCompleted(ModeSwitch.NoSwitch)); })); Run("a"); Assert.IsTrue(didRun); }
public void Run_Count1() { Create(String.Empty); var didRun = false; _runner.Add(VimUtil.CreateNormalBinding("a", data => { Assert.IsTrue(data.Count.IsNone()); didRun = true; return(CommandResult.NewCompleted(ModeSwitch.NoSwitch)); })); Run("a"); Assert.IsTrue(didRun); }
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.IsFalse(didSee); }
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, tuple) => { Assert.AreSame(command1, tuple.CommandBinding); didSee = true; }; _runner.Run('2'); _runner.Run('c'); Assert.IsTrue(didSee); }
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.IsTrue(res.IsError); })); var res2 = _runner.Run("ab"); Assert.IsTrue(res2.IsComplete); }
public void NestedRun_AllowMultipleRuns() { Create(""); var ran1 = false; var ran2 = false; _runner.Add(VimUtil.CreateNormalBinding("a", command: VimUtil.CreatePing( _ => { ran1 = true; Assert.IsTrue(_runner.Run('b').IsComplete); }))); _runner.Add(VimUtil.CreateNormalBinding("b", command: VimUtil.CreatePing( _ => { ran2 = true; }))); Assert.IsTrue(_runner.Run('a').IsComplete); Assert.IsTrue(ran1); Assert.IsTrue(ran2); }
public void Run_NoMatchingCommand1() { Create("hello world"); _runner.Add(VimUtil.CreateNormalBinding("cat", data => CommandResult.NewCompleted(ModeSwitch.NoSwitch))); Assert.IsTrue(_runner.Run('b').IsError); }