Exemplo n.º 1
0
        public void TestGettingSymbolsFromModuleDeclaration()
        {
            var symbolProvider = new SymbolProvider(m_fixture.ProviderContext);

            var documentSymbolParams = new DocumentSymbolParams()
            {
                TextDocument = new TextDocumentIdentifier()
                {
                    Uri = m_fixture.GetChildUri(@"project\project.bxt")
                }
            };

            var documentSymbolsResult = symbolProvider.DocumentSymbols(documentSymbolParams, CancellationToken.None);

            Assert.True(documentSymbolsResult.IsSuccess);

            var symbols = documentSymbolsResult.SuccessValue
                          .OrderBy(symbol => symbol.Name)
                          .ToArray();

            Assert.Equal(
                new SymbolInformation[]
            {
                new SymbolInformation()
                {
                    Name = "A.B.C.a", Kind = SymbolKind.Constant
                },
                new SymbolInformation()
                {
                    Name = "A.B.C.b", Kind = SymbolKind.Constant
                },
                new SymbolInformation()
                {
                    Name = "callingAlias", Kind = SymbolKind.Variable
                },
                new SymbolInformation()
                {
                    Name = "callingDeployDirectly", Kind = SymbolKind.Variable
                },
                new SymbolInformation()
                {
                    Name = "completionForGenerics1", Kind = SymbolKind.Variable
                },
                new SymbolInformation()
                {
                    Name = "completionForGenerics2", Kind = SymbolKind.Variable
                },
                new SymbolInformation()
                {
                    Name = "IFoo", Kind = SymbolKind.Interface
                },
                new SymbolInformation()
                {
                    Name = "qualifier", Kind = SymbolKind.Variable
                },
                new SymbolInformation()
                {
                    Name = "value", Kind = SymbolKind.Variable
                },
                new SymbolInformation()
                {
                    Name = "value2", Kind = SymbolKind.Variable
                },
                new SymbolInformation()
                {
                    Name = "withQualifier", Kind = SymbolKind.Function
                },
            }, symbols, s_comparer);
        }