public void Length() { // Arrange var expectedContent = "Hello, World!"; var document = new StringSourceDocument(expectedContent, Encoding.UTF8, filePath: "file.cshtml"); // Act & Assert Assert.Equal(expectedContent.Length, document.Length); }
public void Length() { // Arrange var expectedContent = "Hello, World!"; var document = new StringSourceDocument(expectedContent, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act & Assert Assert.Equal(expectedContent.Length, document.Length); }
public void FilePath() { // Arrange var content = "Hello, World!"; // Act var document = new StringSourceDocument(content, Encoding.UTF8, new RazorSourceDocumentProperties(filePath: "file.cshtml", relativePath: null)); // Assert Assert.Equal("file.cshtml", document.FilePath); }
public void FilePath_Null() { // Arrange var content = "Hello, World!"; // Act var document = new StringSourceDocument(content, Encoding.UTF8, filePath: null); // Assert Assert.Null(document.FilePath); }
public void FilePath() { // Arrange var content = "Hello, World!"; // Act var document = new StringSourceDocument(content, Encoding.UTF8, filePath: "file.cshtml"); // Assert Assert.Equal("file.cshtml", document.FilePath); }
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, filePath: null); // Act var actual = document.Lines.GetLineLength(0); // Assert Assert.Equal(0, 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_Count_EmptyDocument() { // Arrange var content = string.Empty; var document = new StringSourceDocument(content, Encoding.UTF8, filePath: null); // Act var actual = document.Lines.Count; // Assert Assert.Equal(1, actual); }
public void Lines_GetLineLength_TrailingNewlineDoesNotStartNewLine() { // Arrange var content = "hello\n"; var document = new StringSourceDocument(content, Encoding.UTF8, filePath: null); // Act var actual = document.Lines.GetLineLength(0); // Assert Assert.Equal(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 Lines_CR_IsNewLine_MultipleCRs() { // Arrange var content = "Hello\rBig\r\nWorld!"; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var actual = GetAllSourceMappings(document); // Assert Assert.Equal(new int[] { 6, 5, 6 }, actual); }
public void Lines_Unicode2029_IsNewLine() { // Arrange var content = "Hello\u2029World!"; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var actual = GetAllSourceMappings(document); // Assert Assert.Equal(new int[] { 6, 6 }, actual); }
public void GetChecksum_ComputesCorrectChecksum_UTF32() { // Arrange var content = "Hello World!"; var document = new StringSourceDocument(content, Encoding.UTF32, RazorSourceDocumentProperties.Default); var expectedChecksum = new byte[] { 8, 149, 159, 15, 242, 255, 115, 227, 219, 78, 61, 53, 127, 239, 77, 239, 215, 140, 248, 44 }; // Act var checksum = document.GetChecksum(); // Assert Assert.Equal(expectedChecksum, checksum); }
public void Lines_Unicode2028_IsNewLine() { // Arrange var content = "Hello\u2028World!"; var document = new StringSourceDocument(content, Encoding.UTF8, filePath: null); // Act var actual = GetAllSourceMappings(document); // Assert Assert.Equal(new int[] { 6, 6 }, 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_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 Lines_GetLocation_IncludesAbsoluteIndexAndDocument() { // Arrange var content = "Hello, World!"; var document = new StringSourceDocument(content, Encoding.UTF8, filePath: "Hi.cshtml"); // Act var actual = document.Lines.GetLocation(1); // Assert Assert.Equal("Hi.cshtml", actual.FilePath); Assert.Equal(1, actual.AbsoluteIndex); }
public void Lines_GetLocation_EndOfLastLine() { // Arrange var content = "Hello\nBig\r\nWorld!"; var document = new StringSourceDocument(content, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act var actual = document.Lines.GetLocation(16); // Assert Assert.Equal(2, actual.LineIndex); Assert.Equal(5, actual.CharacterIndex); }
public void Lines_GetLocation_StartOfLastLine() { // Arrange var content = "Hello\nBig\r\nWorld!"; var document = new StringSourceDocument(content, Encoding.UTF8, filePath: null); // Act var actual = document.Lines.GetLocation(11); // Assert Assert.Equal(2, actual.LineIndex); Assert.Equal(0, actual.CharacterIndex); }
public void Lines_GetLocation_PrefersRelativePath() { // Arrange var content = "Hello, World!"; var document = new StringSourceDocument(content, Encoding.UTF8, new RazorSourceDocumentProperties(filePath: "Hi.cshtml", relativePath: "Bye.cshtml")); // Act var actual = document.Lines.GetLocation(1); // Assert Assert.Equal("Bye.cshtml", actual.FilePath); Assert.Equal(1, actual.AbsoluteIndex); }
public void CopyTo_WithEncoding() { // Arrange var content = "Hi"; var document = new StringSourceDocument(content, Encoding.UTF8, filePath: null); var charBuffer = new char[2]; // Act document.CopyTo(0, charBuffer, 0, 2); // Assert var copiedContent = new string(charBuffer); Assert.Equal("Hi", copiedContent); }
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 CopyTo_PartialCopyFromStart() { // Arrange var content = "Hello, World!"; var document = new StringSourceDocument(content, Encoding.UTF8, filePath: null); var expectedContent = "Hello"; var charBuffer = new char[expectedContent.Length]; // Act document.CopyTo(0, charBuffer, 0, expectedContent.Length); // Assert var copiedContent = new string(charBuffer); Assert.Equal(expectedContent, copiedContent); }
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); } }
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 Indexer_ProvidesCharacterAccessToContent() { // Arrange var expectedContent = "Hello, World!"; var indexerBuffer = new char[expectedContent.Length]; var document = new StringSourceDocument(expectedContent, Encoding.UTF8, RazorSourceDocumentProperties.Default); // Act for (var i = 0; i < document.Length; i++) { indexerBuffer[i] = document[i]; } // Assert var output = new string(indexerBuffer); Assert.Equal(expectedContent, output); }