Esempio n. 1
0
        public async Task VisualBasicOutliningTagger()
        {
            var code = @"Imports System
Namespace MyNamespace
#Region ""MyRegion""
    Module MyClass
        Sub Main(args As String())
            Dim x As Integer = 5
        End Sub
    End Module
#End Region
End Namespace";

            using (var workspace = await TestWorkspace.CreateVisualBasicAsync(code))
            {
                var tags = await GetTagsFromWorkspaceAsync(workspace);

                // ensure all 4 outlining region tags were found
                Assert.Equal(4, tags.Count);

                // ensure only the method outlining region is marked as an implementation
                Assert.False(tags[0].IsImplementation);
                Assert.False(tags[1].IsImplementation);
                Assert.False(tags[2].IsImplementation);
                Assert.True(tags[3].IsImplementation);

                // verify line counts
                var hints = tags.Select(x => x.CollapsedHintForm).Cast <ViewHostingControl>().Select(vhc => vhc.TextView_TestOnly).ToList();
                Assert.Equal(9, hints[0].TextSnapshot.LineCount); // namespace
                Assert.Equal(7, hints[1].TextSnapshot.LineCount); // region
                Assert.Equal(5, hints[2].TextSnapshot.LineCount); // class
                Assert.Equal(3, hints[3].TextSnapshot.LineCount); // method
                hints.Do(v => v.Close());
            }
        }
Esempio n. 2
0
        public static async Task <ChangeSignatureTestState> CreateAsync(string markup, string languageName, ParseOptions parseOptions = null)
        {
            var workspace = languageName == LanguageNames.CSharp
                  ? await TestWorkspace.CreateCSharpAsync(markup, exportProvider : s_exportProvider, parseOptions : (CSharpParseOptions)parseOptions)
                  : await TestWorkspace.CreateVisualBasicAsync(markup, exportProvider : s_exportProvider, parseOptions : parseOptions, compilationOptions : new VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary));

            return(new ChangeSignatureTestState(workspace));
        }
Esempio n. 3
0
        public static async Task <ExtractInterfaceTestState> CreateAsync(string markup, string languageName, CompilationOptions compilationOptions)
        {
            var workspace = languageName == LanguageNames.CSharp
                ? await TestWorkspace.CreateCSharpAsync(markup, exportProvider : ExportProvider, compilationOptions : compilationOptions as CSharpCompilationOptions)
                : await TestWorkspace.CreateVisualBasicAsync(markup, exportProvider : ExportProvider, compilationOptions : compilationOptions);

            return(new ExtractInterfaceTestState(workspace));
        }
        private async Task <TestWorkspace> CreateWorkspaceAsync(string language, string code, ParseOptions options = null)
        {
            var workspace = (language == LanguageNames.CSharp) ?
                            await TestWorkspace.CreateCSharpAsync(code, parseOptions : options, exportProvider : TestHostServices.SharedExportProvider) :
                            await TestWorkspace.CreateVisualBasicAsync(code, parseOptions : options, exportProvider : TestHostServices.SharedExportProvider);

            workspace.Options = workspace.Options.WithChangedOption(RemoteHostOptions.RemoteHostTest, true)
                                .WithChangedOption(ServiceFeatureOnOffOptions.ClosedFileDiagnostic, LanguageNames.CSharp, true)
                                .WithChangedOption(ServiceFeatureOnOffOptions.ClosedFileDiagnostic, LanguageNames.VisualBasic, true);

            return(workspace);
        }
        public static async Task <GenerateTypeTestState> CreateAsync(
            string initial,
            bool isLine,
            string projectToBeModified,
            string typeName,
            string existingFileName,
            string languageName)
        {
            var workspace = languageName == LanguageNames.CSharp
                  ? isLine ? await TestWorkspace.CreateCSharpAsync(initial, exportProvider : s_exportProvider) : await TestWorkspace.CreateAsync(initial, exportProvider : s_exportProvider)
                  : isLine ? await TestWorkspace.CreateVisualBasicAsync(initial, exportProvider : s_exportProvider) : await TestWorkspace.CreateAsync(initial, exportProvider : s_exportProvider);

            return(new GenerateTypeTestState(projectToBeModified, typeName, existingFileName, workspace));
        }
 private static Task <TestWorkspace> CreateWorkspaceFromFileAsync(string source, string language, string rootNamespace)
 {
     if (language == LanguageNames.CSharp)
     {
         return(TestWorkspace.CreateCSharpAsync(source));
     }
     else
     {
         return(TestWorkspace.CreateVisualBasicAsync(
                    source,
                    compilationOptions: new VisualBasic.VisualBasicCompilationOptions(
                        OutputKind.DynamicallyLinkedLibrary, rootNamespace: rootNamespace)));
     }
 }
Esempio n. 7
0
        public async Task OutliningTaggerTooltipText()
        {
            var code = @"Module Module1
    Sub Main(args As String())
    End Sub
End Module";

            using (var workspace = await TestWorkspace.CreateVisualBasicAsync(code))
            {
                var tags = await GetTagsFromWorkspaceAsync(workspace);

                var hints = tags.Select(x => x.CollapsedHintForm).Cast <ViewHostingControl>().ToArray();
                Assert.Equal("Sub Main(args As String())\r\nEnd Sub", hints[1].ToString()); // method
                hints.Do(v => v.TextView_TestOnly.Close());
            }
        }
Esempio n. 8
0
 private static async Task <TestWorkspace> CreateWorkspaceFromFileAsync(string file, bool isVisualBasic, ParseOptions parseOptions, CompilationOptions compilationOptions)
 {
     return(isVisualBasic ?
            await TestWorkspace.CreateVisualBasicAsync(file, (VB.VisualBasicParseOptions) parseOptions, (VB.VisualBasicCompilationOptions) compilationOptions) :
            await TestWorkspace.CreateCSharpAsync(file, (CS.CSharpParseOptions) parseOptions, (CS.CSharpCompilationOptions) compilationOptions));
 }