public async Task ProvideCompletionAsync_DoesNotProvideCompletionsForDocumentWithoutPath()
        {
            // Arrange
            Document document = null;

            TestWorkspace.Create(workspace =>
            {
                var project = ProjectInfo
                              .Create(ProjectId.CreateNewId(), VersionStamp.Default, "TestProject", "TestAssembly", LanguageNames.CSharp)
                              .WithFilePath("/TestProject.csproj");
                workspace.AddProject(project);
                var documentInfo = DocumentInfo.Create(DocumentId.CreateNewId(project.Id), "Test.cshtml");
                document         = workspace.AddDocument(documentInfo);
            });

            var codeDocumentProvider = new Mock <RazorCodeDocumentProvider>(MockBehavior.Strict);
            var completionProvider   = new FailOnGetCompletionsProvider(
                new Lazy <RazorCodeDocumentProvider>(() => codeDocumentProvider.Object),
                CompletionBroker,
                TextBufferProvider);
            var context = CreateContext(1, completionProvider, document);

            // Act & Assert
            await completionProvider.ProvideCompletionsAsync(context);
        }
Ejemplo n.º 2
0
        public async Task ProvideCompletionAsync_DoesNotProvideCompletionsForExplicitExpressions()
        {
            // Arrange
            var codeDocumentProvider = CreateCodeDocumentProvider("@()", Enumerable.Empty <DirectiveDescriptor>());
            var completionProvider   = new FailOnGetCompletionsProvider(codeDocumentProvider);
            var document             = CreateDocument();
            var context = CreateContext(2, completionProvider, document);

            // Act & Assert
            await completionProvider.ProvideCompletionsAsync(context);
        }
Ejemplo n.º 3
0
        public async Task ProvideCompletionAsync_DoesNotProvideCompletionsCanNotFindSnapshotPoint()
        {
            // Arrange
            var codeDocumentProvider = CreateCodeDocumentProvider("@", Enumerable.Empty <DirectiveDescriptor>());
            var completionProvider   = new FailOnGetCompletionsProvider(codeDocumentProvider, false);
            var document             = CreateDocument();
            var context = CreateContext(0, completionProvider, document);

            // Act & Assert
            await completionProvider.ProvideCompletionsAsync(context);
        }
Ejemplo n.º 4
0
        public async Task ProvideCompletionAsync_DoesNotProvideCompletionsForNonRazorFiles()
        {
            // Arrange
            var codeDocumentProvider = new Mock <RazorCodeDocumentProvider>(MockBehavior.Strict);
            var completionProvider   = new FailOnGetCompletionsProvider(new Lazy <RazorCodeDocumentProvider>(() => codeDocumentProvider.Object));
            var document             = CreateDocument();

            document = document.WithFilePath("NotRazor.cs");
            var context = CreateContext(1, completionProvider, document);

            // Act & Assert
            await completionProvider.ProvideCompletionsAsync(context);
        }
Ejemplo n.º 5
0
        public async Task ProvideCompletionAsync_DoesNotProvideCompletionsForCodeDocumentWithoutSyntaxTree()
        {
            // Arrange
            var codeDocumentProvider = new Mock <RazorCodeDocumentProvider>();
            var codeDocument         = TestRazorCodeDocument.CreateEmpty();

            codeDocumentProvider.Setup(provider => provider.TryGetFromDocument(It.IsAny <TextDocument>(), out codeDocument))
            .Returns(true);
            var completionProvider = new FailOnGetCompletionsProvider(new Lazy <RazorCodeDocumentProvider>(() => codeDocumentProvider.Object));
            var document           = CreateDocument();
            var context            = CreateContext(2, completionProvider, document);

            // Act & Assert
            await completionProvider.ProvideCompletionsAsync(context);
        }
Ejemplo n.º 6
0
        public async Task ProvideCompletionAsync_DoesNotProvideCompletionsWhenDocumentProviderCanNotGetDocument()
        {
            // Arrange
            RazorCodeDocument codeDocument;
            var codeDocumentProvider = new Mock <RazorCodeDocumentProvider>();

            codeDocumentProvider.Setup(provider => provider.TryGetFromDocument(It.IsAny <TextDocument>(), out codeDocument))
            .Returns(false);
            var completionProvider = new FailOnGetCompletionsProvider(new Lazy <RazorCodeDocumentProvider>(() => codeDocumentProvider.Object));
            var document           = CreateDocument();
            var context            = CreateContext(1, completionProvider, document);

            // Act & Assert
            await completionProvider.ProvideCompletionsAsync(context);
        }
Ejemplo n.º 7
0
        public void AtDirectiveCompletionPoint_ReturnsFalseIfChangeHasNoOwner()
        {
            // Arrange
            var codeDocumentProvider = CreateCodeDocumentProvider("@", Enumerable.Empty <DirectiveDescriptor>());
            var completionProvider   = new FailOnGetCompletionsProvider(codeDocumentProvider);
            var document             = CreateDocument();

            codeDocumentProvider.Value.TryGetFromDocument(document, out var codeDocument);
            var syntaxTree        = codeDocument.GetSyntaxTree();
            var completionContext = CreateContext(2, completionProvider, document);

            // Act
            var result = completionProvider.AtDirectiveCompletionPoint(syntaxTree, completionContext);

            // Assert
            Assert.False(result);
        }