Ejemplo n.º 1
0
        public void ChangeSignatureCommandDisabledInSubmission()
        {
            var exportProvider = MinimalTestExportProvider.CreateExportProvider(
                TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService)));

            using (var workspace = TestWorkspace.Create(XElement.Parse(@"
                <Workspace>
                    <Submission Language=""C#"" CommonReferences=""true"">  
                        class C
                        {
                            void M$$(int x)
                            {
                            }
                        }
                    </Submission>
                </Workspace> "),
                                                        workspaceKind: WorkspaceKind.Interactive,
                                                        exportProvider: exportProvider))
            {
                // Force initialization.
                workspace.GetOpenDocumentIds().Select(id => workspace.GetTestDocument(id).GetTextView()).ToList();

                var textView = workspace.Documents.Single().GetTextView();

                var handler = new CSharpChangeSignatureCommandHandler();

                var state = handler.GetCommandState(new RemoveParametersCommandArgs(textView, textView.TextBuffer));
                Assert.True(state.IsUnspecified);

                state = handler.GetCommandState(new ReorderParametersCommandArgs(textView, textView.TextBuffer));
                Assert.True(state.IsUnspecified);
            }
        }
Ejemplo n.º 2
0
        public async Task ExtractInterfaceCommandDisabledInSubmission()
        {
            var exportProvider = MinimalTestExportProvider.CreateExportProvider(
                TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService)));

            using (var workspace = await TestWorkspaceFactory.CreateWorkspaceAsync(XElement.Parse(@"
                <Workspace>
                    <Submission Language=""C#"" CommonReferences=""true"">  
                        public class $$C
                        {
                            public void M() { }
                        }
                    </Submission>
                </Workspace> "),
                                                                                   workspaceKind: WorkspaceKind.Interactive,
                                                                                   exportProvider: exportProvider))
            {
                // Force initialization.
                workspace.GetOpenDocumentIds().Select(id => workspace.GetTestDocument(id).GetTextView()).ToList();

                var textView = workspace.Documents.Single().GetTextView();

                var handler                     = new ExtractInterfaceCommandHandler();
                var delegatedToNext             = false;
                Func <CommandState> nextHandler = () =>
                {
                    delegatedToNext = true;
                    return(CommandState.Unavailable);
                };

                var state = handler.GetCommandState(new Commands.ExtractInterfaceCommandArgs(textView, textView.TextBuffer), nextHandler);
                Assert.True(delegatedToNext);
                Assert.False(state.IsAvailable);
            }
        }
Ejemplo n.º 3
0
 public static ExportProvider CreateMinimalExportProvider()
 {
     return(MinimalTestExportProvider.CreateExportProvider(
                ServiceTestExportProvider.CreateAssemblyCatalog()
                .WithPart(typeof(InProcRemoteHostClientFactory))
                .WithPart(typeof(WorkspaceWaiter))));
 }
Ejemplo n.º 4
0
        public void EncapsulateFieldCommandDisabledInSubmission()
        {
            var exportProvider = MinimalTestExportProvider.CreateExportProvider(
                TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsCodeFixService)));

            using (var workspace = TestWorkspaceFactory.CreateWorkspace(XElement.Parse(@"
                <Workspace>
                    <Submission Language=""C#"" CommonReferences=""true"">  
                        class C
                        {
                            object $$foo;
                        }
                    </Submission>
                </Workspace> "),
                                                                        workspaceKind: WorkspaceKind.Interactive,
                                                                        exportProvider: exportProvider))
            {
                // Force initialization.
                workspace.GetOpenDocumentIds().Select(id => workspace.GetTestDocument(id).GetTextView()).ToList();

                var textView = workspace.Documents.Single().GetTextView();

                var handler                     = new EncapsulateFieldCommandHandler(workspace.GetService <Host.IWaitIndicator>(), workspace.GetService <ITextBufferUndoManagerProvider>());
                var delegatedToNext             = false;
                Func <CommandState> nextHandler = () =>
                {
                    delegatedToNext = true;
                    return(CommandState.Unavailable);
                };

                var state = handler.GetCommandState(new Commands.EncapsulateFieldCommandArgs(textView, textView.TextBuffer), nextHandler);
                Assert.True(delegatedToNext);
                Assert.False(state.IsAvailable);
            }
        }
Ejemplo n.º 5
0
        public void EncapsulateFieldCommandDisabledInSubmission()
        {
            var exportProvider = MinimalTestExportProvider.CreateExportProvider(
                TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService)));

            using (var workspace = TestWorkspace.Create(XElement.Parse(@"
                <Workspace>
                    <Submission Language=""C#"" CommonReferences=""true"">  
                        class C
                        {
                            object $$goo;
                        }
                    </Submission>
                </Workspace> "),
                                                        workspaceKind: WorkspaceKind.Interactive,
                                                        exportProvider: exportProvider))
            {
                // Force initialization.
                workspace.GetOpenDocumentIds().Select(id => workspace.GetTestDocument(id).GetTextView()).ToList();

                var textView = workspace.Documents.Single().GetTextView();

                var handler = new EncapsulateFieldCommandHandler(workspace.GetService <ITextBufferUndoManagerProvider>(),
                                                                 workspace.ExportProvider.GetExportedValue <IAsynchronousOperationListenerProvider>());

                var state = handler.GetCommandState(new EncapsulateFieldCommandArgs(textView, textView.TextBuffer));
                Assert.True(state.IsUnspecified);
            }
        }
Ejemplo n.º 6
0
 public static ExportProvider CreateExportProvider()
 {
     return(MinimalTestExportProvider.CreateExportProvider(
                TestExportProvider.CreateAssemblyCatalogWithCSharpAndVisualBasic()
                .WithPart(typeof(InProcRemoteHostClientFactory))
                .WithPart(typeof(WorkspaceWaiter))));
 }
Ejemplo n.º 7
0
        static VisualStudioTestExportProvider()
        {
            PartCatalog =
                TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(
                    MinimalTestExportProvider.CreateAssemblyCatalog(typeof(CSharpCodeModelService).Assembly));

            ExportProvider = MinimalTestExportProvider.CreateExportProvider(PartCatalog);
        }
Ejemplo n.º 8
0
        private static ExportProvider CreateExportProvider()
        {
            var catalog = MinimalTestExportProvider.WithPart(
                TestExportProvider.CreateAssemblyCatalogWithCSharpAndVisualBasic(),
                typeof(WorkspaceWaiter));

            return(MinimalTestExportProvider.CreateExportProvider(catalog));
        }
        private static VisualStudio.Composition.ExportProvider CreateExportProvider(Type[] additionalTypes)
        {
            var catalog = TestExportProvider.MinimumCatalogWithCSharpAndVisualBasic
                          .WithPart(typeof(CallHierarchyProvider))
                          .WithPart(typeof(SymbolMappingServiceFactory))
                          .WithParts(additionalTypes);

            return(MinimalTestExportProvider.CreateExportProvider(catalog));
        }
Ejemplo n.º 10
0
        public static ExportProvider CreateExportProvider()
        {
            var assemblies = TestExportProvider
                             .GetCSharpAndVisualBasicAssemblies()
                             .Concat(new[] { typeof(EditorServicesUtil).Assembly });
            var catalog = MinimalTestExportProvider.CreateAssemblyCatalog(assemblies, MinimalTestExportProvider.CreateResolver());

            return(MinimalTestExportProvider.CreateExportProvider(catalog));
        }
        public void OrganizingCommandsDisabledInSubmission()
        {
            var exportProvider = MinimalTestExportProvider.CreateExportProvider(
                TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithParts(typeof(InteractiveDocumentSupportsFeatureService)));

            using (var workspace = TestWorkspace.Create(XElement.Parse(@"
                <Workspace>
                    <Submission Language=""C#"" CommonReferences=""true"">  
                        class C
                        {
                            object $$goo;
                        }
                    </Submission>
                </Workspace> "),
                                                        workspaceKind: WorkspaceKind.Interactive,
                                                        exportProvider: exportProvider))
            {
                // Force initialization.
                workspace.GetOpenDocumentIds().Select(id => workspace.GetTestDocument(id).GetTextView()).ToList();

                var textView = workspace.Documents.Single().GetTextView();

                var handler         = new OrganizeDocumentCommandHandler(workspace.GetService <Host.IWaitIndicator>());
                var delegatedToNext = false;
                CommandState nextHandler()
                {
                    delegatedToNext = true;
                    return(CommandState.Unavailable);
                }

                var state = handler.GetCommandState(new Commands.SortAndRemoveUnnecessaryImportsCommandArgs(textView, textView.TextBuffer), nextHandler);
                Assert.True(delegatedToNext);
                Assert.False(state.IsAvailable);
                delegatedToNext = false;

                state = handler.GetCommandState(new Commands.OrganizeDocumentCommandArgs(textView, textView.TextBuffer), nextHandler);
                Assert.True(delegatedToNext);
                Assert.False(state.IsAvailable);
            }
        }
Ejemplo n.º 12
0
        public void CrefCompletionSpeculatesOutsideTrivia()
        {
            var text           = @"
/// <see cref=""$$
class C
{
}";
            var exportProvider = MinimalTestExportProvider.CreateExportProvider(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithPart(typeof(PickySemanticFactsService)));

            using (var workspace = TestWorkspaceFactory.CreateWorkspaceFromFiles(LanguageNames.CSharp, new CSharpCompilationOptions(OutputKind.ConsoleApplication), new CSharpParseOptions(), new[] { text }, exportProvider))
            {
                // This test uses MEF to compose in an ISyntaxFactsService that
                // asserts it isn't asked to speculate on nodes inside documentation trivia.
                // This verifies that the provider is asking for a speculative SemanticModel
                // by walking to the node the documentation is attached to.

                var provider     = new CrefCompletionProvider();
                var hostDocument = workspace.DocumentWithCursor;
                var document     = workspace.CurrentSolution.GetDocument(hostDocument.Id);
                var items        = provider.GetGroupAsync(document, hostDocument.CursorPosition.Value, CompletionTriggerInfo.CreateInvokeCompletionTriggerInfo(), CancellationToken.None).Result;
            }
        }
Ejemplo n.º 13
0
        public async Task CrefCompletionSpeculatesOutsideTrivia()
        {
            var text           = @"
/// <see cref=""$$
class C
{
}";
            var exportProvider = MinimalTestExportProvider.CreateExportProvider(TestExportProvider.EntireAssemblyCatalogWithCSharpAndVisualBasic.WithPart(typeof(PickySemanticFactsService)));

            using (var workspace = await TestWorkspace.CreateAsync(LanguageNames.CSharp, new CSharpCompilationOptions(OutputKind.ConsoleApplication), new CSharpParseOptions(), new[] { text }, exportProvider))
            {
                // This test uses MEF to compose in an ISyntaxFactsService that
                // asserts it isn't asked to speculate on nodes inside documentation trivia.
                // This verifies that the provider is asking for a speculative SemanticModel
                // by walking to the node the documentation is attached to.

                var provider       = new CrefCompletionProvider();
                var hostDocument   = workspace.DocumentWithCursor;
                var document       = workspace.CurrentSolution.GetDocument(hostDocument.Id);
                var service        = GetCompletionService(workspace);
                var completionList = await GetCompletionListAsync(service, document, hostDocument.CursorPosition.Value, CompletionTrigger.Default);
            }
        }
Ejemplo n.º 14
0
        private static ExportProvider CreateExportProvider()
        {
            var catalog = TestExportProvider.CreateAssemblyCatalogWithCSharpAndVisualBasic();

            return(MinimalTestExportProvider.CreateExportProvider(catalog));
        }
Ejemplo n.º 15
0
 private static ComposableCatalog GetExtraParts()
 {
     return(MinimalTestExportProvider.CreateTypeCatalog(new[] { typeof(EventHookupWaiter) }));
 }
Ejemplo n.º 16
0
 private static ComposableCatalog GetExtraParts()
 {
     return(MinimalTestExportProvider.CreateTypeCatalog(new[] { typeof(EventHookupWaiter), typeof(EventHookupCommandHandler), typeof(EventHookupQuickInfoSourceProvider) }));
 }
Ejemplo n.º 17
0
 public static HostServices CreateHostServices()
 {
     return(MefV1HostServices.Create(
                MinimalTestExportProvider.CreateExportProvider(
                    ServiceTestExportProvider.CreateAssemblyCatalog().WithPart(typeof(InProcRemoteHostClientFactory))).AsExportProvider()));
 }