コード例 #1
0
    public void ReadFrom_WithProperties()
    {
        // Arrange
        var content    = TestRazorSourceDocument.CreateStreamContent(encoding: Encoding.UTF32);
        var properties = new RazorSourceDocumentProperties("c:\\myapp\\filePath.cshtml", "filePath.cshtml");

        // Act
        var document = RazorSourceDocument.ReadFrom(content, Encoding.UTF32, properties);

        // Assert
        Assert.Equal("c:\\myapp\\filePath.cshtml", document.FilePath);
        Assert.Equal("filePath.cshtml", document.RelativePath);
        Assert.Same(Encoding.UTF32, Assert.IsType <StreamSourceDocument>(document).Encoding);
    }
コード例 #2
0
    public void GetChecksum_ComputesCorrectChecksum_UTF32()
    {
        // Arrange
        var contentString    = "Hello World";
        var stream           = TestRazorSourceDocument.CreateStreamContent(contentString, Encoding.UTF32);
        var reader           = new StreamReader(stream, detectEncodingFromByteOrderMarks: true);
        var document         = new LargeTextSourceDocument(reader, 5, Encoding.UTF32, RazorSourceDocumentProperties.Default);
        var expectedChecksum = new byte[] { 108, 172, 130, 171, 42, 19, 155, 176, 211, 80, 224, 121, 169, 133, 25, 134, 48, 228, 199, 141 };

        // Act
        var checksum = document.GetChecksum();

        // Assert
        Assert.Equal(expectedChecksum, checksum);
    }
コード例 #3
0
    public void GetChecksum_ComputesCorrectChecksum_UTF8()
    {
        // Arrange
        var contentString    = "Hello World";
        var stream           = TestRazorSourceDocument.CreateStreamContent(contentString);
        var reader           = new StreamReader(stream, detectEncodingFromByteOrderMarks: true);
        var document         = new LargeTextSourceDocument(reader, 5, Encoding.UTF8, RazorSourceDocumentProperties.Default);
        var expectedChecksum = new byte[] { 10, 77, 85, 168, 215, 120, 229, 2, 47, 171, 112, 25, 119, 197, 216, 64, 187, 196, 134, 208 };

        // Act
        var checksum = document.GetChecksum();

        // Assert
        Assert.Equal(expectedChecksum, checksum);
    }
コード例 #4
0
    public void GetChecksum_ReturnsCopiedChecksum()
    {
        // Arrange
        var contentString = "Hello World";
        var stream        = TestRazorSourceDocument.CreateStreamContent(contentString);
        var reader        = new StreamReader(stream, detectEncodingFromByteOrderMarks: true);
        var document      = new LargeTextSourceDocument(reader, 5, Encoding.UTF8, RazorSourceDocumentProperties.Default);

        // Act
        var firstChecksum  = document.GetChecksum();
        var secondChecksum = document.GetChecksum();

        // Assert
        Assert.Equal(firstChecksum, secondChecksum);
        Assert.NotSame(firstChecksum, secondChecksum);
    }
コード例 #5
0
    public void DetectsSizeOfStreamForLargeContent(int contentLength)
    {
        // Arrange
        var content = new string('a', contentLength);
        var stream  = TestRazorSourceDocument.CreateStreamContent(content);

        // Act
        var document = new StreamSourceDocument(stream, null, RazorSourceDocumentProperties.Default);

        // Assert
        var streamDocument = Assert.IsType <StreamSourceDocument>(document);

        Assert.IsType <LargeTextSourceDocument>(streamDocument._innerSourceDocument);
        Assert.Same(Encoding.UTF8, document.Encoding);
        Assert.Equal(content, ReadContent(document));
    }
コード例 #6
0
    [InlineData("xyz", 23, 0, 3)]                               // The last chars
    public void CopyTo(string expected, int sourceIndex, int destinationIndex, int count)
    {
        // Arrange
        var stream = TestRazorSourceDocument.CreateStreamContent("abcdefghijklmnopqrstuvwxyz");

        var reader   = new StreamReader(stream, true);
        var document = new LargeTextSourceDocument(reader, ChunkTestLength, Encoding.UTF8, RazorSourceDocumentProperties.Default);

        // Act
        var destination = new char[1000];

        document.CopyTo(sourceIndex, destination, destinationIndex, count);

        // Assert
        var copy = new string(destination, destinationIndex, count);

        Assert.Equal(expected, copy);
    }