public void OnCommand_DontTrackMovement() { Create("hello"); var data = VimUtil.CreateCommandRunData(flags: CommandFlags.Movement); _runner.Raise(x => x.CommandRan += null, (object)null, data); Assert.IsTrue(_vimData.LastCommand.IsNone()); }
public void OnCommand_Repeatable() { Create("hello"); var data = VimUtil.CreateCommandRunData(flags: CommandFlags.Repeatable); _runner.Raise(x => x.CommandRan += null, (object)null, data); Assert.IsTrue(_vimData.LastCommand.IsSome(x => x.IsNormalCommand)); }
public void OnCommand_NotRepetable() { CreateForText("hello"); var data = VimUtil.CreateCommandRunData(flags: CommandFlags.None); _runner.Raise(x => x.CommandRan += null, (object)null, data); Assert.IsTrue(_vimData.LastCommand.IsNone()); }
public void OnTextChange2() { CreateForText("hello"); var data = VimUtil.CreateCommandRunData(flags: CommandFlags.Repeatable); _runner.Raise(x => x.CommandRan += null, (object)null, data); _textChangeTracker.Raise(x => x.ChangeCompleted += null, (object)null, TextChange.NewInsert("foo")); Assert.IsTrue(_vimData.LastCommand.IsSome(x => x.IsTextChangeCommand)); }
public void LinkedWithNextChange_Simple() { Create("hello"); var runData1 = VimUtil.CreateCommandRunData(flags: CommandFlags.LinkedWithNextCommand | CommandFlags.Repeatable); var runData2 = VimUtil.CreateCommandRunData(flags: CommandFlags.Repeatable, command: Command.NewInsertCommand(InsertCommand.NewTextChange(TextChange.NewInsert("foo")))); _runner.Raise(x => x.CommandRan += null, (object)null, runData1); _runner.Raise(x => x.CommandRan += null, (object)null, runData2); var lastCommnad = _vimData.LastCommand; Assert.IsTrue(lastCommnad.IsSome(x => x.IsLinkedCommand)); }
public void LinkedWithTextChange_Simple() { CreateForText("hello"); var data = VimUtil.CreateCommandRunData(flags: CommandFlags.LinkedWithNextTextChange | CommandFlags.Repeatable); _runner.Raise(x => x.CommandRan += null, (object)null, data); _buffer.SetupGet(x => x.ModeKind).Returns(ModeKind.Insert); _textChangeTracker.Raise(x => x.ChangeCompleted += null, (object)null, TextChange.NewInsert("foo")); var last = _vimData.LastCommand; Assert.IsTrue(last.IsSome(x => x.IsLinkedCommand)); }