From e10015c11a2960c1c3e51e1d6fb9fa1282cd78ba Mon Sep 17 00:00:00 2001 From: Hisham Bin Ateya Date: Mon, 6 Apr 2020 20:54:55 +0300 Subject: [PATCH] Address feedback --- Oqtane.Shared/Oqtane.Shared.csproj | 1 - Oqtane.Shared/Shared/Utilities.cs | 30 +++++-------------- .../Oqtane.Shared.Tests/UtilitiesTests.cs | 8 ++--- 3 files changed, 11 insertions(+), 28 deletions(-) diff --git a/Oqtane.Shared/Oqtane.Shared.csproj b/Oqtane.Shared/Oqtane.Shared.csproj index 01053668..6a0c0d87 100644 --- a/Oqtane.Shared/Oqtane.Shared.csproj +++ b/Oqtane.Shared/Oqtane.Shared.csproj @@ -18,7 +18,6 @@ - diff --git a/Oqtane.Shared/Shared/Utilities.cs b/Oqtane.Shared/Shared/Utilities.cs index c828e9e9..fe7817d0 100644 --- a/Oqtane.Shared/Shared/Utilities.cs +++ b/Oqtane.Shared/Shared/Utilities.cs @@ -2,8 +2,6 @@ using System.Globalization; using System.Text; using System.Text.RegularExpressions; -using Microsoft.AspNetCore.Http; -using Microsoft.AspNetCore.Http.Extensions; namespace Oqtane.Shared { @@ -19,29 +17,15 @@ namespace Oqtane.Shared public static string NavigateUrl(string alias, string path, string parameters) { - if (!alias.StartsWith("/")) + var uriBuilder = new UriBuilder { - alias = $"/{alias}"; - } + Path = !string.IsNullOrEmpty(alias) + ? $"{alias}/{path}" + : $"{path}", + Query = parameters + }; - if (!path.StartsWith("/")) - { - path = $"/{path}"; - } - - var pathPaseValue = alias == string.Empty - ? default - : new PathString(alias); - - var pathValue = path == string.Empty - ? default - : new PathString(path); - - var queryStringValue = parameters == string.Empty - ? default - : new QueryString($"?{parameters}"); - - return UriHelper.BuildRelative(pathPaseValue, pathValue, queryStringValue); + return uriBuilder.Uri.PathAndQuery; } public static string EditUrl(string alias, string path, int moduleid, string action, string parameters) diff --git a/Oqtane.Test/Oqtane.Shared.Tests/UtilitiesTests.cs b/Oqtane.Test/Oqtane.Shared.Tests/UtilitiesTests.cs index ccafa193..c5de08e4 100644 --- a/Oqtane.Test/Oqtane.Shared.Tests/UtilitiesTests.cs +++ b/Oqtane.Test/Oqtane.Shared.Tests/UtilitiesTests.cs @@ -8,13 +8,13 @@ namespace Oqtane.Test.Oqtane.Shared.Tests [Theory] [InlineData("contoso", "login", "returnUrl=/admin", "/contoso/login?returnUrl=/admin")] [InlineData("contoso", "admin", "", "/contoso/admin")] - [InlineData("contoso", "", "pageId=4", "/contoso/?pageId=4")] - [InlineData("contoso", "", "pageId=4&moduleId=10", "/contoso/?pageId=4&moduleId=10")] + [InlineData("contoso", "", "pageId=4", "/contoso?pageId=4")] + [InlineData("contoso", "", "pageId=4&moduleId=10", "/contoso?pageId=4&moduleId=10")] [InlineData("contoso", "", "", "/contoso/")] [InlineData("", "login", "returnUrl=/admin", "/login?returnUrl=/admin")] [InlineData("", "admin", "", "/admin")] - [InlineData("", "", "pageId=4", "/?pageId=4")] - [InlineData("", "", "pageId=4&moduleId=10", "/?pageId=4&moduleId=10")] + [InlineData("", "", "pageId=4", "?pageId=4")] + [InlineData("", "", "pageId=4&moduleId=10", "?pageId=4&moduleId=10")] [InlineData("", "", "", "/")] public void NavigateUrlTest(string alias, string path, string parameters, string expectedUrl) {