コード例 #1
0
        public RazorDirectiveCompletionProviderTest()
        {
            CompletionBroker = Mock.Of <IAsyncCompletionBroker>(broker => broker.IsCompletionSupported(It.IsAny <IContentType>()) == true);
            var razorBuffer = Mock.Of <ITextBuffer>(buffer => buffer.ContentType == Mock.Of <IContentType>());

            TextBufferProvider     = Mock.Of <RazorTextBufferProvider>(provider => provider.TryGetFromDocument(It.IsAny <TextDocument>(), out razorBuffer) == true);
            CompletionFactsService = new DefaultRazorCompletionFactsService();
        }
コード例 #2
0
        public void AtDirectiveCompletionPoint_ReturnsFalseIfSyntaxTreeNull()
        {
            // Act
            var result = DefaultRazorCompletionFactsService.AtDirectiveCompletionPoint(syntaxTree: null, location: new SourceSpan(0, 0));

            // Assert
            Assert.False(result);
        }
コード例 #3
0
        public void IsDirectiveCompletableToken_ReturnsFalseForInvalidCSharpTokens()
        {
            // Arrange
            var csharpToken = SyntaxFactory.Token(SyntaxKind.Tilde, "~");

            // Act
            var result = DefaultRazorCompletionFactsService.IsDirectiveCompletableToken(csharpToken);

            // Assert
            Assert.False(result);
        }
コード例 #4
0
        public void IsDirectiveCompletableToken_ReturnsTrueForCSharpMarkerTokens()
        {
            // Arrange
            var csharpToken = SyntaxFactory.Token(SyntaxKind.Unknown, string.Empty);

            // Act
            var result = DefaultRazorCompletionFactsService.IsDirectiveCompletableToken(csharpToken);

            // Assert
            Assert.True(result);
        }
コード例 #5
0
        public void IsDirectiveCompletableToken_ReturnsFalseForNonCSharpTokens()
        {
            // Arrange
            var token = SyntaxFactory.Token(SyntaxKind.HtmlTextLiteral, string.Empty);

            // Act
            var result = DefaultRazorCompletionFactsService.IsDirectiveCompletableToken(token);

            // Assert
            Assert.False(result);
        }
コード例 #6
0
        public void IsDirectiveCompletableToken_ReturnsFalseForInvalidCSharpTokens()
        {
            // Arrange
            var csharpToken = new CSharpToken("~", CSharpTokenType.Tilde);

            // Act
            var result = DefaultRazorCompletionFactsService.IsDirectiveCompletableToken(csharpToken);

            // Assert
            Assert.False(result);
        }
コード例 #7
0
        public void IsDirectiveCompletableToken_ReturnsTrueForCSharpIdentifiers()
        {
            // Arrange
            var csharpToken = SyntaxFactory.Token(SyntaxKind.Identifier, "model");

            // Act
            var result = DefaultRazorCompletionFactsService.IsDirectiveCompletableToken(csharpToken);

            // Assert
            Assert.True(result);
        }
コード例 #8
0
        public void IsDirectiveCompletableToken_ReturnsFalseForNonCSharpTokens()
        {
            // Arrange
            var token = Mock.Of <IToken>();

            // Act
            var result = DefaultRazorCompletionFactsService.IsDirectiveCompletableToken(token);

            // Assert
            Assert.False(result);
        }
コード例 #9
0
        public void IsDirectiveCompletableToken_ReturnsTrueForCSharpMarkerTokens()
        {
            // Arrange
            var csharpToken = new CSharpToken(string.Empty, CSharpTokenType.Unknown);

            // Act
            var result = DefaultRazorCompletionFactsService.IsDirectiveCompletableToken(csharpToken);

            // Assert
            Assert.True(result);
        }
コード例 #10
0
        public void IsDirectiveCompletableToken_ReturnsTrueForCSharpIdentifiers()
        {
            // Arrange
            var csharpToken = new CSharpToken("model", CSharpTokenType.Identifier);

            // Act
            var result = DefaultRazorCompletionFactsService.IsDirectiveCompletableToken(csharpToken);

            // Assert
            Assert.True(result);
        }
コード例 #11
0
        public void AtDirectiveCompletionPoint_ReturnsFalseIfNoOwner()
        {
            // Arrange
            var syntaxTree = CreateSyntaxTree("@");
            var location   = new SourceSpan(2, 0);

            // Act
            var result = DefaultRazorCompletionFactsService.AtDirectiveCompletionPoint(syntaxTree, location);

            // Assert
            Assert.False(result);
        }
コード例 #12
0
        public void AtDirectiveCompletionPoint_ReturnsTrueForSimpleImplicitExpressions()
        {
            // Arrange
            var syntaxTree = CreateSyntaxTree("@mod");
            var location   = new SourceSpan(2, 0);

            // Act
            var result = DefaultRazorCompletionFactsService.AtDirectiveCompletionPoint(syntaxTree, location);

            // Assert
            Assert.True(result);
        }
コード例 #13
0
        public void AtDirectiveCompletionPoint_ReturnsFalseWhenOwnerIsExplicitExpression()
        {
            // Arrange
            var syntaxTree = CreateSyntaxTree("@(something)");
            var location   = new SourceSpan(4, 0);

            // Act
            var result = DefaultRazorCompletionFactsService.AtDirectiveCompletionPoint(syntaxTree, location);

            // Assert
            Assert.False(result);
        }
コード例 #14
0
        public void GetDirectiveCompletionItems_ReturnsDefaultDirectivesAsCompletionItems()
        {
            // Arrange
            var syntaxTree = CreateSyntaxTree("@addTag");

            // Act
            var completionItems = DefaultRazorCompletionFactsService.GetDirectiveCompletionItems(syntaxTree);

            // Assert
            Assert.Collection(
                completionItems,
                item => AssertRazorCompletionItem(DefaultDirectives[0], item),
                item => AssertRazorCompletionItem(DefaultDirectives[1], item),
                item => AssertRazorCompletionItem(DefaultDirectives[2], item));
        }
コード例 #15
0
        public void GetDirectiveCompletionItems_ReturnsCustomDirectivesAsCompletionItems()
        {
            // Arrange
            var customDirective = DirectiveDescriptor.CreateSingleLineDirective("custom", builder =>
            {
                builder.Description = "My Custom Directive.";
            });
            var syntaxTree = CreateSyntaxTree("@addTag", customDirective);

            // Act
            var completionItems = DefaultRazorCompletionFactsService.GetDirectiveCompletionItems(syntaxTree);

            // Assert
            Assert.Collection(
                completionItems,
                item => AssertRazorCompletionItem(customDirective, item),
                item => AssertRazorCompletionItem(DefaultDirectives[0], item),
                item => AssertRazorCompletionItem(DefaultDirectives[1], item),
                item => AssertRazorCompletionItem(DefaultDirectives[2], item));
        }
コード例 #16
0
        public void GetDirectiveCompletionItems_UsesDisplayNamesWhenNotNull()
        {
            // Arrange
            var customDirective = DirectiveDescriptor.CreateSingleLineDirective("custom", builder =>
            {
                builder.DisplayName = "different";
                builder.Description = "My Custom Directive.";
            });
            var syntaxTree = CreateSyntaxTree("@addTag", customDirective);

            // Act
            var completionItems = DefaultRazorCompletionFactsService.GetDirectiveCompletionItems(syntaxTree);

            // Assert
            Assert.Collection(
                completionItems,
                item => AssertRazorCompletionItem("different", customDirective, item),
                item => AssertRazorCompletionItem(DefaultDirectives[0], item),
                item => AssertRazorCompletionItem(DefaultDirectives[1], item),
                item => AssertRazorCompletionItem(DefaultDirectives[2], item));
        }