public SourceTextRazorSourceDocument(string filePath, string relativePath, SourceText sourceText)
 {
     FilePath     = filePath;
     RelativePath = relativePath;
     _sourceText  = sourceText;
     Lines        = new SourceTextSourceLineCollection(filePath, sourceText.Lines);
 }
示例#2
0
        public void GetLineLength_Bigger()
        {
            // Arrange
            var content    = @"@addTagHelper, * Stuff
@* A comment *@";
            var sourceText = SourceText.From(content);
            var collection = new SourceTextSourceLineCollection("dummy", sourceText.Lines);

            // Act & Assert
            Assert.Throws <ArgumentOutOfRangeException>(() => collection.GetLineLength(40));
        }
示例#3
0
        public void GetLocation_AtStart()
        {
            // Arrange
            var content    = @"@addTaghelper, * Stuff
@* A comment *@";
            var sourceText = SourceText.From(content);
            var collection = new SourceTextSourceLineCollection("dummy", sourceText.Lines);

            // Act
            var location = collection.GetLocation(0);

            // Assert
            var expected = new SourceLocation("dummy", 0, 0, 0);

            Assert.Equal(expected, location);
        }
示例#4
0
        public void GetLineLength_AtEnd()
        {
            // Arrange
            var content    = @"@addTagHelper, * Stuff
@* A comment *@";
            var sourceText = SourceText.From(content);
            var collection = new SourceTextSourceLineCollection("dummy", sourceText.Lines);

            // Act
            var lineLength = collection.GetLineLength(1);

            // Assert
            var expectedLineLength = 15;

            Assert.Equal(expectedLineLength, lineLength);
        }
示例#5
0
        public void GetLocation_AtEnd()
        {
            // Arrange
            var content    = @"@addTagHelper, * Stuff
@* A comment *@";
            var sourceText = SourceText.From(content);
            var collection = new SourceTextSourceLineCollection("dummy", sourceText.Lines);
            var length     = content.Length;

            // Act
            var location = collection.GetLocation(length);

            // Assert
            var expected = new SourceLocation("dummy", length, 1, 15);

            Assert.Equal(expected, location);
        }
示例#6
0
        public void GetLocation_AtEnd()
        {
            // Arrange
            var content    = @"@addTagHelper, * Stuff
@* A comment *@";
            var sourceText = SourceText.From(content);
            var collection = new SourceTextSourceLineCollection("dummy", sourceText.Lines);
            var length     = content.Length;

            // Act
            var location = collection.GetLocation(length);

            // Assert
            // Conditional check to account for line endings on Windows
            var lineLength = RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? 39 : 38;
            var expected   = new SourceLocation("dummy", length, 1, lineLength);

            Assert.Equal(expected, location);
        }