public DefaultRemoteTextLoaderFactory(
            FilePathNormalizer filePathNormalizer)
        {
            if (filePathNormalizer is null)
            {
                throw new ArgumentNullException(nameof(filePathNormalizer));
            }

            _filePathNormalizer = filePathNormalizer;
        }
Example #2
0
        public void Normalize_NullFilePath_ReturnsForwardSlash()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();

            // Act
            var normalized = filePathNormalizer.Normalize(null);

            // Assert
            Assert.Equal("/", normalized);
        }
Example #3
0
        public void Normalize_EmptyFilePath_ReturnsEmptyString()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();

            // Act
            var normalized = filePathNormalizer.Normalize(null);

            // Assert
            Assert.Equal("/", normalized);
        }
Example #4
0
        public void GetDirectory_NoDirectory_ReturnsSlash()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var filePath           = "document.cshtml";

            // Act
            var normalized = filePathNormalizer.GetDirectory(filePath);

            // Assert
            Assert.Equal("/", normalized);
        }
Example #5
0
        public void GetDirectory_IncludesTrailingSlash()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var filePath           = "path/to/document.cshtml";

            // Act
            var normalized = filePathNormalizer.GetDirectory(filePath);

            // Assert
            Assert.Equal("/path/to/", normalized);
        }
Example #6
0
        public void NormalizeDirectory_EndsWithoutSlash()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var directory          = "\\path\\to\\directory";

            // Act
            var normalized = filePathNormalizer.NormalizeDirectory(directory);

            // Assert
            Assert.Equal("/path/to/directory/", normalized);
        }
Example #7
0
        public void Normalize_ReplacesBackSlashesWithForwardSlashes()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var filePath           = "\\path\\to\\document.cshtml";

            // Act
            var normalized = filePathNormalizer.Normalize(filePath);

            // Assert
            Assert.Equal("/path/to/document.cshtml", normalized);
        }
Example #8
0
        public void Normalize_UrlDecodesFilePath()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var filePath           = "C:/path%20to/document.cshtml";

            // Act
            var normalized = filePathNormalizer.Normalize(filePath);

            // Assert
            Assert.Equal("/C:/path to/document.cshtml", normalized);
        }
Example #9
0
        public void Normalize_AddsLeadingForwardSlash()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var filePath           = "path/to/document.cshtml";

            // Act
            var normalized = filePathNormalizer.Normalize(filePath);

            // Assert
            Assert.Equal("/path/to/document.cshtml", normalized);
        }
        public void Normalize_IgnoresUNCPaths()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var path = "//ComputerName/path/to/something";

            // Act
            path = filePathNormalizer.Normalize(path);

            // Assert
            Assert.Equal("//ComputerName/path/to/something", path);
        }
        public void Normalize_Windows_StripsPrecedingSlash()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var path = "/c:/path/to/something";

            // Act
            path = filePathNormalizer.Normalize(path);

            // Assert
            Assert.Equal("c:/path/to/something", path);
        }
Example #12
0
        public void FilePathsEquivalent_NormalizesPathsBeforeComparison_ReturnsTrue()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var filePath1          = "path/to/document.cshtml";
            var filePath2          = "path\\to\\document.cshtml";

            // Act
            var result = filePathNormalizer.FilePathsEquivalent(filePath1, filePath2);

            // Assert
            Assert.True(result);
        }
Example #13
0
        public void FilePathsEquivalent_NotEqualPaths_ReturnsFalse()
        {
            // Arrange
            var filePathNormalizer = new FilePathNormalizer();
            var filePath1          = "path/to/document.cshtml";
            var filePath2          = "path\\to\\different\\document.cshtml";

            // Act
            var result = filePathNormalizer.FilePathsEquivalent(filePath1, filePath2);

            // Assert
            Assert.False(result);
        }