public void PublishHtml_SecondTime_PublishesSourceTextDifferences() { // Arrange var generatedDocumentPublisher = new DefaultGeneratedDocumentPublisher(Dispatcher, new Lazy <ILanguageServer>(() => Server)); var initialSourceText = SourceText.From("HTML content"); generatedDocumentPublisher.PublishHtml("/path/to/file.razor", initialSourceText, 123); var change = new TextChange( new TextSpan(initialSourceText.Length, 0), "!!"); var changedSourceText = initialSourceText.WithChanges(change); // Act generatedDocumentPublisher.PublishHtml("/path/to/file.razor", changedSourceText, 124); // Assert Assert.Equal(2, Server.UpdateRequests.Count); var updateRequest = Server.UpdateRequests.Last(); Assert.Equal("/path/to/file.razor", updateRequest.HostDocumentFilePath); var textChange = Assert.Single(updateRequest.Changes); Assert.Equal(change, textChange); Assert.Equal(124, updateRequest.HostDocumentVersion); }
public void ProjectSnapshotManager_DocumentChanged_OpenDocument_VersionEquivalent_Noops_Html() { // Arrange var generatedDocumentPublisher = new DefaultGeneratedDocumentPublisher(Dispatcher, new Lazy <ILanguageServer>(() => Server)); generatedDocumentPublisher.Initialize(ProjectManager); var sourceTextContent = "<!-- The content -->"; var initialSourceText = SourceText.From(sourceTextContent); generatedDocumentPublisher.PublishHtml(HostDocument.FilePath, initialSourceText, 123); // Act ProjectManager.DocumentOpened(HostProject.FilePath, HostDocument.FilePath, initialSourceText); generatedDocumentPublisher.PublishHtml(HostDocument.FilePath, initialSourceText, 123); // Assert var updateRequest = Assert.Single(Server.UpdateRequests); Assert.Equal(HostDocument.FilePath, updateRequest.HostDocumentFilePath); Assert.Equal(123, updateRequest.HostDocumentVersion); }
public void PublishHtml_SecondTime_IdenticalContent_NoTextChanges() { // Arrange var generatedDocumentPublisher = new DefaultGeneratedDocumentPublisher(Dispatcher, new Lazy <ILanguageServer>(() => Server)); var sourceTextContent = "HTMl content"; var initialSourceText = SourceText.From(sourceTextContent); generatedDocumentPublisher.PublishHtml("/path/to/file.razor", initialSourceText, 123); var identicalSourceText = SourceText.From(sourceTextContent); // Act generatedDocumentPublisher.PublishHtml("/path/to/file.razor", identicalSourceText, 124); // Assert Assert.Equal(2, Server.UpdateRequests.Count); var updateRequest = Server.UpdateRequests.Last(); Assert.Equal("/path/to/file.razor", updateRequest.HostDocumentFilePath); Assert.Empty(updateRequest.Changes); Assert.Equal(124, updateRequest.HostDocumentVersion); }
public void PublishHtml_DifferentFileSameContent_PublishesEverything() { // Arrange var generatedDocumentPublisher = new DefaultGeneratedDocumentPublisher(Dispatcher, new Lazy <ILanguageServer>(() => Server)); var sourceTextContent = "HTML content"; var initialSourceText = SourceText.From(sourceTextContent); generatedDocumentPublisher.PublishHtml("/path/to/file1.razor", initialSourceText, 123); var identicalSourceText = SourceText.From(sourceTextContent); // Act generatedDocumentPublisher.PublishHtml("/path/to/file2.razor", identicalSourceText, 123); // Assert Assert.Equal(2, Server.UpdateRequests.Count); var updateRequest = Server.UpdateRequests.Last(); Assert.Equal("/path/to/file2.razor", updateRequest.HostDocumentFilePath); var textChange = Assert.Single(updateRequest.Changes); Assert.Equal(sourceTextContent, textChange.NewText); Assert.Equal(123, updateRequest.HostDocumentVersion); }
public void ProjectSnapshotManager_DocumentChanged_OpenDocument_PublishesEmptyTextChanges_Html() { // Arrange var generatedDocumentPublisher = new DefaultGeneratedDocumentPublisher(Dispatcher, ServerClient, LoggerFactory); generatedDocumentPublisher.Initialize(ProjectManager); var sourceTextContent = "<!-- The content -->"; var initialSourceText = SourceText.From(sourceTextContent); generatedDocumentPublisher.PublishHtml(HostDocument.FilePath, initialSourceText, 123); // Act ProjectManager.DocumentOpened(HostProject.FilePath, HostDocument.FilePath, initialSourceText); generatedDocumentPublisher.PublishHtml(HostDocument.FilePath, initialSourceText, 124); // Assert Assert.Equal(2, ServerClient.UpdateRequests.Count); var updateRequest = ServerClient.UpdateRequests.Last(); Assert.Equal(HostDocument.FilePath, updateRequest.HostDocumentFilePath); Assert.Empty(updateRequest.Changes); Assert.Equal(124, updateRequest.HostDocumentVersion); }
public void PublishHtml_FirstTime_PublishesEntireSourceText() { // Arrange var generatedDocumentPublisher = new DefaultGeneratedDocumentPublisher(Dispatcher, new Lazy <ILanguageServer>(() => Server)); var content = "HTML content"; var sourceText = SourceText.From(content); // Act generatedDocumentPublisher.PublishHtml("/path/to/file.razor", sourceText, 123); // Assert var updateRequest = Assert.Single(Server.UpdateRequests); Assert.Equal("/path/to/file.razor", updateRequest.HostDocumentFilePath); var textChange = Assert.Single(updateRequest.Changes); Assert.Equal(content, textChange.NewText); Assert.Equal(123, updateRequest.HostDocumentVersion); }