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); } }