public void TestEditorBrowsableAttributeMembers() { int cp; var engine1 = CodeCompletionBugTests.CreateEngine( @" using System; using System.ComponentModel; public class FooBar { [EditorBrowsable(EditorBrowsableState.Always)] public int BrowsableTest { get; set; } [EditorBrowsable(EditorBrowsableState.Never)] public int NotBrowsableTest { get; set; } } ", out cp); CompletionDataList provider = CodeCompletionBugTests.CreateProvider( @"class Test : FooBar { void Test () { $B$ } }", false, engine1.ctx.CurrentAssembly.UnresolvedAssembly); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("BrowsableTest"), "'BrowsableTest' not found."); Assert.IsNull(provider.Find("NotBrowsableTest"), "'NotBrowsableTest' found."); }
public CompletionResult CreateProvider(string input, SourceCodeKind?sourceCodeKind = null, bool usePreviousCharAsTrigger = false) { int cursorPosition; SemanticModel semanticModel; Document document; var idx = input.IndexOf("$$", StringComparison.Ordinal); if (idx >= 0) { input = input.Substring(0, idx) + input.Substring(idx + 1); } var engine = CodeCompletionBugTests.CreateEngine(input, out cursorPosition, out semanticModel, out document, null, sourceCodeKind); char triggerChar = cursorPosition > 0 ? document.GetTextAsync().Result [cursorPosition - 1] : '\0'; var completionContext = new CompletionContext(document, cursorPosition, semanticModel); var exclusiveHandler = CreateContextHandler(); if (exclusiveHandler != null) { completionContext.AdditionalContextHandlers = new [] { exclusiveHandler }; completionContext.UseDefaultContextHandlers = false; } return(engine.GetCompletionDataAsync( completionContext, new CompletionTriggerInfo(usePreviousCharAsTrigger ? CompletionTriggerReason.CharTyped : CompletionTriggerReason.CompletionCommand, triggerChar)).Result); }
public void TestHideAdvanced() { int cp; var engine1 = CodeCompletionBugTests.CreateEngine( @" using System; using System.ComponentModel; [EditorBrowsable(EditorBrowsableState.Always)] public class BrowsableTest {} [EditorBrowsable(EditorBrowsableState.Advanced)] public class NotBrowsableTest {} ", out cp); CompletionDataList provider = CodeCompletionBugTests.CreateProvider( @"class Test { void Test () { $B$ } }" , false, e => e.EditorBrowsableBehavior = ICSharpCode.NRefactory.CSharp.Completion.EditorBrowsableBehavior.Normal, engine1.ctx.CurrentAssembly.UnresolvedAssembly); Assert.IsNotNull(provider, "provider == null"); Assert.IsNotNull(provider.Find("BrowsableTest"), "'BrowsableTest' not found."); Assert.IsNull(provider.Find("NotBrowsableTest"), "'NotBrowsableTest' found."); }
public static CompletionDataList CreateProvider(string text, params IUnresolvedAssembly[] references) { int cursorPosition; var engine = CodeCompletionBugTests.CreateEngine(text, out cursorPosition, references); var data = engine.GetImportCompletionData(cursorPosition); return(new CompletionDataList() { Data = data, AutoCompleteEmptyMatch = engine.AutoCompleteEmptyMatch, AutoSelect = engine.AutoSelect, DefaultCompletionString = engine.DefaultCompletionString }); }
public static CSharpCompletionTextEditorExtension.CSharpCompletionDataList CreateProvider(string text) { int cursorPosition; SemanticModel semanticModel; Document document; var engine = CodeCompletionBugTests.CreateEngine(text, out cursorPosition, out semanticModel, out document, null); var ext = new CSharpCompletionTextEditorExtension(); var list = new CSharpCompletionTextEditorExtension.CSharpCompletionDataList(); var result = CodeCompletionBugTests.CreateProvider(text); list.AddRange(result); ext.AddImportCompletionData(result, list, new RoslynCodeCompletionFactory(ext, semanticModel), semanticModel, cursorPosition); return(list); }