From cbefb3dc43d11e51283e82a1f260a77732e592bf Mon Sep 17 00:00:00 2001 From: mrward Date: Fri, 3 Sep 2010 14:11:39 +0100 Subject: [PATCH] Rename IConsoleTextEditor to IScriptingConsoleTextEditor and move it to the Scripting Tests project. --- .../Project/PythonBinding.csproj | 3 - .../Project/Src/IPythonConsolePad.cs | 3 +- .../Project/Src/PythonConsole.cs | 6 +- .../Project/Src/PythonConsoleHost.cs | 5 +- .../Project/Src/PythonConsolePad.cs | 3 +- .../Project/Src/PythonConsoleTextEditor.cs | 4 +- .../Project/Src/PythonOutputStream.cs | 6 +- .../Src/ThreadSafePythonConsoleTextEditor.cs | 10 +- .../BuiltinCodeCompletionTestFixture.cs | 9 +- .../PythonConsoleCodeCompletionTestFixture.cs | 10 +- .../PythonConsoleCurrentLineTestFixture.cs | 4 +- .../Test/Console/PythonConsoleHostTests.cs | 4 +- .../Console/PythonConsoleReadTestFixture.cs | 1 + .../Test/Console/PythonConsoleTestsBase.cs | 1 + .../Console/PythonConsoleTextEditorTests.cs | 8 +- .../Console/PythonOutputStreamTestFixture.cs | 1 + .../ThreadSafePythonConsoleTextEditorTests.cs | 8 +- ...TwoPythonConsoleLinesWaitingTestFixture.cs | 6 +- .../Test/PythonBinding.Tests.csproj | 4 - .../Test/Utils/DerivedPythonConsoleHost.cs | 4 +- .../Test/Utils/MockConsoleTextEditor.cs | 205 ---------- .../Test/Utils/MockPythonConsolePad.cs | 4 +- .../Test/Utils/TestablePythonConsole.cs | 2 +- .../RubyBinding/Project/RubyBinding.csproj | 3 - .../Project/Src/IConsoleTextEditor.cs | 84 ----- .../Project/Src/IRubyConsolePad.cs | 3 +- .../RubyBinding/Project/Src/RubyConsole.cs | 6 +- .../Project/Src/RubyConsoleCompletionData.cs | 50 --- .../Src/RubyConsoleCompletionDataProvider.cs | 65 ---- .../Project/Src/RubyConsoleHost.cs | 6 +- .../RubyBinding/Project/Src/RubyConsolePad.cs | 5 +- .../Project/Src/RubyConsoleTextEditor.cs | 4 +- .../Project/Src/RubyOutputStream.cs | 6 +- .../Src/ThreadSafeRubyConsoleTextEditor.cs | 10 +- .../Test/Console/CodeCompletionTests.cs | 66 ---- .../InsertConsoleCompletionDataTestFixture.cs | 47 --- .../RubyConsoleCodeCompletionTestFixture.cs | 10 +- .../RubyConsoleCurrentLineTestFixture.cs | 4 +- .../Test/Console/RubyConsoleHostTests.cs | 4 +- .../Console/RubyConsoleReadTestFixture.cs | 1 + .../Test/Console/RubyConsoleTestsBase.cs | 1 + .../Console/RubyConsoleTextEditorTests.cs | 8 +- .../Console/RubyOutputStreamTestFixture.cs | 1 + .../ThreadSafeRubyConsoleTextEditorTests.cs | 1 + .../TwoRubyConsoleLinesWaitingTestFixture.cs | 6 +- .../RubyBinding/Test/RubyBinding.Tests.csproj | 4 - .../Test/Utils/DerivedRubyConsoleHost.cs | 4 +- .../Test/Utils/MockRubyConsolePad.cs | 4 +- .../Test/Utils/TestableRubyConsole.cs | 2 +- .../Tests/MockConsoleTextEditorTestFixture.cs | 351 ------------------ .../Project/ICSharpCode.Scripting.csproj | 27 ++ .../Src/IScriptingConsoleTextEditor.cs} | 9 +- .../Src/ScriptingConsoleCompletionData.cs} | 6 +- ...ScriptingConsoleCompletionDataProvider.cs} | 15 +- .../EmptyStringCodeCompletionTests.cs} | 11 +- .../InsertConsoleCompletionDataTestFixture.cs | 8 +- .../Test/ICSharpCode.Scripting.Tests.csproj | 7 + .../Test/Utils/MockConsoleTextEditor.cs | 10 +- .../Tests/MockConsoleTextEditorTests.cs} | 6 +- .../BackendBindings/Scripting/Test/app.config | 14 + 60 files changed, 185 insertions(+), 995 deletions(-) delete mode 100644 src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockConsoleTextEditor.cs delete mode 100644 src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/IConsoleTextEditor.cs delete mode 100644 src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleCompletionData.cs delete mode 100644 src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleCompletionDataProvider.cs delete mode 100644 src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/CodeCompletionTests.cs delete mode 100644 src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/InsertConsoleCompletionDataTestFixture.cs delete mode 100644 src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/Tests/MockConsoleTextEditorTestFixture.cs rename src/AddIns/BackendBindings/{Python/PythonBinding/Project/Src/IConsoleTextEditor.cs => Scripting/Project/Src/IScriptingConsoleTextEditor.cs} (88%) rename src/AddIns/BackendBindings/{Python/PythonBinding/Project/Src/PythonConsoleCompletionData.cs => Scripting/Project/Src/ScriptingConsoleCompletionData.cs} (86%) rename src/AddIns/BackendBindings/{Python/PythonBinding/Project/Src/PythonConsoleCompletionDataProvider.cs => Scripting/Project/Src/ScriptingConsoleCompletionDataProvider.cs} (74%) rename src/AddIns/BackendBindings/{Python/PythonBinding/Test/Console/CodeCompletionTests.cs => Scripting/Test/Console/EmptyStringCodeCompletionTests.cs} (86%) rename src/AddIns/BackendBindings/{Python/PythonBinding => Scripting}/Test/Console/InsertConsoleCompletionDataTestFixture.cs (83%) rename src/AddIns/BackendBindings/{Ruby/RubyBinding => Scripting}/Test/Utils/MockConsoleTextEditor.cs (93%) rename src/AddIns/BackendBindings/{Python/PythonBinding/Test/Utils/Tests/MockConsoleTextEditorTestFixture.cs => Scripting/Test/Utils/Tests/MockConsoleTextEditorTests.cs} (98%) create mode 100644 src/AddIns/BackendBindings/Scripting/Test/app.config diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj b/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj index 5843738f48..cac6cf9d9f 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/PythonBinding.csproj @@ -96,7 +96,6 @@ - @@ -129,7 +128,6 @@ - @@ -139,7 +137,6 @@ - diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/IPythonConsolePad.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/IPythonConsolePad.cs index 6e3aa0b1de..b9dafdff0b 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/IPythonConsolePad.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/IPythonConsolePad.cs @@ -6,13 +6,14 @@ // using System; +using ICSharpCode.Scripting; namespace ICSharpCode.PythonBinding { public interface IPythonConsolePad { void BringToFront(); - IConsoleTextEditor ConsoleTextEditor { get; } + IScriptingConsoleTextEditor ConsoleTextEditor { get; } IPythonConsole PythonConsole { get; } } } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsole.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsole.cs index 82866a54ab..0008c22d2e 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsole.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsole.cs @@ -21,7 +21,7 @@ namespace ICSharpCode.PythonBinding { public class PythonConsole : IConsole, IDisposable, IMemberProvider, IPythonConsole { - IConsoleTextEditor textEditor; + IScriptingConsoleTextEditor textEditor; int lineReceivedEventIndex = 0; // The index into the waitHandles array where the lineReceivedEvent is stored. ManualResetEvent lineReceivedEvent = new ManualResetEvent(false); ManualResetEvent disposedEvent = new ManualResetEvent(false); @@ -33,7 +33,7 @@ namespace ICSharpCode.PythonBinding protected List unreadLines = new List(); - public PythonConsole(IConsoleTextEditor textEditor) + public PythonConsole(IScriptingConsoleTextEditor textEditor) { waitHandles = new WaitHandle[] {lineReceivedEvent, disposedEvent}; @@ -282,7 +282,7 @@ namespace ICSharpCode.PythonBinding void ShowCompletionWindow() { - PythonConsoleCompletionDataProvider completionProvider = new PythonConsoleCompletionDataProvider(this); + ScriptingConsoleCompletionDataProvider completionProvider = new ScriptingConsoleCompletionDataProvider(this); textEditor.ShowCompletionWindow(completionProvider); } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleHost.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleHost.cs index 0e66887e99..e72f036892 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleHost.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleHost.cs @@ -9,6 +9,7 @@ using System; using System.Text; using System.Threading; +using ICSharpCode.Scripting; using IronPython.Hosting; using IronPython.Runtime; using Microsoft.Scripting.Hosting; @@ -19,10 +20,10 @@ namespace ICSharpCode.PythonBinding public class PythonConsoleHost : ConsoleHost, IDisposable { Thread thread; - IConsoleTextEditor textEditor; + IScriptingConsoleTextEditor textEditor; PythonConsole pythonConsole; - public PythonConsoleHost(IConsoleTextEditor textEditor) + public PythonConsoleHost(IScriptingConsoleTextEditor textEditor) { this.textEditor = textEditor; pythonConsole = new PythonConsole(textEditor); diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs index 9d27e9738f..1693359c5c 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsolePad.cs @@ -6,6 +6,7 @@ // using System; +using ICSharpCode.Scripting; using ICSharpCode.SharpDevelop.Gui; using AvalonEdit = ICSharpCode.AvalonEdit; @@ -25,7 +26,7 @@ namespace ICSharpCode.PythonBinding host.Run(); } - public IConsoleTextEditor ConsoleTextEditor { + public IScriptingConsoleTextEditor ConsoleTextEditor { get { return consoleTextEditor; } } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleTextEditor.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleTextEditor.cs index ec75301370..8babd17958 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleTextEditor.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleTextEditor.cs @@ -18,7 +18,7 @@ using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.PythonBinding { - public class PythonConsoleTextEditor : IConsoleTextEditor + public class PythonConsoleTextEditor : IScriptingConsoleTextEditor { TextEditor textEditor; Color customLineColour = Color.LightGray; @@ -115,7 +115,7 @@ namespace ICSharpCode.PythonBinding readOnlyRegion.EndOffset = textEditor.Document.TextLength; } - public void ShowCompletionWindow(PythonConsoleCompletionDataProvider completionDataProvider) + public void ShowCompletionWindow(ScriptingConsoleCompletionDataProvider completionDataProvider) { ICompletionData[] items = completionDataProvider.GenerateCompletionData(this); if (items.Length > 0) { diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonOutputStream.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonOutputStream.cs index fba1c003d0..16e6a835aa 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonOutputStream.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonOutputStream.cs @@ -9,13 +9,15 @@ using System; using System.IO; using System.Text; +using ICSharpCode.Scripting; + namespace ICSharpCode.PythonBinding { public class PythonOutputStream : Stream { - IConsoleTextEditor textEditor; + IScriptingConsoleTextEditor textEditor; - public PythonOutputStream(IConsoleTextEditor textEditor) + public PythonOutputStream(IScriptingConsoleTextEditor textEditor) { this.textEditor = textEditor; } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/ThreadSafePythonConsoleTextEditor.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/ThreadSafePythonConsoleTextEditor.cs index 2801aaf606..8595b14ccd 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/ThreadSafePythonConsoleTextEditor.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/ThreadSafePythonConsoleTextEditor.cs @@ -11,11 +11,11 @@ using ICSharpCode.Scripting; namespace ICSharpCode.PythonBinding { - public class ThreadSafePythonConsoleTextEditor : IConsoleTextEditor + public class ThreadSafePythonConsoleTextEditor : IScriptingConsoleTextEditor { delegate string GetLineInvoker(int index); - IConsoleTextEditor consoleTextEditor; + IScriptingConsoleTextEditor consoleTextEditor; IControlDispatcher dispatcher; public ThreadSafePythonConsoleTextEditor(TextEditor textEditor) @@ -23,7 +23,7 @@ namespace ICSharpCode.PythonBinding { } - public ThreadSafePythonConsoleTextEditor(IConsoleTextEditor consoleTextEditor, IControlDispatcher dispatcher) + public ThreadSafePythonConsoleTextEditor(IScriptingConsoleTextEditor consoleTextEditor, IControlDispatcher dispatcher) { this.consoleTextEditor = consoleTextEditor; this.dispatcher = dispatcher; @@ -95,12 +95,12 @@ namespace ICSharpCode.PythonBinding } } - public void ShowCompletionWindow(PythonConsoleCompletionDataProvider completionDataProvider) + public void ShowCompletionWindow(ScriptingConsoleCompletionDataProvider completionDataProvider) { if (dispatcher.CheckAccess()) { consoleTextEditor.ShowCompletionWindow(completionDataProvider); } else { - Action action = ShowCompletionWindow; + Action action = ShowCompletionWindow; dispatcher.Invoke(action, completionDataProvider); } } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/BuiltinCodeCompletionTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/BuiltinCodeCompletionTestFixture.cs index cdbd280eb1..a146c9b3fd 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/BuiltinCodeCompletionTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/BuiltinCodeCompletionTestFixture.cs @@ -10,6 +10,7 @@ using System.Collections.Generic; using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit.CodeCompletion; using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting; using ICSharpCode.Scripting.Tests.Console; using Microsoft.Scripting.Hosting; using NUnit.Framework; @@ -24,7 +25,7 @@ namespace PythonBinding.Tests.Console { ICompletionData[] completionItems; ICompletionData[] expectedCompletionItems; - PythonConsoleCompletionDataProvider provider; + ScriptingConsoleCompletionDataProvider provider; MockMemberProvider memberProvider; [TestFixtureSetUp] @@ -38,7 +39,7 @@ namespace PythonBinding.Tests.Console memberProvider.SetMemberNames(new string[] {"a", "b", "c"}); expectedCompletionItems = CreateCompletionItems(memberProvider.GetMemberNames("__builtins__")); - provider = new PythonConsoleCompletionDataProvider(memberProvider); + provider = new ScriptingConsoleCompletionDataProvider(memberProvider); completionItems = provider.GenerateCompletionData(textEditor); } @@ -70,9 +71,9 @@ namespace PythonBinding.Tests.Console ICompletionData[] CreateCompletionItems(IList memberNames) { - List items = new List(); + List items = new List(); foreach (string memberName in memberNames) { - items.Add(new PythonConsoleCompletionData(memberName)); + items.Add(new ScriptingConsoleCompletionData(memberName)); } return items.ToArray(); } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleCodeCompletionTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleCodeCompletionTestFixture.cs index 1afa5caa42..8199cd8d70 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleCodeCompletionTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleCodeCompletionTestFixture.cs @@ -7,10 +7,12 @@ using System; using System.Collections.Generic; -using System.Windows.Input; using System.Threading; -using Microsoft.Scripting.Hosting.Shell; +using System.Windows.Input; + using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting; +using Microsoft.Scripting.Hosting.Shell; using NUnit.Framework; using PythonBinding.Tests.Utils; @@ -49,9 +51,9 @@ namespace PythonBinding.Tests.Console } [Test] - public void PythonConsoleCompletionDataProviderPassedToShowCompletionWindowMethod() + public void ScriptingConsoleCompletionDataProviderPassedToShowCompletionWindowMethod() { - Assert.IsInstanceOf(typeof(PythonConsoleCompletionDataProvider), MockConsoleTextEditor.CompletionProviderPassedToShowCompletionWindow); + Assert.IsInstanceOf(typeof(ScriptingConsoleCompletionDataProvider), MockConsoleTextEditor.CompletionProviderPassedToShowCompletionWindow); } } } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleCurrentLineTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleCurrentLineTestFixture.cs index 36809596af..13ee2993dc 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleCurrentLineTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleCurrentLineTestFixture.cs @@ -7,11 +7,11 @@ using System; using System.Windows.Input; - +using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting.Tests.Utils; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; using Microsoft.Scripting.Hosting.Shell; -using ICSharpCode.PythonBinding; using NUnit.Framework; using PythonBinding.Tests.Utils; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleHostTests.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleHostTests.cs index a3940d0720..dba3215fb1 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleHostTests.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleHostTests.cs @@ -6,15 +6,15 @@ // using System; - using ICSharpCode.AvalonEdit; using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting.Tests.Utils; using IronPython.Hosting; using IronPython.Runtime; -using NUnit.Framework; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; using Microsoft.Scripting.Hosting.Shell; +using NUnit.Framework; using PythonBinding.Tests.Utils; namespace PythonBinding.Tests.Console diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleReadTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleReadTestFixture.cs index e2c7d6f2af..f5cc602d97 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleReadTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleReadTestFixture.cs @@ -10,6 +10,7 @@ using System.Threading; using System.Windows.Input; using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting.Tests.Utils; using NUnit.Framework; using PythonBinding.Tests.Utils; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleTestsBase.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleTestsBase.cs index aa158a5e0c..2167e56d8e 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleTestsBase.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleTestsBase.cs @@ -7,6 +7,7 @@ using System; using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting.Tests.Utils; using PythonBinding.Tests.Utils; namespace PythonBinding.Tests.Console diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleTextEditorTests.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleTextEditorTests.cs index 5ef4a5bb16..ca04e7adcc 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleTextEditorTests.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonConsoleTextEditorTests.cs @@ -9,9 +9,11 @@ using System; using System.Collections.Generic; using System.Threading; using System.Windows.Input; + using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit.Editing; using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting; using NUnit.Framework; using PythonBinding.Tests.Utils; @@ -31,9 +33,9 @@ namespace PythonBinding.Tests.Console } [Test] - public void InterfaceImplemented_NewInstance_ImplementsIConsoleTextEditorInterface() + public void InterfaceImplemented_NewInstance_ImplementsIScriptingConsoleTextEditorInterface() { - Assert.IsNotNull(consoleTextEditor as IConsoleTextEditor); + Assert.IsNotNull(consoleTextEditor as IScriptingConsoleTextEditor); } [Test] @@ -101,7 +103,7 @@ namespace PythonBinding.Tests.Console AssertSelectionsAreEqual(expectedSelection, consoleTextEditor); } - void AssertSelectionsAreEqual(SimpleSelection expectedSelection, IConsoleTextEditor consoleTextEditor) + void AssertSelectionsAreEqual(SimpleSelection expectedSelection, IScriptingConsoleTextEditor consoleTextEditor) { int selectionLength = consoleTextEditor.SelectionStart + consoleTextEditor.SelectionLength; SimpleSelection actualSelection = new SimpleSelection(consoleTextEditor.SelectionStart, selectionLength); diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonOutputStreamTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonOutputStreamTestFixture.cs index b88edcb5a1..d205bb4b41 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonOutputStreamTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/PythonOutputStreamTestFixture.cs @@ -10,6 +10,7 @@ using System.IO; using System.Text; using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting.Tests.Utils; using NUnit.Framework; using PythonBinding.Tests.Utils; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/ThreadSafePythonConsoleTextEditorTests.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/ThreadSafePythonConsoleTextEditorTests.cs index b1a3e26cb1..7b2d10173f 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/ThreadSafePythonConsoleTextEditorTests.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/ThreadSafePythonConsoleTextEditorTests.cs @@ -166,10 +166,10 @@ namespace PythonBinding.Tests.Console [Test] public void ShowCompletionWindow_WrappedConsoleTextEditor_CallsWrappedConsoleTextEditorMethod() { - PythonConsoleCompletionDataProvider expectedProvider = new PythonConsoleCompletionDataProvider(null); + ScriptingConsoleCompletionDataProvider expectedProvider = new ScriptingConsoleCompletionDataProvider(null); threadSafeConsoleTextEditor.ShowCompletionWindow(expectedProvider); - PythonConsoleCompletionDataProvider provider = fakeConsoleTextEditor.CompletionProviderPassedToShowCompletionWindow; + ScriptingConsoleCompletionDataProvider provider = fakeConsoleTextEditor.CompletionProviderPassedToShowCompletionWindow; Assert.AreEqual(expectedProvider, provider); } @@ -311,7 +311,7 @@ namespace PythonBinding.Tests.Console dispatcher.CheckAccessReturnValue = false; dispatcher.MethodInvoked = null; - PythonConsoleCompletionDataProvider provider = new PythonConsoleCompletionDataProvider(null); + ScriptingConsoleCompletionDataProvider provider = new ScriptingConsoleCompletionDataProvider(null); threadSafeConsoleTextEditor.ShowCompletionWindow(provider); Assert.IsNotNull(dispatcher.MethodInvoked); } @@ -322,7 +322,7 @@ namespace PythonBinding.Tests.Console dispatcher.CheckAccessReturnValue = false; dispatcher.MethodInvoked = null; - PythonConsoleCompletionDataProvider provider = new PythonConsoleCompletionDataProvider(null); + ScriptingConsoleCompletionDataProvider provider = new ScriptingConsoleCompletionDataProvider(null); threadSafeConsoleTextEditor.ShowCompletionWindow(provider); object[] expectedArgs = new object[] { provider }; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/TwoPythonConsoleLinesWaitingTestFixture.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/TwoPythonConsoleLinesWaitingTestFixture.cs index 128f34bdc6..e45108fb4f 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/TwoPythonConsoleLinesWaitingTestFixture.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/TwoPythonConsoleLinesWaitingTestFixture.cs @@ -7,16 +7,16 @@ using System; using System.Threading; -using Input = System.Windows.Input; - using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting.Tests.Utils; using IronPython.Hosting; using IronPython.Runtime; -using NUnit.Framework; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; using Microsoft.Scripting.Hosting.Shell; +using NUnit.Framework; using PythonBinding.Tests.Utils; +using Input = System.Windows.Input; namespace PythonBinding.Tests.Console { diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj b/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj index 6d57011de2..4145735221 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/PythonBinding.Tests.csproj @@ -105,10 +105,8 @@ - - @@ -440,7 +438,6 @@ - @@ -457,7 +454,6 @@ - diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonConsoleHost.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonConsoleHost.cs index 1a9b135253..184223a1ec 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonConsoleHost.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/DerivedPythonConsoleHost.cs @@ -7,8 +7,8 @@ using System; using System.IO; - using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; using Microsoft.Scripting.Hosting.Shell; @@ -19,7 +19,7 @@ namespace PythonBinding.Tests.Console { PythonOutputStream outputStream; - public DerivedPythonConsoleHost(IConsoleTextEditor textEditor) : base(textEditor) + public DerivedPythonConsoleHost(IScriptingConsoleTextEditor textEditor) : base(textEditor) { } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockConsoleTextEditor.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockConsoleTextEditor.cs deleted file mode 100644 index 390cfa1cc3..0000000000 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockConsoleTextEditor.cs +++ /dev/null @@ -1,205 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; -using System.Collections.Generic; -using System.Runtime.InteropServices; -using System.Text; -using System.Windows.Input; - -using ICSharpCode.NRefactory; -using ICSharpCode.PythonBinding; -using ICSharpCode.Scripting; -using ICSharpCode.Scripting.Tests.Utils; - -namespace PythonBinding.Tests.Utils -{ - public class MockConsoleTextEditor : IConsoleTextEditor - { - public bool IsDisposed; - public bool IsWriteCalled; - - public bool IsShowCompletionWindowCalled; - public bool IsMakeCurrentContentReadOnlyCalled; - public PythonConsoleCompletionDataProvider CompletionProviderPassedToShowCompletionWindow; - public string TextPassedToWrite; - public string TextPassedToReplace; - public int LengthPassedToReplace = -1; - public int IndexPassedToReplace = -1; - public Location CursorLocationWhenWriteTextCalled; - public bool IsColumnChangedBeforeTextWritten; - - public StringBuilder PreviousLines = new StringBuilder(); - public StringBuilder LineBuilder = new StringBuilder(); - - public event ConsoleTextEditorKeyEventHandler PreviewKeyDown; - - public MockConsoleTextEditor() - { - TotalLines = 1; - } - - public void Dispose() - { - IsDisposed = true; - } - - public void Write(string text) - { - TextPassedToWrite = text; - CursorLocationWhenWriteTextCalled = new Location(Column, Line); - IsWriteCalled = true; - LineBuilder.Append(text); - Column += text.Length; - } - - public string Text { - get { return PreviousLines.ToString() + LineBuilder.ToString(); } - set { - PreviousLines = new StringBuilder(); - LineBuilder = new StringBuilder(); - TotalLines = 1; - foreach (char ch in value) { - LineBuilder.Append(ch); - if (ch == '\n') { - TotalLines++; - PreviousLines.Append(LineBuilder.ToString()); - LineBuilder = new StringBuilder(); - } - } - Column = LineBuilder.Length; - SelectionStart = Column; - } - } - - public bool RaisePreviewKeyDownEvent(Key key) - { - MockConsoleTextEditorKeyEventArgs e = new MockConsoleTextEditorKeyEventArgs(key); - OnPreviewKeyDown(e); - if (!e.Handled) { - KeyConverter converter = new KeyConverter(); - string text = converter.ConvertToString(key); - if (IsCursorAtEnd) { - LineBuilder.Append(text); - } else { - LineBuilder.Insert(Column, text); - } - Column++; - SelectionStart = Column; - } - return e.Handled; - } - - void OnPreviewKeyDown(MockConsoleTextEditorKeyEventArgs e) - { - if (PreviewKeyDown != null) { - PreviewKeyDown(this, e); - } - } - - public void RaisePreviewKeyDownEvent(MockConsoleTextEditorKeyEventArgs e) - { - OnPreviewKeyDown(e); - } - - public bool RaisePreviewKeyDownEventForDialogKey(Key key) - { - MockConsoleTextEditorKeyEventArgs e = new MockConsoleTextEditorKeyEventArgs(key); - OnPreviewKeyDown(e); - if (!e.Handled) { - switch (key) { - case Key.Enter: { - if (IsCursorAtEnd) { - LineBuilder.Append(Environment.NewLine); - PreviousLines.Append(LineBuilder.ToString()); - LineBuilder = new StringBuilder(); - Column = 0; - SelectionStart = Column; - } else { - int length = LineBuilder.Length; - string currentLine = LineBuilder.ToString(); - PreviousLines.Append(currentLine.Substring(0, Column) + Environment.NewLine); - LineBuilder = new StringBuilder(); - LineBuilder.Append(currentLine.Substring(Column)); - Column = length - Column; - SelectionStart = Column; - } - TotalLines++; - Line++; - } - break; - case Key.Back: { - OnBackspaceKeyPressed(); - } - break; - case Key.Left: { - Column--; - SelectionStart = Column; - } - break; - case Key.Right: { - Column++; - SelectionStart = Column; - } - break; - } - } - return e.Handled; - } - - public bool IsCompletionWindowDisplayed { get; set; } - public int Column { get; set; } - public int SelectionStart { get; set; } - public int SelectionLength { get; set; } - public int Line { get; set; } - public int TotalLines { get; set; } - - public string GetLine(int index) - { - if (index == TotalLines - 1) { - return LineBuilder.ToString(); - } - return "aaaa"; - } - - public void Replace(int index, int length, string text) - { - TextPassedToReplace = text; - IndexPassedToReplace = index; - LengthPassedToReplace = length; - - LineBuilder.Remove(index, length); - LineBuilder.Insert(index, text); - } - - public void ShowCompletionWindow(PythonConsoleCompletionDataProvider completionDataProvider) - { - IsShowCompletionWindowCalled = true; - IsCompletionWindowDisplayed = true; - this.CompletionProviderPassedToShowCompletionWindow = completionDataProvider; - } - - public void MakeCurrentContentReadOnly() - { - IsMakeCurrentContentReadOnlyCalled = true; - } - - bool IsCursorAtEnd { - get { return Column == LineBuilder.ToString().Length; } - } - - void OnBackspaceKeyPressed() - { - if (SelectionLength == 0) { - // Remove a single character to the left of the cursor position. - LineBuilder.Remove(Column - 1, 1); - } else { - LineBuilder.Remove(SelectionStart, SelectionLength); - } - } - } -} diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockPythonConsolePad.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockPythonConsolePad.cs index 45380f3362..46bd8baa70 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockPythonConsolePad.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/MockPythonConsolePad.cs @@ -7,6 +7,8 @@ using System; using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting; +using ICSharpCode.Scripting.Tests.Utils; namespace PythonBinding.Tests.Utils { @@ -22,7 +24,7 @@ namespace PythonBinding.Tests.Utils BringToFrontCalled = true; } - public IConsoleTextEditor ConsoleTextEditor { + public IScriptingConsoleTextEditor ConsoleTextEditor { get { return MockConsoleTextEditor; } } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/TestablePythonConsole.cs b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/TestablePythonConsole.cs index 54cd40f7d4..202b46e0d1 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/TestablePythonConsole.cs +++ b/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/TestablePythonConsole.cs @@ -26,7 +26,7 @@ namespace PythonBinding.Tests.Utils { } - TestablePythonConsole(IConsoleTextEditor consoleTextEditor, PythonCommandLine commandLine) + TestablePythonConsole(IScriptingConsoleTextEditor consoleTextEditor, PythonCommandLine commandLine) : base(consoleTextEditor) { CommandLine = commandLine; diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj index 1e97622665..65ab918673 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/RubyBinding.csproj @@ -91,10 +91,8 @@ - - @@ -105,7 +103,6 @@ - diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/IConsoleTextEditor.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/IConsoleTextEditor.cs deleted file mode 100644 index 28a048dee5..0000000000 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/IConsoleTextEditor.cs +++ /dev/null @@ -1,84 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; -using ICSharpCode.Scripting; - -namespace ICSharpCode.RubyBinding -{ - /// - /// The interface that the text editor used by the RubyConsole needs to be implement. Note that - /// all the methods will be called on another thread not the main UI thread and will therefore need to - /// be invoked. - /// - public interface IConsoleTextEditor : IDisposable - { - /// - /// Fired when a key is pressed but before any text has been added to the text editor. - /// - /// - /// The handler should set the ConsoleTextEditorKeyEventArgs.Handled to true if the text editor should not - /// process the key and not insert any text. - /// - event ConsoleTextEditorKeyEventHandler PreviewKeyDown; - - /// - /// Inserts text at the current cursor location. - /// - void Write(string text); - - /// - /// Replaces the text at the specified index on the current line with the specified text. - /// - void Replace(int index, int length, string text); - - /// - /// Gets or sets the current column position of the cursor on the current line. This is zero based. - /// - int Column {get; set;} - - /// - /// Gets the length of the currently selected text. - /// - int SelectionLength {get;} - - /// - /// Gets the start position of the currently selected text. - /// - int SelectionStart {get;} - - /// - /// Gets the current line the cursor is on. This is zero based. - /// - int Line {get; set;} - - /// - /// Gets the total number of lines in the text editor. - /// - int TotalLines {get;} - - /// - /// Gets the text for the specified line. - /// - string GetLine(int index); - - /// - /// Shows the code completion window. - /// - void ShowCompletionWindow(RubyConsoleCompletionDataProvider completionDataProvider); - - /// - /// Indicates whether the completion window is currently being displayed. - /// - bool IsCompletionWindowDisplayed {get;} - - /// - /// Makes the current text content read only. Text can be entered at the end. - /// - void MakeCurrentContentReadOnly(); - } -} diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/IRubyConsolePad.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/IRubyConsolePad.cs index bb13917aa2..848d328eb7 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/IRubyConsolePad.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/IRubyConsolePad.cs @@ -6,13 +6,14 @@ // using System; +using ICSharpCode.Scripting; namespace ICSharpCode.RubyBinding { public interface IRubyConsolePad { void BringToFront(); - IConsoleTextEditor ConsoleTextEditor { get; } + IScriptingConsoleTextEditor ConsoleTextEditor { get; } IRubyConsole RubyConsole { get; } } } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsole.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsole.cs index 3d353ac97e..a9c820a839 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsole.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsole.cs @@ -19,7 +19,7 @@ namespace ICSharpCode.RubyBinding { public class RubyConsole : IConsole, IDisposable, IMemberProvider, IRubyConsole { - IConsoleTextEditor textEditor; + IScriptingConsoleTextEditor textEditor; int lineReceivedEventIndex = 0; // The index into the waitHandles array where the lineReceivedEvent is stored. ManualResetEvent lineReceivedEvent = new ManualResetEvent(false); ManualResetEvent disposedEvent = new ManualResetEvent(false); @@ -31,7 +31,7 @@ namespace ICSharpCode.RubyBinding protected List unreadLines = new List(); - public RubyConsole(IConsoleTextEditor textEditor) + public RubyConsole(IScriptingConsoleTextEditor textEditor) { waitHandles = new WaitHandle[] {lineReceivedEvent, disposedEvent}; @@ -314,7 +314,7 @@ namespace ICSharpCode.RubyBinding void ShowCompletionWindow() { - RubyConsoleCompletionDataProvider completionProvider = new RubyConsoleCompletionDataProvider(this); + ScriptingConsoleCompletionDataProvider completionProvider = new ScriptingConsoleCompletionDataProvider(this); textEditor.ShowCompletionWindow(completionProvider); } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleCompletionData.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleCompletionData.cs deleted file mode 100644 index f3a5cf6651..0000000000 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleCompletionData.cs +++ /dev/null @@ -1,50 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; -using System.Windows.Media; -using ICSharpCode.AvalonEdit.CodeCompletion; -using ICSharpCode.AvalonEdit.Document; -using ICSharpCode.AvalonEdit.Editing; - -namespace ICSharpCode.RubyBinding -{ - public class RubyConsoleCompletionData : ICompletionData - { - string text = String.Empty; - - public RubyConsoleCompletionData(string text) - { - this.text = text; - } - - public ImageSource Image { - get { return null; } - } - - public string Text { - get { return text; } - } - - public object Content { - get { return text; } - } - - public object Description { - get { return null; } - } - - public double Priority { - get { return 0; } - } - - public void Complete(TextArea textArea, ISegment completionSegment, EventArgs insertionRequestEventArgs) - { - textArea.Document.Replace(completionSegment, text); - } - } -} diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleCompletionDataProvider.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleCompletionDataProvider.cs deleted file mode 100644 index 4f9fdf5d1c..0000000000 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleCompletionDataProvider.cs +++ /dev/null @@ -1,65 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; -using System.Collections.Generic; -using ICSharpCode.AvalonEdit.CodeCompletion; -using ICSharpCode.Core; -using ICSharpCode.Scripting; -using ICSharpCode.SharpDevelop.Editor; -using ICSharpCode.SharpDevelop.Editor.CodeCompletion; - -namespace ICSharpCode.RubyBinding -{ - /// - /// Provides code completion for the Ruby Console window. - /// - public class RubyConsoleCompletionDataProvider - { - IMemberProvider memberProvider; - - public RubyConsoleCompletionDataProvider(IMemberProvider memberProvider) - { - this.memberProvider = memberProvider; - //DefaultIndex = 0; - } - - public ICompletionData[] GenerateCompletionData(IConsoleTextEditor textEditor) - { - string line = textEditor.GetLine(textEditor.TotalLines - 1); - return GenerateCompletionData(line); - } - - /// - /// Generates completion data for the specified text. The text should be everything before - /// the dot character that triggered the completion. The text can contain the command line prompt - /// '>>>' as this will be ignored. - /// - public ICompletionData[] GenerateCompletionData(string line) - { - List items = new List(); - - string name = GetName(line); - if (!String.IsNullOrEmpty(name)) { - try { - foreach (string member in memberProvider.GetMemberNames(name)) { - items.Add(new RubyConsoleCompletionData(member)); - } - } catch { - // Do nothing. - } - } - return items.ToArray(); - } - - string GetName(string text) - { - int startIndex = text.LastIndexOf(' '); - return text.Substring(startIndex + 1); - } - } -} diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleHost.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleHost.cs index 556885887c..dd22464feb 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleHost.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleHost.cs @@ -8,6 +8,8 @@ using System; using System.Text; using System.Threading; + +using ICSharpCode.Scripting; using IronRuby; using IronRuby.Hosting; using IronRuby.Runtime; @@ -19,10 +21,10 @@ namespace ICSharpCode.RubyBinding public class RubyConsoleHost : ConsoleHost, IDisposable { Thread thread; - IConsoleTextEditor textEditor; + IScriptingConsoleTextEditor textEditor; RubyConsole rubyConsole; - public RubyConsoleHost(IConsoleTextEditor textEditor) + public RubyConsoleHost(IScriptingConsoleTextEditor textEditor) { this.textEditor = textEditor; rubyConsole = new RubyConsole(textEditor); diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs index acf56afba7..0b1bbba583 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsolePad.cs @@ -6,8 +6,9 @@ // using System; -using AvalonEdit = ICSharpCode.AvalonEdit; +using ICSharpCode.Scripting; using ICSharpCode.SharpDevelop.Gui; +using AvalonEdit = ICSharpCode.AvalonEdit; namespace ICSharpCode.RubyBinding { @@ -25,7 +26,7 @@ namespace ICSharpCode.RubyBinding host.Run(); } - public IConsoleTextEditor ConsoleTextEditor { + public IScriptingConsoleTextEditor ConsoleTextEditor { get { return consoleTextEditor; } } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleTextEditor.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleTextEditor.cs index bb57be1202..d0d62ec843 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleTextEditor.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyConsoleTextEditor.cs @@ -19,7 +19,7 @@ using ICSharpCode.SharpDevelop.Gui; namespace ICSharpCode.RubyBinding { - public class RubyConsoleTextEditor : IConsoleTextEditor + public class RubyConsoleTextEditor : IScriptingConsoleTextEditor { TextEditor textEditor; Color customLineColour = Color.LightGray; @@ -116,7 +116,7 @@ namespace ICSharpCode.RubyBinding readOnlyRegion.EndOffset = textEditor.Document.TextLength; } - public void ShowCompletionWindow(RubyConsoleCompletionDataProvider completionDataProvider) + public void ShowCompletionWindow(ScriptingConsoleCompletionDataProvider completionDataProvider) { ICompletionData[] items = completionDataProvider.GenerateCompletionData(this); if (items.Length > 0) { diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyOutputStream.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyOutputStream.cs index 412a85d8d8..77f32be89e 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyOutputStream.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/RubyOutputStream.cs @@ -9,13 +9,15 @@ using System; using System.IO; using System.Text; +using ICSharpCode.Scripting; + namespace ICSharpCode.RubyBinding { public class RubyOutputStream : Stream { - IConsoleTextEditor textEditor; + IScriptingConsoleTextEditor textEditor; - public RubyOutputStream(IConsoleTextEditor textEditor) + public RubyOutputStream(IScriptingConsoleTextEditor textEditor) { this.textEditor = textEditor; } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/ThreadSafeRubyConsoleTextEditor.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/ThreadSafeRubyConsoleTextEditor.cs index 1d18a3bd0c..8a78c22351 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/ThreadSafeRubyConsoleTextEditor.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Project/Src/ThreadSafeRubyConsoleTextEditor.cs @@ -11,11 +11,11 @@ using ICSharpCode.Scripting; namespace ICSharpCode.RubyBinding { - public class ThreadSafeRubyConsoleTextEditor : IConsoleTextEditor + public class ThreadSafeRubyConsoleTextEditor : IScriptingConsoleTextEditor { delegate string GetLineInvoker(int index); - IConsoleTextEditor consoleTextEditor; + IScriptingConsoleTextEditor consoleTextEditor; IControlDispatcher dispatcher; public ThreadSafeRubyConsoleTextEditor(TextEditor textEditor) @@ -23,7 +23,7 @@ namespace ICSharpCode.RubyBinding { } - public ThreadSafeRubyConsoleTextEditor(IConsoleTextEditor consoleTextEditor, IControlDispatcher dispatcher) + public ThreadSafeRubyConsoleTextEditor(IScriptingConsoleTextEditor consoleTextEditor, IControlDispatcher dispatcher) { this.consoleTextEditor = consoleTextEditor; this.dispatcher = dispatcher; @@ -95,12 +95,12 @@ namespace ICSharpCode.RubyBinding } } - public void ShowCompletionWindow(RubyConsoleCompletionDataProvider completionDataProvider) + public void ShowCompletionWindow(ScriptingConsoleCompletionDataProvider completionDataProvider) { if (dispatcher.CheckAccess()) { consoleTextEditor.ShowCompletionWindow(completionDataProvider); } else { - Action action = ShowCompletionWindow; + Action action = ShowCompletionWindow; dispatcher.Invoke(action, completionDataProvider); } } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/CodeCompletionTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/CodeCompletionTests.cs deleted file mode 100644 index 945edd492e..0000000000 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/CodeCompletionTests.cs +++ /dev/null @@ -1,66 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; - -using ICSharpCode.AvalonEdit.CodeCompletion; -using ICSharpCode.RubyBinding; -using ICSharpCode.Scripting.Tests.Console; -using ICSharpCode.SharpDevelop; -using NUnit.Framework; - -namespace RubyBinding.Tests.Console -{ - [TestFixture] - public class EmptyStringCodeCompletionTestFixture - { - MockMemberProvider memberProvider; - RubyConsoleCompletionDataProvider completionProvider; - - [SetUp] - public void Init() - { - memberProvider = new MockMemberProvider(); - completionProvider = new RubyConsoleCompletionDataProvider(memberProvider); - } - - /// - /// If the user presses the dot character without having any text in the command line then - /// a SyntaxException occurs if the code calls IronRuby's CommandLine.GetMemberNames. So this - /// tests ensures that if the string is empty then this method is not called. - /// - [Test] - public void NoCompletionItemsGeneratedForEmptyString() - { - memberProvider.SetMemberNames(new string[] {"a"}); - memberProvider.SetGlobals(new string[] {"a"}); - - Assert.AreEqual(0, completionProvider.GenerateCompletionData(">>> ").Length); - } - - /// - /// Checks that the GenerateCompletionData method catches any exceptions thrown by the - /// IMemberProvider implementation. This can occur when an invalid name is passed to - /// IronRuby's CommandLine.GetMemberNames or GetGlobals. For example, an UnboundNameException is - /// thrown if an unknown name is used. - /// - [Test] - public void NoCompletionItemsGeneratedWhenExceptionThrown() - { - memberProvider.ExceptionToThrow = new ApplicationException("Should not be thrown"); - - Assert.AreEqual(0, completionProvider.GenerateCompletionData(">>> a").Length); - } - - [Test] - public void UnderscoresPassedToGetMemberNames() - { - completionProvider.GenerateCompletionData(">>> __builtins__"); - Assert.AreEqual("__builtins__", memberProvider.GetMemberNamesParameter); - } - } -} diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/InsertConsoleCompletionDataTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/InsertConsoleCompletionDataTestFixture.cs deleted file mode 100644 index 3587df5aa2..0000000000 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/InsertConsoleCompletionDataTestFixture.cs +++ /dev/null @@ -1,47 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; -using ICSharpCode.AvalonEdit; -using ICSharpCode.AvalonEdit.Editing; -using ICSharpCode.RubyBinding; -using NUnit.Framework; - -namespace RubyBinding.Tests.Console -{ - [TestFixture] - public class InsertConsoleCompletionDataTestFixture - { - RubyConsoleCompletionData completionData; - TextEditor textEditor; - - [SetUp] - public void Init() - { - textEditor = new TextEditor(); - } - - [Test] - public void TextInsertedAtCursor() - { - textEditor.Text = "abc.n"; - textEditor.CaretOffset = 4; - - int startOffset = 4; - int endOffset = 5; - SimpleSelection selection = new SimpleSelection(startOffset, endOffset); - - completionData = new RubyConsoleCompletionData("new"); - completionData.Complete(textEditor.TextArea, selection, null); - - string expectedText = - "abc.new"; - - Assert.AreEqual(expectedText, textEditor.Text); - } - } -} diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleCodeCompletionTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleCodeCompletionTestFixture.cs index a4c72e35e0..718635bd48 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleCodeCompletionTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleCodeCompletionTestFixture.cs @@ -7,10 +7,12 @@ using System; using System.Collections.Generic; -using System.Windows.Input; using System.Threading; -using Microsoft.Scripting.Hosting.Shell; +using System.Windows.Input; + using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting; +using Microsoft.Scripting.Hosting.Shell; using NUnit.Framework; using RubyBinding.Tests.Utils; @@ -49,9 +51,9 @@ namespace RubyBinding.Tests.Console } [Test] - public void RubyConsoleCompletionDataProviderPassedToShowCompletionWindowMethod() + public void ScriptingConsoleCompletionDataProviderPassedToShowCompletionWindowMethod() { - Assert.IsInstanceOf(typeof(RubyConsoleCompletionDataProvider), MockConsoleTextEditor.CompletionProviderPassedToShowCompletionWindow); + Assert.IsInstanceOf(typeof(ScriptingConsoleCompletionDataProvider), MockConsoleTextEditor.CompletionProviderPassedToShowCompletionWindow); } } } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleCurrentLineTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleCurrentLineTestFixture.cs index eda4033e08..471e58b174 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleCurrentLineTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleCurrentLineTestFixture.cs @@ -7,11 +7,11 @@ using System; using System.Windows.Input; - +using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting.Tests.Utils; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; using Microsoft.Scripting.Hosting.Shell; -using ICSharpCode.RubyBinding; using NUnit.Framework; using RubyBinding.Tests.Utils; diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleHostTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleHostTests.cs index ef0c50bd1c..516b51db9e 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleHostTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleHostTests.cs @@ -6,15 +6,15 @@ // using System; - using ICSharpCode.AvalonEdit; using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting.Tests.Utils; using IronRuby.Hosting; using IronRuby.Runtime; -using NUnit.Framework; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; using Microsoft.Scripting.Hosting.Shell; +using NUnit.Framework; using RubyBinding.Tests.Utils; namespace RubyBinding.Tests.Console diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleReadTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleReadTestFixture.cs index d01a35a414..3526cf553b 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleReadTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleReadTestFixture.cs @@ -10,6 +10,7 @@ using System.Threading; using System.Windows.Input; using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting.Tests.Utils; using NUnit.Framework; using RubyBinding.Tests.Utils; diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleTestsBase.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleTestsBase.cs index 0e71836196..3eaac2c507 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleTestsBase.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleTestsBase.cs @@ -7,6 +7,7 @@ using System; using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting.Tests.Utils; using RubyBinding.Tests.Utils; namespace RubyBinding.Tests.Console diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleTextEditorTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleTextEditorTests.cs index ef8e3def96..149660b922 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleTextEditorTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyConsoleTextEditorTests.cs @@ -9,9 +9,11 @@ using System; using System.Collections.Generic; using System.Threading; using System.Windows.Input; + using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit.Editing; using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting; using NUnit.Framework; using RubyBinding.Tests.Utils; @@ -31,9 +33,9 @@ namespace RubyBinding.Tests.Console } [Test] - public void RubyConsoleTextEditorImplementsIConsoleTextEditorInterface() + public void RubyConsoleTextEditorImplementsIScriptingConsoleTextEditorInterface() { - Assert.IsNotNull(consoleTextEditor as IConsoleTextEditor); + Assert.IsNotNull(consoleTextEditor as IScriptingConsoleTextEditor); } [Test] @@ -90,7 +92,7 @@ namespace RubyBinding.Tests.Console AssertSelectionsAreEqual(expectedSelection, consoleTextEditor); } - void AssertSelectionsAreEqual(SimpleSelection expectedSelection, IConsoleTextEditor consoleTextEditor) + void AssertSelectionsAreEqual(SimpleSelection expectedSelection, IScriptingConsoleTextEditor consoleTextEditor) { int selectionLength = consoleTextEditor.SelectionStart + consoleTextEditor.SelectionLength; SimpleSelection actualSelection = new SimpleSelection(consoleTextEditor.SelectionStart, selectionLength); diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyOutputStreamTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyOutputStreamTestFixture.cs index 6b555a5982..4ac99db625 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyOutputStreamTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/RubyOutputStreamTestFixture.cs @@ -10,6 +10,7 @@ using System.IO; using System.Text; using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting.Tests.Utils; using NUnit.Framework; using RubyBinding.Tests.Utils; diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/ThreadSafeRubyConsoleTextEditorTests.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/ThreadSafeRubyConsoleTextEditorTests.cs index 8513df89e3..b95e821e7d 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/ThreadSafeRubyConsoleTextEditorTests.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/ThreadSafeRubyConsoleTextEditorTests.cs @@ -13,6 +13,7 @@ using System.Windows.Input; using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit.Editing; using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting.Tests.Utils; using ICSharpCode.Scripting.Tests.Utils.Tests; using NUnit.Framework; using RubyBinding.Tests.Utils; diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/TwoRubyConsoleLinesWaitingTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/TwoRubyConsoleLinesWaitingTestFixture.cs index afd754bd08..2dbd5d64fd 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/TwoRubyConsoleLinesWaitingTestFixture.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Console/TwoRubyConsoleLinesWaitingTestFixture.cs @@ -7,16 +7,16 @@ using System; using System.Threading; -using Input = System.Windows.Input; - using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting.Tests.Utils; using IronRuby.Hosting; using IronRuby.Runtime; -using NUnit.Framework; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; using Microsoft.Scripting.Hosting.Shell; +using NUnit.Framework; using RubyBinding.Tests.Utils; +using Input = System.Windows.Input; namespace RubyBinding.Tests.Console { diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj index 4e5862156d..e262f69f07 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/RubyBinding.Tests.csproj @@ -72,9 +72,7 @@ - - @@ -338,7 +336,6 @@ - @@ -346,7 +343,6 @@ - RubyBinding.addin diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyConsoleHost.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyConsoleHost.cs index 026f262261..9d1896e46c 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyConsoleHost.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/DerivedRubyConsoleHost.cs @@ -7,8 +7,8 @@ using System; using System.IO; - using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; using Microsoft.Scripting.Hosting.Shell; @@ -19,7 +19,7 @@ namespace RubyBinding.Tests.Console { RubyOutputStream outputStream; - public DerivedRubyConsoleHost(IConsoleTextEditor textEditor) : base(textEditor) + public DerivedRubyConsoleHost(IScriptingConsoleTextEditor textEditor) : base(textEditor) { } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockRubyConsolePad.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockRubyConsolePad.cs index 6a7823b50c..57ad01f0b9 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockRubyConsolePad.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockRubyConsolePad.cs @@ -7,6 +7,8 @@ using System; using ICSharpCode.RubyBinding; +using ICSharpCode.Scripting; +using ICSharpCode.Scripting.Tests.Utils; namespace RubyBinding.Tests.Utils { @@ -22,7 +24,7 @@ namespace RubyBinding.Tests.Utils BringToFrontCalled = true; } - public IConsoleTextEditor ConsoleTextEditor { + public IScriptingConsoleTextEditor ConsoleTextEditor { get { return MockConsoleTextEditor; } } diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/TestableRubyConsole.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/TestableRubyConsole.cs index 3a50cdc4cd..5524309e34 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/TestableRubyConsole.cs +++ b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/TestableRubyConsole.cs @@ -26,7 +26,7 @@ namespace RubyBinding.Tests.Utils { } - TestableRubyConsole(IConsoleTextEditor consoleTextEditor, RubyCommandLine commandLine) + TestableRubyConsole(IScriptingConsoleTextEditor consoleTextEditor, RubyCommandLine commandLine) : base(consoleTextEditor) { CommandLine = commandLine; diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/Tests/MockConsoleTextEditorTestFixture.cs b/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/Tests/MockConsoleTextEditorTestFixture.cs deleted file mode 100644 index d16482cbde..0000000000 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/Tests/MockConsoleTextEditorTestFixture.cs +++ /dev/null @@ -1,351 +0,0 @@ -// -// -// -// -// $Revision$ -// - -using System; -using System.Windows.Input; -using ICSharpCode.RubyBinding; -using ICSharpCode.Scripting; -using NUnit.Framework; -using RubyBinding.Tests.Console; -using RubyBinding.Tests.Utils; - -namespace RubyBinding.Tests.Utils.Tests -{ - [TestFixture] - public class MockConsoleTextEditorTestFixture - { - MockConsoleTextEditor textEditor; - - [SetUp] - public void Init() - { - textEditor = new MockConsoleTextEditor(); - } - - [Test] - public void TextReturnsEmptyStringByDefault() - { - Assert.AreEqual(String.Empty, textEditor.Text); - } - - [Test] - public void TextReturnsTextWritten() - { - textEditor.Write("abc"); - Assert.AreEqual("abc", textEditor.Text); - } - - [Test] - public void ColumnReturnsPositionAfterTextWritten() - { - textEditor.Write("ab"); - Assert.AreEqual(2, textEditor.Column); - } - - [Test] - public void TextReturnsAllTextWritten() - { - textEditor.Write("a"); - textEditor.Write("b"); - Assert.AreEqual("ab", textEditor.Text); - } - - [Test] - public void ColumnReturnsPositionAfterTextWhenWriteCalledTwice() - { - textEditor.Write("a"); - textEditor.Write("bb"); - Assert.AreEqual(3, textEditor.Column); - } - - [Test] - public void IsWriteCalledReturnsTrueAfterWriteMethodCalled() - { - textEditor.Write("a"); - Assert.IsTrue(textEditor.IsWriteCalled); - } - - [Test] - public void SettingTextSetsColumnToPositionAfterText() - { - textEditor.Text = "abc"; - Assert.AreEqual(3, textEditor.Column); - } - - [Test] - public void SettingTextSetsSelectionStartToPositionAfterText() - { - textEditor.Text = "abc"; - Assert.AreEqual(3, textEditor.SelectionStart); - } - - [Test] - public void TotalLinesEqualsOneByDefault() - { - Assert.AreEqual(1, textEditor.TotalLines); - } - - [Test] - public void TotalLinesReturnsTwoWhenTextSetWithTwoLines() - { - textEditor.Text = - "ab\n" + - "cd"; - Assert.AreEqual(2, textEditor.TotalLines); - } - - [Test] - public void ColumnReturnsPositionAfterLastCharacterOnLastLineWhenTextSetWithTwoLines() - { - textEditor.Text = - "ab\n" + - "c"; - Assert.AreEqual(1, textEditor.Column); - } - - [Test] - public void SelectionStartReturnsPositionAfterLastCharacterOnLastLineWhenTextSetWithTwoLines() - { - textEditor.Text = - "ab\n" + - "c"; - Assert.AreEqual(1, textEditor.SelectionStart); - } - - [Test] - public void NoTextAddedWhenPreviewKeyDownEventHandlerReturnsTrue() - { - textEditor.PreviewKeyDown += delegate(object source, ConsoleTextEditorKeyEventArgs e) { - e.Handled = true; - }; - textEditor.RaisePreviewKeyDownEvent(Key.A); - Assert.AreEqual(String.Empty, textEditor.Text); - } - - [Test] - public void RaisePreviewKeyDownEventReturnsTrueWhenPreviewDownHandlerReturnsTrue() - { - textEditor.PreviewKeyDown += delegate(object source, ConsoleTextEditorKeyEventArgs e) { - e.Handled = true; - }; - Assert.IsTrue(textEditor.RaisePreviewKeyDownEvent(System.Windows.Input.Key.A)); - } - - [Test] - public void KeyPressWhenCursorInsideTextInsertsTextAtCursor() - { - textEditor.Text = "abcdef"; - textEditor.Column = 3; - textEditor.RaisePreviewKeyDownEvent(Key.X); - Assert.AreEqual("abcXdef", textEditor.Text); - } - - [Test] - public void GetLineWithIndex2ReturnsLastLineForThreeLinesOfText() - { - textEditor.Text = - "abc\n" + - "def\n" + - "ghi"; - Assert.AreEqual("ghi", textEditor.GetLine(2)); - } - - [Test] - public void ReplaceMethodReplacesTextOnLastLine() - { - textEditor.Text = - "1\n" + - "2\n" + - "abcdef"; - - int index = 1; - int lengthToRemove = 4; - string newText = "123"; - textEditor.Replace(index, lengthToRemove, newText); - - string expectedText = - "1\n" + - "2\n" + - "a123f"; - - Assert.AreEqual(expectedText, textEditor.Text); - } - - [Test] - public void LeftCursorDialogKeyPressMovesSelectionStartToLeft() - { - textEditor.Text = "abc"; - textEditor.SelectionStart = 3; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left); - Assert.AreEqual(2, textEditor.SelectionStart); - } - - [Test] - public void LeftCursorDialogKeyPressMovesCursorToLeft() - { - textEditor.Text = "abc"; - textEditor.SelectionStart = 3; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left); - Assert.AreEqual(2, textEditor.Column); - } - - [Test] - public void CursorPositionUnchangedWhenDialogKeyPressEventHandlerReturnsTrue() - { - textEditor.Text = "abc"; - textEditor.Column = 3; - textEditor.PreviewKeyDown += delegate(object source, ConsoleTextEditorKeyEventArgs e) { - e.Handled = true; - }; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left); - Assert.AreEqual(3, textEditor.Column); - } - - [Test] - public void RaiseDialogKeyPressEventReturnsTruedWhenDialogKeyPressEventHandlerReturnsTrue() - { - textEditor.Text = "abc"; - textEditor.Column = 3; - textEditor.PreviewKeyDown += delegate(object source, ConsoleTextEditorKeyEventArgs e) { - e.Handled = true; - }; - Assert.IsTrue(textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Left)); - } - - [Test] - public void RightCursorDialogKeyPressMovesCursorToRight() - { - textEditor.Text = "abc"; - textEditor.Column = 0; - textEditor.SelectionStart = 0; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Right); - Assert.AreEqual(1, textEditor.Column); - } - - [Test] - public void RightCursorDialogKeyPressMovesSelectionStartToRight() - { - textEditor.Text = "abc"; - textEditor.Column = 0; - textEditor.SelectionStart = 0; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Right); - Assert.AreEqual(1, textEditor.SelectionStart); - } - - [Test] - public void BackspaceDialogKeyPressRemovesLastCharacterFromLine() - { - textEditor.Text = "abc"; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back); - Assert.AreEqual("ab", textEditor.Text); - } - - [Test] - public void BackspaceDialogKeyPressRemovesSelectedTextFromLine() - { - textEditor.Text = "abcd"; - textEditor.SelectionStart = 1; - textEditor.SelectionLength = 2; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Back); - Assert.AreEqual("ad", textEditor.Text); - } - - [Test] - public void EnterDialogKeyPressCreatesNewLine() - { - textEditor.Text = "abc"; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter); - - string expectedText = "abc\r\n"; - Assert.AreEqual(expectedText, textEditor.Text); - } - - [Test] - public void ColumnResetToZeroAfterEnterDialogKeyPress() - { - textEditor.Text = "abc"; - textEditor.Column = 3; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter); - - Assert.AreEqual(0, textEditor.Column); - } - - [Test] - public void SelectionStartResetToZeroAfterEnterDialogKeyPress() - { - textEditor.Text = "abc"; - textEditor.SelectionStart = 3; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter); - - Assert.AreEqual(0, textEditor.Column); - } - - [Test] - public void EnterDialogKeyPressDoesNothingWhenKeyPressEventHandlerReturnsTrue() - { - textEditor.Text = "abc"; - textEditor.PreviewKeyDown += delegate(object source, ConsoleTextEditorKeyEventArgs e) { - if (e.Key == Key.Enter) { - e.Handled = true; - } else { - e.Handled = false; - } - }; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter); - Assert.AreEqual("abc", textEditor.Text); - } - - [Test] - public void EnterDialogKeyPressIncreasesTotalLineCountByOne() - { - textEditor.Text = "abc"; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter); - - Assert.AreEqual(2, textEditor.TotalLines); - } - - [Test] - public void EnterDialogKeyPressIncreasesCurrentLineByOne() - { - textEditor.Text = "abc"; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter); - - Assert.AreEqual(1, textEditor.Line); - } - - [Test] - public void EnterDialogKeyPressInMiddleOfLinePutsTextAfterCursorOnNewLine() - { - textEditor.Text = "abcd"; - textEditor.Column = 2; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter); - - string expectedText = - "ab\r\n" + - "cd"; - Assert.AreEqual(expectedText, textEditor.Text); - } - - [Test] - public void EnterDialogKeyPressInMiddleOfLinePutsSelectionStartAtEndOfNewLineGenerated() - { - textEditor.Text = "abcd"; - textEditor.Column = 3; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter); - Assert.AreEqual(1, textEditor.SelectionStart); - } - - [Test] - public void EnterDialogKeyPressInMiddleOfLinePutsCursorAtEndOfNewLineGenerated() - { - textEditor.Text = "abcd"; - textEditor.Column = 3; - textEditor.RaisePreviewKeyDownEventForDialogKey(Key.Enter); - Assert.AreEqual(1, textEditor.Column); - } - } -} diff --git a/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj b/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj index 2c42c10421..283e43dcfa 100644 --- a/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj +++ b/src/AddIns/BackendBindings/Scripting/Project/ICSharpCode.Scripting.csproj @@ -39,7 +39,14 @@ 3.0 + + 3.0 + + + + 4.0 + 3.0 @@ -62,7 +69,27 @@ + + + + + + {6C55B776-26D4-4DB3-A6AB-87E783B2F3D1} + ICSharpCode.AvalonEdit + False + + + {2748AD25-9C63-4E12-877B-4DCE96FBED54} + ICSharpCode.SharpDevelop + False + + + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + ICSharpCode.Core + False + + \ No newline at end of file diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/IConsoleTextEditor.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingConsoleTextEditor.cs similarity index 88% rename from src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/IConsoleTextEditor.cs rename to src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingConsoleTextEditor.cs index 79f6461623..efb32450c5 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/IConsoleTextEditor.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/IScriptingConsoleTextEditor.cs @@ -8,16 +8,15 @@ using System; using System.Drawing; using System.Windows.Input; -using ICSharpCode.Scripting; -namespace ICSharpCode.PythonBinding +namespace ICSharpCode.Scripting { /// - /// The interface that the text editor used by the PythonConsole needs to be implement. Note that + /// The interface that the text editor used by the Python and Ruby Consoles needs to be implement. Note that /// all the methods will be called on another thread not the main UI thread and will therefore need to /// be invoked. /// - public interface IConsoleTextEditor : IDisposable + public interface IScriptingConsoleTextEditor : IDisposable { /// /// Fired when a key is pressed but before any text has been added to the text editor. @@ -71,7 +70,7 @@ namespace ICSharpCode.PythonBinding /// /// Shows the code completion window. /// - void ShowCompletionWindow(PythonConsoleCompletionDataProvider completionDataProvider); + void ShowCompletionWindow(ScriptingConsoleCompletionDataProvider completionDataProvider); /// /// Indicates whether the completion window is currently being displayed. diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleCompletionData.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsoleCompletionData.cs similarity index 86% rename from src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleCompletionData.cs rename to src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsoleCompletionData.cs index 73426b2593..393f751109 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleCompletionData.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsoleCompletionData.cs @@ -11,13 +11,13 @@ using ICSharpCode.AvalonEdit.CodeCompletion; using ICSharpCode.AvalonEdit.Document; using ICSharpCode.AvalonEdit.Editing; -namespace ICSharpCode.PythonBinding +namespace ICSharpCode.Scripting { - public class PythonConsoleCompletionData : ICompletionData + public class ScriptingConsoleCompletionData : ICompletionData { string text = String.Empty; - public PythonConsoleCompletionData(string text) + public ScriptingConsoleCompletionData(string text) { this.text = text; } diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleCompletionDataProvider.cs b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsoleCompletionDataProvider.cs similarity index 74% rename from src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleCompletionDataProvider.cs rename to src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsoleCompletionDataProvider.cs index 6b0268ad7b..bf50bb1201 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Project/Src/PythonConsoleCompletionDataProvider.cs +++ b/src/AddIns/BackendBindings/Scripting/Project/Src/ScriptingConsoleCompletionDataProvider.cs @@ -9,25 +9,24 @@ using System; using System.Collections.Generic; using ICSharpCode.AvalonEdit.CodeCompletion; using ICSharpCode.Core; -using ICSharpCode.Scripting; using ICSharpCode.SharpDevelop.Editor; using ICSharpCode.SharpDevelop.Editor.CodeCompletion; -namespace ICSharpCode.PythonBinding +namespace ICSharpCode.Scripting { /// - /// Provides code completion for the Python Console window. + /// Provides code completion for the Scripting Console window. /// - public class PythonConsoleCompletionDataProvider + public class ScriptingConsoleCompletionDataProvider { IMemberProvider memberProvider; - public PythonConsoleCompletionDataProvider(IMemberProvider memberProvider) + public ScriptingConsoleCompletionDataProvider(IMemberProvider memberProvider) { this.memberProvider = memberProvider; } - public ICompletionData[] GenerateCompletionData(IConsoleTextEditor textEditor) + public ICompletionData[] GenerateCompletionData(IScriptingConsoleTextEditor textEditor) { string line = textEditor.GetLine(textEditor.TotalLines - 1); return GenerateCompletionData(line); @@ -40,13 +39,13 @@ namespace ICSharpCode.PythonBinding /// public ICompletionData[] GenerateCompletionData(string line) { - List items = new List(); + List items = new List(); string name = GetName(line); if (!String.IsNullOrEmpty(name)) { try { foreach (string member in memberProvider.GetMemberNames(name)) { - items.Add(new PythonConsoleCompletionData(member)); + items.Add(new ScriptingConsoleCompletionData(member)); } } catch { // Do nothing. diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/CodeCompletionTests.cs b/src/AddIns/BackendBindings/Scripting/Test/Console/EmptyStringCodeCompletionTests.cs similarity index 86% rename from src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/CodeCompletionTests.cs rename to src/AddIns/BackendBindings/Scripting/Test/Console/EmptyStringCodeCompletionTests.cs index 62c35b828b..c99157e0a8 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/CodeCompletionTests.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Console/EmptyStringCodeCompletionTests.cs @@ -7,24 +7,23 @@ using System; using ICSharpCode.AvalonEdit.CodeCompletion; -using ICSharpCode.PythonBinding; -using ICSharpCode.Scripting.Tests.Console; +using ICSharpCode.Scripting; using ICSharpCode.SharpDevelop; using NUnit.Framework; -namespace PythonBinding.Tests.Console +namespace ICSharpCode.Scripting.Tests.Console { [TestFixture] - public class EmptyStringCodeCompletionTestFixture + public class EmptyStringCodeCompletionTests { MockMemberProvider memberProvider; - PythonConsoleCompletionDataProvider completionProvider; + ScriptingConsoleCompletionDataProvider completionProvider; [SetUp] public void Init() { memberProvider = new MockMemberProvider(); - completionProvider = new PythonConsoleCompletionDataProvider(memberProvider); + completionProvider = new ScriptingConsoleCompletionDataProvider(memberProvider); } /// diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/InsertConsoleCompletionDataTestFixture.cs b/src/AddIns/BackendBindings/Scripting/Test/Console/InsertConsoleCompletionDataTestFixture.cs similarity index 83% rename from src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/InsertConsoleCompletionDataTestFixture.cs rename to src/AddIns/BackendBindings/Scripting/Test/Console/InsertConsoleCompletionDataTestFixture.cs index 5c0187b9bf..5380be98eb 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Console/InsertConsoleCompletionDataTestFixture.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Console/InsertConsoleCompletionDataTestFixture.cs @@ -8,15 +8,15 @@ using System; using ICSharpCode.AvalonEdit; using ICSharpCode.AvalonEdit.Editing; -using ICSharpCode.PythonBinding; +using ICSharpCode.Scripting; using NUnit.Framework; -namespace PythonBinding.Tests.Console +namespace ICSharpCode.Scripting.Tests.Console { [TestFixture] public class InsertConsoleCompletionDataTestFixture { - PythonConsoleCompletionData completionData; + ScriptingConsoleCompletionData completionData; TextEditor textEditor; [SetUp] @@ -35,7 +35,7 @@ namespace PythonBinding.Tests.Console int endOffset = 5; SimpleSelection selection = new SimpleSelection(startOffset, endOffset); - completionData = new PythonConsoleCompletionData("new"); + completionData = new ScriptingConsoleCompletionData("new"); completionData.Complete(textEditor.TextArea, selection, null); string expectedText = diff --git a/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj b/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj index 98a2f9f10e..65ebfa3c7e 100644 --- a/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj +++ b/src/AddIns/BackendBindings/Scripting/Test/ICSharpCode.Scripting.Tests.csproj @@ -69,6 +69,8 @@ + + @@ -88,6 +90,7 @@ + @@ -114,6 +117,7 @@ + @@ -152,5 +156,8 @@ ICSharpCode.Scripting + + + \ No newline at end of file diff --git a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockConsoleTextEditor.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockConsoleTextEditor.cs similarity index 93% rename from src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockConsoleTextEditor.cs rename to src/AddIns/BackendBindings/Scripting/Test/Utils/MockConsoleTextEditor.cs index 4acfc01ed6..d8f931b4b0 100644 --- a/src/AddIns/BackendBindings/Ruby/RubyBinding/Test/Utils/MockConsoleTextEditor.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/MockConsoleTextEditor.cs @@ -12,20 +12,18 @@ using System.Text; using System.Windows.Input; using ICSharpCode.NRefactory; -using ICSharpCode.RubyBinding; using ICSharpCode.Scripting; -using ICSharpCode.Scripting.Tests.Utils; -namespace RubyBinding.Tests.Utils +namespace ICSharpCode.Scripting.Tests.Utils { - public class MockConsoleTextEditor : IConsoleTextEditor + public class MockConsoleTextEditor : IScriptingConsoleTextEditor { public bool IsDisposed; public bool IsWriteCalled; public bool IsShowCompletionWindowCalled; public bool IsMakeCurrentContentReadOnlyCalled; - public RubyConsoleCompletionDataProvider CompletionProviderPassedToShowCompletionWindow; + public ScriptingConsoleCompletionDataProvider CompletionProviderPassedToShowCompletionWindow; public string TextPassedToWrite; public string TextPassedToReplace; public int LengthPassedToReplace = -1; @@ -176,7 +174,7 @@ namespace RubyBinding.Tests.Utils LineBuilder.Insert(index, text); } - public void ShowCompletionWindow(RubyConsoleCompletionDataProvider completionDataProvider) + public void ShowCompletionWindow(ScriptingConsoleCompletionDataProvider completionDataProvider) { IsShowCompletionWindowCalled = true; IsCompletionWindowDisplayed = true; diff --git a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/Tests/MockConsoleTextEditorTestFixture.cs b/src/AddIns/BackendBindings/Scripting/Test/Utils/Tests/MockConsoleTextEditorTests.cs similarity index 98% rename from src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/Tests/MockConsoleTextEditorTestFixture.cs rename to src/AddIns/BackendBindings/Scripting/Test/Utils/Tests/MockConsoleTextEditorTests.cs index bb07279266..f7b49db657 100644 --- a/src/AddIns/BackendBindings/Python/PythonBinding/Test/Utils/Tests/MockConsoleTextEditorTestFixture.cs +++ b/src/AddIns/BackendBindings/Scripting/Test/Utils/Tests/MockConsoleTextEditorTests.cs @@ -7,15 +7,13 @@ using System; using System.Windows.Input; -using ICSharpCode.PythonBinding; using ICSharpCode.Scripting; using NUnit.Framework; -using PythonBinding.Tests.Utils; -namespace PythonBinding.Tests.Utils.Tests +namespace ICSharpCode.Scripting.Tests.Utils.Tests { [TestFixture] - public class MockConsoleTextEditorTestFixture + public class MockConsoleTextEditorTests { MockConsoleTextEditor textEditor; diff --git a/src/AddIns/BackendBindings/Scripting/Test/app.config b/src/AddIns/BackendBindings/Scripting/Test/app.config new file mode 100644 index 0000000000..f2bc417595 --- /dev/null +++ b/src/AddIns/BackendBindings/Scripting/Test/app.config @@ -0,0 +1,14 @@ + + + +
+ + + + + + + + +