public void RelativePath_Null() { // Arrange var content = "Hello, World!"; // Act var document = new StringSourceDocument(content, Encoding.UTF8, new RazorSourceDocumentProperties(filePath: null, relativePath: null)); // Assert Assert.Null(document.RelativePath); }
public void Lines_GetLineLength_TrailingNewlineDoesNotStartNewLine_CRLF() { // Arrange var content = "hello\r\n"; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var actual = document.Lines.GetLineLength(0); // Assert Assert.Equal(7, actual); }
public void Lines_GetLineLength_EmptyDocument() { // Arrange var content = string.Empty; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var actual = document.Lines.GetLineLength(0); // Assert Assert.Equal(0, actual); }
public void Lines_CRLF_OnlyCountsAsASingleNewLine() { // Arrange var content = "Hello\r\nWorld!"; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var actual = GetAllSourceMappings(document); // Assert Assert.Equal(new int[] { 7, 6 }, actual); }
public void GetChecksum_ComputesCorrectChecksum_UTF8() { // Arrange var content = "Hello World!"; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); var expectedChecksum = new byte[] { 46, 247, 189, 230, 8, 206, 84, 4, 233, 125, 95, 4, 47, 149, 248, 159, 28, 35, 40, 113 }; // Act var checksum = document.GetChecksum(); // Assert Assert.Equal(expectedChecksum, checksum); }
public void GetChecksum_ReturnsCopiedChecksum() { // Arrange var content = "Hello World!"; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var firstChecksum = document.GetChecksum(); var secondChecksum = document.GetChecksum(); // Assert Assert.Equal(firstChecksum, secondChecksum); Assert.NotSame(firstChecksum, secondChecksum); }
public void CopyTo_PartialCopySourceOffset() { // Arrange var content = "Hello, World!"; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); var expectedContent = "World"; var charBuffer = new char[expectedContent.Length]; // Act document.CopyTo(7, charBuffer, 0, expectedContent.Length); // Assert var copiedContent = new string(charBuffer); Assert.Equal(expectedContent, copiedContent); }
public void Lines_Simple_Document() { // Arrange var content = new StringBuilder() .Append("The quick brown").Append('\n') .Append("fox").Append("\r\n") .Append("jumps over the lazy dog.") .ToString(); var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var actual = GetAllSourceMappings(document); // Assert Assert.Equal(new int[] { 16, 5, 24 }, actual); }
public void CopyTo_CanCopyMultipleTimes() { // Arrange var content = "Hi"; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act & Assert // // (we should be able to do this twice to prove that the underlying data isn't disposed) for (var i = 0; i < 2; i++) { var charBuffer = new char[2]; document.CopyTo(0, charBuffer, 0, 2); var copiedContent = new string(charBuffer); Assert.Equal("Hi", copiedContent); } }