예제 #1
0
        public void Issue328()
        {
            Assert.IsTrue(_map.MapWithNoRemap("<S-SPACE>", "<ESC>", KeyRemapMode.Insert));
            var res = _map.GetKeyMapping(KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.Space, KeyModifiers.Shift), KeyRemapMode.Insert);

            Assert.AreEqual(KeyInputUtil.EscapeKey, res.Single());
        }
예제 #2
0
        public void KeyStroke_WithShiftAndControlModifier()
        {
            var stroke = new KeyStroke(
                KeyInputUtil.CharToKeyInput('#'),
                KeyModifiers.Shift | KeyModifiers.Control);

            Assert.AreEqual(KeyInputUtil.CharToKeyInput('#'), stroke.KeyInput);
            Assert.AreEqual(KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.Pound, KeyModifiers.Shift | KeyModifiers.Control), stroke.AggregateKeyInput);
            Assert.AreEqual('#', stroke.Char);
        }
예제 #3
0
 public void NormalCommandCannotBeUndone()
 {
     Create("cat");
     _buffer.GetRegister(RegisterName.Unnamed).UpdateValue("s");
     _buffer.SwitchMode(ModeKind.Replace, ModeArgument.None);
     _buffer.Process("co");
     _buffer.Process(KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.LowerO, KeyModifiers.Control));
     _buffer.Process("P");
     Assert.AreEqual("cost", _textView.GetLine(0).GetText());
     _buffer.Process(VimKey.Back);
     Assert.AreEqual("cost", _textView.GetLine(0).GetText());
 }
예제 #4
0
        public void KeyDown_NonCharWithModifierShouldCarryModifier()
        {
            var ki = KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.Left, KeyModifiers.Shift);

            _buffer.Setup(x => x.CanProcessAsCommand(ki)).Returns(true).Verifiable();
            _buffer.Setup(x => x.Process(ki)).Returns(ProcessResult.NewHandled(ModeSwitch.NoSwitch)).Verifiable();

            var arg = CreateKeyEventArgs(Key.Left, ModifierKeys.Shift);

            _processor.KeyDown(arg);
            Assert.IsTrue(arg.Handled);
            _buffer.Verify();
        }
예제 #5
0
        public void VimKeyAndModifiersToKeyInput1()
        {
            foreach (var cur in Enum.GetValues(typeof(VimKey)).Cast <VimKey>())
            {
                if (cur == VimKey.None || cur == VimKey.RawCharacter)
                {
                    continue;
                }

                var ki = KeyInputUtil.VimKeyAndModifiersToKeyInput(cur, KeyModifiers.Control);
                Assert.AreEqual(cur, ki.Key);
                Assert.AreEqual(KeyModifiers.Control, ki.KeyModifiers & KeyModifiers.Control);
            }
        }
예제 #6
0
 public void Single_AlphaWithAltIsCaseSensitive()
 {
     AssertSingle("<A-b>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.LowerB, KeyModifiers.Alt));
     AssertSingle("<A-B>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.UpperB, KeyModifiers.Alt));
 }
예제 #7
0
 public void Single_AlphaWithControl()
 {
     AssertSingle("<C-x>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.LowerX, KeyModifiers.Control));
     AssertSingle("<c-X>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.UpperX, KeyModifiers.Control));
 }
예제 #8
0
 public void Single_ShiftNumberShouldNotPromote()
 {
     AssertSingle("<S-1>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.Number1, KeyModifiers.Shift));
     AssertSingle("<s-1>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.Number1, KeyModifiers.Shift));
 }
예제 #9
0
 public void Single_ShiftAndControlModifier()
 {
     AssertSingle("<C-S-A>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.UpperA, KeyModifiers.Control));
 }
예제 #10
0
 public void Single_NotationOfFunctionKey()
 {
     AssertSingle("<S-F11>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.F11, KeyModifiers.Shift));
     AssertSingle("<c-F11>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.F11, KeyModifiers.Control));
 }
예제 #11
0
 public void Single_NotationControlAndSymbol()
 {
     AssertSingle("<C-]>", KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.CloseBracket, KeyModifiers.Control));
 }
예제 #12
0
 public void MapWithNoRemap_ShiftSymbolDoesNotChangeChar()
 {
     Assert.IsTrue(_map.MapWithNoRemap("<S-#>", "pound", KeyRemapMode.Normal));
     Assert.IsTrue(_map.GetKeyMappingResult(KeyInputUtil.VimKeyToKeyInput(VimKey.Pound), KeyRemapMode.Normal).IsNoMapping);
     Assert.IsTrue(_map.GetKeyMappingResult(KeyInputUtil.VimKeyAndModifiersToKeyInput(VimKey.Pound, KeyModifiers.Shift), KeyRemapMode.Normal).IsMapped);
 }