Пример #1
0
    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);
    }
Пример #2
0
    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);
    }
Пример #3
0
    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);
    }
Пример #4
0
    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);
    }
Пример #5
0
    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);
    }
Пример #6
0
    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);
    }
Пример #7
0
    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);
    }
Пример #8
0
    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);
    }
Пример #9
0
    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);
        }
    }