public void Copy()
        {
            Init();
            lines.SetText(SimpleText);
            ClipboardExecutor.PutToClipboard("-");

            controller.PutCursor(new Pos(3, 2), false);
            controller.PutCursor(new Pos(7, 2), true);
            AssertSelection().Anchor(3, 2).Caret(7, 2);
            controller.Copy();
            Assert.AreEqual("hast", ClipboardExecutor.GetFromClipboard());

            controller.PutCursor(new Pos(0, 0), false);
            controller.PutCursor(new Pos(12, 2), true);
            controller.Copy();
            Assert.AreEqual(SimpleText, ClipboardExecutor.GetFromClipboard());

            controller.PutCursor(new Pos(0, 0), false);
            controller.PutCursor(new Pos(7, 1), true);
            controller.Copy();
            Assert.AreEqual("Du\nDu hast", ClipboardExecutor.GetFromClipboard());

            controller.PutCursor(new Pos(0, 0), false);
            controller.PutCursor(new Pos(0, 2), true);
            controller.Copy();
            Assert.AreEqual("Du\nDu hast\n", ClipboardExecutor.GetFromClipboard());
        }
        public void CopyPaste_RN0()
        {
            Init();
            lines.SetText("Du\r\nDu hast\nDu hast\rDu hast mich");
            //D[u
            //Du hast
            //Du hast
            //Du ]hast mich
            controller.ClearMinorSelections();
            controller.PutCursor(new Pos(1, 0), false);
            controller.PutCursor(new Pos(3, 3), true);
            AssertSelection().Anchor(1, 0).Caret(3, 3).NoNext();

            controller.Copy();
            Assert.AreEqual("u\r\nDu hast\nDu hast\rDu ", ClipboardExecutor.GetFromClipboard());
            Assert.AreEqual("Du\r\nDu hast\nDu hast\rDu hast mich", lines.GetText());
            AssertSelection().Anchor(1, 0).Caret(3, 3).NoNext();

            controller.EraseSelection();
            Assert.AreEqual("Dhast mich", lines.GetText());
            AssertSelection().Both(1, 0).NoNext();

            controller.Paste();
            Assert.AreEqual("Du\r\nDu hast\nDu hast\rDu hast mich", lines.GetText());
        }
        public void Past_Multiline_DifferentCount()
        {
            Init();
            lines.SetText(SimpleText);

            ClipboardExecutor.PutToClipboard("text\ntext1\nend");

            //Du
            //Du h[as]t
            //Du| hast mich
            controller.ClearMinorSelections();
            controller.PutCursor(new Pos(4, 1), false);
            controller.PutCursor(new Pos(6, 1), true);
            controller.PutNewCursor(new Pos(2, 2));
            AssertSelection().Anchor(4, 1).Caret(6, 1).Next().Both(2, 2).NoNext();

            controller.Paste();
            Assert.AreEqual("Du\n", GetLineText(0));
            Assert.AreEqual("Du htext\n", GetLineText(1));
            Assert.AreEqual("text1\n", GetLineText(2));
            Assert.AreEqual("endt\n", GetLineText(3));
            Assert.AreEqual("Dutext\n", GetLineText(4));
            Assert.AreEqual("text1\n", GetLineText(5));
            Assert.AreEqual("end hast mich", GetLineText(6));
            Assert.AreEqual(7, lines.LinesCount);
            AssertSelection().Both(3, 3).Next().Both(3, 6).NoNext();
        }
        public void Paste()
        {
            Init();

            lines.SetText("Du\nDu hast\nDu hast mich");
            // Du|\n
            // D[u ][hast\n
            // Du h]ast mich
            controller.PutCursor(new Pos(2, 0), false);
            controller.PutNewCursor(new Pos(1, 1));
            controller.PutCursor(new Pos(3, 1), true);
            controller.PutNewCursor(new Pos(4, 2));
            controller.PutCursor(new Pos(3, 1), true);
            AssertSelection().Both(2, 0).Next().Anchor(1, 1).Caret(3, 1).Next().Anchor(4, 2).Caret(3, 1).NoNext();

            ClipboardExecutor.PutToClipboard("a\ntext\nanother text");
            controller.Paste();
            // Dua|\n
            // Dtext|another text|ast mich
            Assert.AreEqual("Dua\nDtextanother textast mich", lines.GetText());
            AssertSelection().Both(3, 0).Next().Both(5, 1).Next().Both(17, 1).NoNext();

            controller.processor.Undo();
            Assert.AreEqual("Du\nDu hast\nDu hast mich", lines.GetText());
            AssertSelection().Both(2, 0).Next().Anchor(1, 1).Caret(3, 1).Next().Anchor(4, 2).Caret(3, 1).NoNext();

            controller.processor.Redo();
            Assert.AreEqual("Dua\nDtextanother textast mich", lines.GetText());
            AssertSelection().Both(3, 0).Next().Both(5, 1).Next().Both(17, 1).NoNext();
        }
Example #5
0
        public void UnusedRegisterAlwaysEmpty()
        {
            ClipboardExecutor.PutToRegister('`', "ZZZ");
            ClipboardExecutor.PutToRegister('[', "ZZZ");

            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(null, '`'));
            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(null, '['));
        }
Example #6
0
 public void Clipboard(char register)
 {
     ClipboardExecutor.PutToRegister(register, "AAAA");
     Assert.AreEqual("AAAA", ClipboardExecutor.GetFromRegister(null, register));
     Assert.AreEqual("AAAA", ClipboardExecutor.GetFromClipboard());
     ClipboardExecutor.PutToClipboard("BBBB");
     Assert.AreEqual("BBBB", ClipboardExecutor.GetFromRegister(null, register));
     Assert.AreEqual("BBBB", ClipboardExecutor.GetFromClipboard());
 }
Example #7
0
        public void Alphabetical()
        {
            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(null, 'a'));

            ClipboardExecutor.PutToRegister('a', "XXX");
            ClipboardExecutor.PutToRegister('z', "YYY");

            Assert.AreEqual("XXX", ClipboardExecutor.GetFromRegister(null, 'a'));
            Assert.AreEqual("YYY", ClipboardExecutor.GetFromRegister(null, 'z'));
        }
Example #8
0
        public void Default()
        {
            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(null, '0'));
            ClipboardExecutor.PutToRegister('0', "AAAAAAAAAA");
            Assert.AreEqual("AAAAAAAAAA", ClipboardExecutor.GetFromRegister(null, '0'));

            ClipboardExecutor.PutToRegister('\0', "BBB");
            Assert.AreEqual("BBB", ClipboardExecutor.GetFromRegister(null, '\0'));
            Assert.AreEqual("BBB", ClipboardExecutor.GetFromRegister(null, '0'));
        }
        public void ClipboardPutToGetFrom()
        {
            ClipboardExecutor.PutToClipboard("Test");
            Assert.AreEqual("Test", ClipboardExecutor.GetFromClipboard());

            ClipboardExecutor.PutToClipboard("??????? ?????");
            Assert.AreEqual("??????? ?????", ClipboardExecutor.GetFromClipboard());

            ClipboardExecutor.PutToClipboard("Multiline\ntext");
            Assert.AreEqual("Multiline\ntext", ClipboardExecutor.GetFromClipboard());
        }
        public void Copy_LastLine()
        {
            Init();
            lines.lineBreak = "\r";
            lines.SetText("abcd\n  EFGHI\r\n1234");
            ClipboardExecutor.PutToClipboard("-");

            controller.PutCursor(new Place(1, 2), false);
            AssertSelection().Both(1, 2).NoNext();
            controller.Copy();
            Assert.AreEqual("1234\r", ClipboardExecutor.GetFromClipboard());
            AssertSelection().Both(1, 2).NoNext();
        }
        public void Copy_WordWrap()
        {
            Init();
            lines.SetText("abcd\n  word1 word2 word3\r\n1234");
            lines.wordWrap = true;
            lines.wwValidator.Validate(10);
            Assert.AreEqual(5, lines.wwSizeY);
            ClipboardExecutor.PutToClipboard("-");

            controller.PutCursor(new Place(4, 1), false);
            AssertSelection().Both(4, 1).NoNext();
            controller.Copy();
            Assert.AreEqual("  word1 word2 word3\r\n", ClipboardExecutor.GetFromClipboard());
            AssertSelection().Both(4, 1).NoNext();
        }
        public void CONTROVERSIAL_CuttingOfLastLineDoesNotChangeLinesCount_AsInSublime()
        {
            Init();
            lines.lineBreak = "\r";
            lines.SetText("abcd\n  ABCDEF\r\n1234");
            controller.PutCursor(new Place(1, 2), false);
            AssertSelection().Both(1, 2).NoNext();

            controller.Cut();
            Assert.AreEqual("1234\r", ClipboardExecutor.GetFromClipboard());
            AssertText("abcd\n  ABCDEF\r\n");
            AssertSelection().Both(0, 2).NoNext();

            controller.processor.Undo();
            AssertText("abcd\n  ABCDEF\r\n1234");
            AssertSelection().Both(1, 2).NoNext();
        }
        public void Paste()
        {
            Init();
            lines.SetText(SimpleText);

            ClipboardExecutor.PutToClipboard("!");
            AssertSelection().Both(0, 0);
            controller.Paste();
            Assert.AreEqual("!Du\n", GetLineText(0));
            AssertSelection().Both(1, 0);

            ClipboardExecutor.PutToClipboard("text");
            controller.PutCursor(new Pos(3, 1), false);
            AssertSelection().Both(3, 1);
            controller.Paste();
            Assert.AreEqual("Du texthast\n", GetLineText(1));
            AssertSelection().Both(7, 1);
        }
        public void CopyPaste_RN1()
        {
            Init();
            lines.SetText("Du\r\nDu hast\nDu hast\rDu hast mich");
            //D|u
            //Du| hast
            //Du |hast
            //Du h|ast mich
            controller.PutCursor(new Pos(1, 0), false);
            controller.PutNewCursor(new Pos(2, 1));
            controller.PutNewCursor(new Pos(3, 2));
            controller.PutNewCursor(new Pos(4, 3));
            AssertSelection().Both(1, 0).Next().Both(2, 1).Next().Both(3, 2).Next().Both(4, 3).NoNext();

            ClipboardExecutor.PutToClipboard("text0\r\ntext1\ntext2\rtext3");

            controller.Paste();
            Assert.AreEqual("Dtext0u\r\nDutext1 hast\nDu text2hast\rDu htext3ast mich", lines.GetText());
        }
        public void Paste_SelectionMastBeMergedBefore()
        {
            Init();
            //                  |  |
            lines.SetText("12345678901234567890123");
            controller.PutCursor(new Pos(2, 0), false);
            controller.PutNewCursor(new Pos(5, 0));
            AssertSelection().Both(2, 0).Next().Both(5, 0).NoNext();
            controller.MoveRight(true);
            controller.MoveRight(true);
            controller.MoveRight(true);
            controller.MoveRight(true);
            controller.MoveRight(true);
            AssertSelection().Anchor(2, 0).Caret(7, 0).Next().Anchor(5, 0).Caret(10, 0).NoNext();
            ClipboardExecutor.PutToClipboard("text");

            controller.Paste();
            Assert.AreEqual("12text1234567890123", lines.GetText());
            AssertSelection().Both(6, 0).NoNext();
        }
        public void CopyPast_Multiline_EuqualCount_PreferredPos()
        {
            Init();
            lines.SetText(
                "text-\n" +
                "-text1--\n" +
                "--end-"
                );
            controller.PutCursor(new Pos(0, 0), false);
            controller.PutCursor(new Pos(4, 0), true);
            controller.PutNewCursor(new Pos(1, 1));
            controller.PutCursor(new Pos(6, 1), true);
            controller.PutNewCursor(new Pos(2, 2));
            controller.PutCursor(new Pos(5, 2), true);
            AssertSelection().Anchor(0, 0).Caret(4, 0).Next().Anchor(1, 1).Caret(6, 1).Next().Anchor(2, 2).Caret(5, 2).NoNext();

            controller.Copy();
            Assert.AreEqual("text\ntext1\nend", ClipboardExecutor.GetFromClipboard());

            //te|xt-
            //-text1[--]
            //-|-end-
            controller.ClearMinorSelections();
            controller.PutCursor(new Pos(2, 0), false);
            controller.PutNewCursor(new Pos(6, 1));
            controller.PutCursor(new Pos(8, 1), true);
            controller.PutNewCursor(new Pos(1, 2));
            AssertSelection().Both(2, 0).Next().Anchor(6, 1).Caret(8, 1).Next().Both(1, 2).NoNext();

            //tetext|xt-
            //-text1text1|
            //-end|-end-
            controller.Paste();
            Assert.AreEqual("tetextxt-\n", GetLineText(0));
            Assert.AreEqual("-text1text1\n", GetLineText(1));
            Assert.AreEqual("-end-end-", GetLineText(2));
            Assert.AreEqual(3, lines.LinesCount);
            AssertSelection().Both(6, 0).Next().Both(11, 1).Next().Both(4, 2).NoNext();
            controller.MoveDown(false);
            AssertSelection().Both(6, 1);
        }
Example #17
0
        public void Readonly()
        {
            LineArray lines = new LineArray();

            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(lines, ':'));
            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(lines, '.'));
            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(lines, '%'));

            ClipboardExecutor.viLastCommand = "command";
            lines.viFullPath = "file name";

            Assert.AreEqual("command", ClipboardExecutor.GetFromRegister(lines, ':'));
            Assert.AreEqual("file name", ClipboardExecutor.GetFromRegister(lines, '%'));

            ClipboardExecutor.PutToRegister(':', "A");
            ClipboardExecutor.PutToRegister('.', "B");
            ClipboardExecutor.PutToRegister('%', "C");

            Assert.AreEqual("command", ClipboardExecutor.GetFromRegister(lines, ':'));
            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(lines, '.'));
            Assert.AreEqual("file name", ClipboardExecutor.GetFromRegister(lines, '%'));
        }
Example #18
0
        public void AlphabeticalAccumulation()
        {
            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(null, 'a'));
            Assert.AreEqual("", ClipboardExecutor.GetFromRegister(null, 'A'));

            ClipboardExecutor.PutToRegister('a', "one");
            ClipboardExecutor.PutToRegister('A', "two");
            ClipboardExecutor.PutToRegister('A', "three");

            ClipboardExecutor.PutToRegister('z', "four");
            ClipboardExecutor.PutToRegister('Z', "five");

            Assert.AreEqual("onetwothree", ClipboardExecutor.GetFromRegister(null, 'a'));
            Assert.AreEqual("onetwothree", ClipboardExecutor.GetFromRegister(null, 'A'));
            Assert.AreEqual("fourfive", ClipboardExecutor.GetFromRegister(null, 'z'));
            Assert.AreEqual("fourfive", ClipboardExecutor.GetFromRegister(null, 'Z'));

            ClipboardExecutor.PutToRegister('a', "XXX");

            Assert.AreEqual("XXX", ClipboardExecutor.GetFromRegister(null, 'a'));
            Assert.AreEqual("XXX", ClipboardExecutor.GetFromRegister(null, 'A'));
        }
        public void Paste_Multiline()
        {
            Init();
            lines.SetText(SimpleText);

            AssertSize().XY(12, 3);

            ClipboardExecutor.PutToClipboard("line0\nline00\nline000");
            controller.PutCursor(new Pos(3, 1), false);
            AssertSelection().Both(3, 1);
            controller.Paste();

            /*
             * Du
             * Du line0
             * line00
             * line000hast
             * Du hast mich
             */
            AssertSelection().Both(7, 3);
            Assert.AreEqual("Du\n", GetLineText(0));
            Assert.AreEqual("Du line0\n", GetLineText(1));
            Assert.AreEqual("line00\n", GetLineText(2));
            Assert.AreEqual("line000hast\n", GetLineText(3));
            Assert.AreEqual("Du hast mich", GetLineText(4));

            AssertSize().XY(12, 5);

            ClipboardExecutor.PutToClipboard("text\n");
            controller.PutCursor(new Pos(0, 1), false);
            AssertSelection().Both(0, 1);
            controller.Paste();
            Assert.AreEqual("Du\n", GetLineText(0));
            Assert.AreEqual("text\n", GetLineText(1));
            Assert.AreEqual("Du line0\n", GetLineText(2));
            Assert.AreEqual("line00\n", GetLineText(3));
        }
        public void Cut()
        {
            Init();
            lines.lineBreak = "\n";
            lines.SetText("abcd\n  EFGHI\r\n1234");
            ClipboardExecutor.PutToClipboard("-");

            controller.PutCursor(new Place(1, 0), false);
            controller.PutNewCursor(new Place(3, 0));
            controller.PutNewCursor(new Place(2, 1));
            AssertSelection().Both(1, 0).Next().Both(3, 0).Next().Both(2, 1).NoNext();
            controller.Cut();
            Assert.AreEqual("abcd\n  EFGHI\r\n", ClipboardExecutor.GetFromClipboard());
            AssertText("1234");
            AssertSelection().Both(0, 0).NoNext();

            controller.processor.Undo();
            AssertText("abcd\n  EFGHI\r\n1234");
            AssertSelection().Both(1, 0).Next().Both(3, 0).Next().Both(2, 1).NoNext();

            controller.processor.Redo();
            AssertText("1234");
            AssertSelection().Both(0, 0).NoNext();
        }
Example #21
0
 public void LastSearch_Readonly()
 {
     Assert.AreEqual("", ClipboardExecutor.GetFromRegister(null, '/'));
     ClipboardExecutor.PutToRegister('/', "ABC");
     Assert.AreEqual("", ClipboardExecutor.GetFromRegister(null, '/'));
 }
Example #22
0
 public void LastSearch()
 {
     Assert.AreEqual("", ClipboardExecutor.GetFromRegister(null, '/'));
     ClipboardExecutor.PutToSearch(new Pattern("pattern", false, false));
     Assert.AreEqual("pattern", ClipboardExecutor.GetFromRegister(null, '/'));
 }
 private string GetAltCommandText(string text)
 {
     return(!ClipboardExecutor.IsEnLayout() ? textBox.GetMapped(text) : text);
 }
Example #24
0
 public void AlphabeticalAccumulation_FromEmpty()
 {
     ClipboardExecutor.PutToRegister('A', "abcd");
     Assert.AreEqual("abcd", ClipboardExecutor.GetFromRegister(null, 'a'));
     Assert.AreEqual("abcd", ClipboardExecutor.GetFromRegister(null, 'A'));
 }
Example #25
0
 protected void PutToViClipboard(string text)
 {
     ClipboardExecutor.PutToRegister('\0', text);
 }
Example #26
0
 protected void AssertViClipboard(string text)
 {
     Assert.AreEqual(text, ClipboardExecutor.GetFromRegister(lines, '\0'));
 }
Example #27
0
 public void SetUp()
 {
     ClipboardExecutor.Reset(true);
 }