fix: Fixing bug where IcdUriBuilder was not correctly appending paths

This commit is contained in:
Chris Cameron
2018-05-14 14:52:55 -04:00
parent e55c2f9474
commit b2c3ecb113
2 changed files with 20 additions and 15 deletions

View File

@@ -63,19 +63,23 @@ namespace ICD.Common.Utils.Tests
#endregion #endregion
[TestCase("http://localhost/", null, null, null, (ushort)0, null, null, null)] [TestCase("http://localhost/", null, null, null, null, (ushort)0, null, null, null)]
[TestCase("http://localhost:80/", null, null, null, (ushort)80, null, null, null)] [TestCase("http://localhost:80/", null, null, null, null, (ushort)80, null, null, null)]
[TestCase("http://username@localhost/", null, null, null, (ushort)0, null, null, "username")] [TestCase("http://username@localhost/", null, null, null, null, (ushort)0, null, null, "username")]
[TestCase("http://localhost/", null, null, "password", (ushort)0, null, null, null)] [TestCase("http://localhost/", null, null, "password", null, (ushort)0, null, null, null)]
[TestCase("https://localhost/", null, null, null, (ushort)0, null, "https", null)] [TestCase("https://localhost/", null, null, null, null, (ushort)0, null, "https", null)]
public void ToStringTest(string expected, string fragment, string address, string password, ushort port, string query, [TestCase("http://localhost/test", null, null, null, "test", (ushort)0, null, null, null)]
string scheme, string userName) [TestCase("http://localhost/test", null, null, null, "/test", (ushort)0, null, null, null)]
[TestCase("http://localhost//test", null, null, null, "//test", (ushort)0, null, null, null)]
public void ToStringTest(string expected, string fragment, string address, string password, string path, ushort port,
string query, string scheme, string userName)
{ {
IcdUriBuilder builder = new IcdUriBuilder IcdUriBuilder builder = new IcdUriBuilder
{ {
Fragment = fragment, Fragment = fragment,
Host = address, Host = address,
Password = password, Password = password,
Path = path,
Port = port, Port = port,
Query = query, Query = query,
Scheme = scheme, Scheme = scheme,

View File

@@ -100,6 +100,7 @@ namespace ICD.Common.Utils
} }
// Path // Path
if (string.IsNullOrEmpty(Path) || !Path.StartsWith("/"))
builder.Append('/'); builder.Append('/');
builder.Append(Path); builder.Append(Path);