Пример #1
0
 public void CanMoveOutOfPromptRegionWithUpCursorKey()
 {
     FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);
     TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);
     FakeConsoleTextEditor.Column = 0;
     Assert.IsFalse(FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Up));
 }
Пример #2
0
 public void CreateFakeWorkbench()
 {
     workbench             = MockWorkbench.CreateWorkbenchWithOneViewContent("test.py");
     fakeConsoleTextEditor = workbench.FakeScriptingConsolePad.FakeConsoleTextEditor;
     fakeConsole           = workbench.FakeScriptingConsolePad.FakeScriptingConsole;
     fakeTextEditor        = workbench.ActiveMockEditableViewContent.MockTextEditor;
 }
        public void ProcessPreviewKeyDown_TextEditorPreviewKeyDownEventFiresWithEnterKey_ReturnsFalseForLetterThatShouldBeHandledByTextEditorItself()
        {
            CreateConsole();
            bool result = FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            Assert.IsFalse(result);
        }
Пример #4
0
        public void MoveOneCharacterIntoPromptTypingShouldBePrevented()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);

            Assert.AreEqual(String.Empty, TestableScriptingConsole.GetCurrentLine());
        }
Пример #5
0
        public void PreviewKeyDown_ControlAInReadOnlyRegion_HandledSetToFalseSoSelectAllInReadOnlyRegionAllowed()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left);
            bool result = FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A, ModifierKeys.Control);

            Assert.IsFalse(result);
        }
Пример #6
0
 public void CanMoveInReadOnlyRegionWithDownCursorKey()
 {
     FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);
     TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);
     FakeConsoleTextEditor.Column = 0;
     FakeConsoleTextEditor.Line   = 0;
     Assert.IsFalse(FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Down));
 }
Пример #7
0
        public void Init()
        {
            textEditor = new FakeConsoleTextEditor();
            dispatcher = new FakeControlDispatcher();
            dispatcher.CheckAccessReturnValue = true;

            stream = new ScriptingConsoleOutputStream(textEditor, dispatcher);
        }
 void WriteTwoLinesEachFollowedByEnterKey()
 {
     WriteThreeCharactersFollowedByEnterKey();
     FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Input.Key.D);
     FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Input.Key.E);
     FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Input.Key.F);
     FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Input.Key.Enter);
 }
Пример #9
0
        public void HomeKeyPressedWhenNoUserTextInConsole()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Home);

            int expectedColumn = prompt.Length;

            Assert.AreEqual(expectedColumn, FakeConsoleTextEditor.Column);
        }
        public void SetUpFixture()
        {
            base.CreateConsole();
            TestableScriptingConsole.WriteLine(prompt, ScriptingStyle.Prompt);

            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            showCompletionWindowCalledBeforeDotTypedIn = FakeConsoleTextEditor.IsShowCompletionWindowCalled;
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.OemPeriod);
        }
Пример #11
0
        public void CanBackspaceFirstCharacterOnLine()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.Column         = 5;
            FakeConsoleTextEditor.SelectionStart = 5;
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back);

            Assert.AreEqual(String.Empty, TestableScriptingConsole.GetCurrentLine());
        }
Пример #12
0
        public void MoveOneCharacterIntoPromptAndBackspaceKeyShouldNotRemoveAnything()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back);

            Assert.AreEqual("A", TestableScriptingConsole.GetCurrentLine());
            Assert.AreEqual(prompt + "A", FakeConsoleTextEditor.Text);
        }
Пример #13
0
        public void LeftArrowThenInsertNewCharacterInsertsText()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.B);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.C);

            Assert.AreEqual("ACB", TestableScriptingConsole.GetCurrentLine());
        }
        public void EnterKeyDoesNotBreakUpExistingLine()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.B);
            FakeConsoleTextEditor.SelectionStart = 1 + prompt.Length;
            FakeConsoleTextEditor.Column         = 1 + prompt.Length;
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            Assert.AreEqual(">>> AB\r\n", FakeConsoleTextEditor.Text);
        }
        public void AddOneLine()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(System.Windows.Input.Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(System.Windows.Input.Key.Enter);

            string[] lines         = TestableScriptingConsole.GetUnreadLines();
            string[] expectedLines = new string[] { "A" };

            Assert.AreEqual(expectedLines, lines);
            Assert.IsTrue(TestableScriptingConsole.IsLineAvailable);
        }
        public void ReadFirstUnreadLine_OneLineUnreadReadTwoLines_ReturnsNull()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            TestableScriptingConsole.ReadFirstUnreadLine();
            string line = TestableScriptingConsole.ReadFirstUnreadLine();

            Assert.IsNull(line);
        }
Пример #17
0
        public void SelectLastCharacterOfPromptThenPressingTheBackspaceKeyShouldNotRemoveAnything()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.SelectionStart  = prompt.Length - 1;
            FakeConsoleTextEditor.SelectionLength = 2;
            FakeConsoleTextEditor.Column         += 2;
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back);

            Assert.AreEqual("A", TestableScriptingConsole.GetCurrentLine());
            Assert.AreEqual(prompt + "A", FakeConsoleTextEditor.Text);
        }
Пример #18
0
        public void Init()
        {
            base.CreateConsole();
            TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);

            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);
            TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.B);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.OemPeriod);
        }
        public void ReadFirstUnreadLine_OneLineUnread_ReturnsLine()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            string line = TestableScriptingConsole.ReadFirstUnreadLine();

            string expectedline = "A";

            Assert.AreEqual(expectedline, line);
        }
        public void ReadLine_AutoIndentIsZero_NoTextWrittenToConsoleTextEditor()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            FakeConsoleTextEditor.IsAppendCalled = false;

            TestableScriptingConsole.ReadLine(0);

            Assert.IsFalse(FakeConsoleTextEditor.IsAppendCalled);
        }
        public void ReadLine_OneLineWaitingAndAutoIndentIsTwo_TwoSpacesAddedToLineText()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            int    indent = 2;
            string line   = TestableScriptingConsole.ReadLine(indent);

            string expectedLine = "  A";

            Assert.AreEqual(expectedLine, line);
        }
        public void ReadLine_AutoIndentIsTwo_TwoSpacesWrittenToConsoleTextEditor()
        {
            CreateConsole();
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            int indent = 2;

            TestableScriptingConsole.ReadLine(indent);

            string expectedText = "  ";

            Assert.AreEqual(expectedText, FakeConsoleTextEditor.TextPassedToAppend);
        }
Пример #23
0
        public void BackspaceOnPreviousLine()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.B);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);

            TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);

            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.C);

            // Move up a line with cursor.
            FakeConsoleTextEditor.Line = 0;

            Assert.IsTrue(FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back));
            Assert.AreEqual("C", TestableScriptingConsole.GetCurrentLine());
        }
        public void PreviousLineIsReadOnlyAfterEnterPressed()
        {
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.A);
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.B);
            FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter);
            TestableScriptingConsole.Write(prompt, ScriptingStyle.Prompt);

            // Move up a line with cursor.
            FakeConsoleTextEditor.Line = 0;
            FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Key.C);

            string expectedText =
                ">>> AB\r\n" +
                ">>> ";

            Assert.AreEqual(expectedText, FakeConsoleTextEditor.Text);
        }
 void WriteThreeCharactersToTextEditor()
 {
     FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Input.Key.A);
     FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Input.Key.B);
     FakeConsoleTextEditor.RaisePreviewKeyDownEvent(Input.Key.C);
 }
Пример #26
0
 public void CreateConsole()
 {
     TestableScriptingConsole = new TestableScriptingConsole();
     FakeConsoleTextEditor    = TestableScriptingConsole.FakeConsoleTextEditor;
 }
 public void Init()
 {
     console = new TestableScriptingConsole();
     console.Write(prompt, ScriptingStyle.Prompt);
     textEditor = console.FakeConsoleTextEditor;
 }
Пример #28
0
 public void DownKeyDoesNothing()
 {
     Assert.IsFalse(FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Key.Down));
 }
 public void Init()
 {
     textEditor = new FakeConsoleTextEditor();
 }
		public void Init()
		{
			textEditor = new FakeConsoleTextEditor();
		}
 void WriteThreeCharactersFollowedByEnterKey()
 {
     WriteThreeCharactersToTextEditor();
     FakeConsoleTextEditor.RaisePreviewKeyDownEventForDialogKey(Input.Key.Enter);
 }