in DarabonbaUnitTests/CoreTest.cs [21:63]
public void TestComposeUrl()
{
Request request = new Request();
var url = Core.ComposeUrl(request);
Assert.Equal("http://", url);
request.Headers["host"] = "fake.domain.com";
url = Core.ComposeUrl(request);
Assert.Equal("http://fake.domain.com", url);
request.Port = 8080;
url = Core.ComposeUrl(request);
Assert.Equal("http://fake.domain.com:8080", url);
request.Pathname = "/index.html";
url = Core.ComposeUrl(request);
Assert.Equal("http://fake.domain.com:8080/index.html", url);
request.Query["foo"] = "";
url = Core.ComposeUrl(request);
Assert.Equal("http://fake.domain.com:8080/index.html?foo=", url);
request.Query["foo"] = "bar";
url = Core.ComposeUrl(request);
Assert.Equal("http://fake.domain.com:8080/index.html?foo=bar", url);
request.Pathname = "/index.html?a=b";
url = Core.ComposeUrl(request);
Assert.Equal("http://fake.domain.com:8080/index.html?a=b&foo=bar", url);
request.Pathname = "/index.html?a=b&";
url = Core.ComposeUrl(request);
Assert.Equal("http://fake.domain.com:8080/index.html?a=b&foo=bar", url);
request.Query["fake"] = null;
url = Core.ComposeUrl(request);
Assert.Equal("http://fake.domain.com:8080/index.html?a=b&foo=bar", url);
request.Query["fake"] = "val*";
url = Core.ComposeUrl(request);
Assert.Equal("http://fake.domain.com:8080/index.html?a=b&foo=bar&fake=val%2A", url);
}