diff --git a/PreMailer.Net/PreMailer.Net.Tests/ImportRuleCssSourceTests.cs b/PreMailer.Net/PreMailer.Net.Tests/ImportRuleCssSourceTests.cs index 0b9d185..a441b40 100644 --- a/PreMailer.Net/PreMailer.Net.Tests/ImportRuleCssSourceTests.cs +++ b/PreMailer.Net/PreMailer.Net.Tests/ImportRuleCssSourceTests.cs @@ -203,6 +203,24 @@ public void ItShould_HandleCircularImports_WithoutInfiniteLoop() _webDownloader.Verify(w => w.DownloadString(It.Is(u => u.ToString() == "https://a.com/circular2.css")), Times.Once); } + [Fact] + public void ItShould_PreservePortNumber_WhenResolvingRelativeImports() + { + var baseUri = new Uri("https://localhost:8080/styles/main.css"); + var css = "@import \"variables.css\";"; + var variablesCss = "body { color: red; }"; + + _webDownloader + .Setup(w => w.DownloadString(It.Is(u => u.ToString() == "https://localhost:8080/styles/variables.css"))) + .Returns(variablesCss); + + var sut = new ImportRuleCssSource(); + + var result = sut.GetCss(baseUri, css).ToList(); + + _webDownloader.Verify(w => w.DownloadString(It.Is(u => u.ToString() == "https://localhost:8080/styles/variables.css")), Times.Once); + } + private string CreateCss(IEnumerable imports) { var builder = new StringBuilder(); diff --git a/PreMailer.Net/PreMailer.Net/Sources/ImportRuleCssSource.cs b/PreMailer.Net/PreMailer.Net/Sources/ImportRuleCssSource.cs index 0217f61..3cd1ef0 100644 --- a/PreMailer.Net/PreMailer.Net/Sources/ImportRuleCssSource.cs +++ b/PreMailer.Net/PreMailer.Net/Sources/ImportRuleCssSource.cs @@ -83,7 +83,6 @@ private static Uri GetBaseUri(Uri downloadUri) { var baseUrl = new UriBuilder(downloadUri) { - Port = -1 /* Excludes the port number */, Query = string.Empty };