예제 #1
0
        public async Task TestIssue5025()
        {
            IdeApp.Preferences.AddImportedItemsToCompletionList.Value = true;
            await TestCompletion(@"
namespace console61
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            t$
        }
    }
}
",
                                 (doc, list) => {
                //var extEditor = doc.Editor.GetContent<SourceEditorView> ().TextEditor;
                var compExt = doc.GetContent <CSharpCompletionTextEditorExtension> ();
                CompletionWindowManager.StartPrepareShowWindowSession();
                //extEditor.EditorExtension = compExt;
                //extEditor.OnIMProcessedKeyPressEvent (Gdk.Key.BackSpace, '\0', Gdk.ModifierType.None);
                var listWindow = new CompletionListWindow();
                var widget     = new NamedArgumentCompletionTests.TestCompletionWidget(doc.Editor, doc.DocumentContext);
                listWindow.CompletionWidget      = widget;
                listWindow.CodeCompletionContext = widget.CurrentCodeCompletionContext;
                var item      = (RoslynCompletionData)list.FirstOrDefault(d => d.CompletionText == "MainClass");
                KeyActions ka = KeyActions.Process;
                Gdk.Key key   = Gdk.Key.Tab;
                item.InsertCompletionText(doc.Editor, doc.DocumentContext, ref ka, KeyDescriptor.FromGtk(key, (char)key, Gdk.ModifierType.None));
                Assert.AreEqual(@"
namespace console61
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            MainClass
        }
    }
}
", doc.Editor.Text);
            });
        }