public void RemoveLeadingSegmentsIsCaseInsensitive() { var prefix = new UrlPrefix("Foo"); Assert.Equal(prefix.RemoveLeadingSegments("~/foo/bar"), ("~/bar")); Assert.Equal(prefix.RemoveLeadingSegments("~/FOO/BAR"), ("~/BAR")); }
public void RemoveLeadingSegmentsCanMatchEntireUrl() { var prefix = new UrlPrefix("foo"); Assert.Equal(prefix.RemoveLeadingSegments("~/foo/"), ("~/")); Assert.Equal(prefix.RemoveLeadingSegments("~/foo"), ("~/")); }
public void RemoveLeadingSegmentsOnlyMatchesFullSegment() { var prefix = new UrlPrefix("foo"); Assert.Equal(prefix.RemoveLeadingSegments("~/foo/bar"), ("~/bar")); Assert.Equal(prefix.RemoveLeadingSegments("~/fooo/bar"), ("~/fooo/bar")); Assert.Equal(prefix.RemoveLeadingSegments("~/fo/bar"), ("~/fo/bar")); }
public void RemoveLeadingSegmentsMayContainSlash() { var prefix = new UrlPrefix("foo/quux"); Assert.Equal(prefix.RemoveLeadingSegments("~/foo/quux/bar"), ("~/bar")); Assert.Equal(prefix.RemoveLeadingSegments("~/foo/bar"), ("~/foo/bar")); Assert.Equal(prefix.RemoveLeadingSegments("~/quux/bar"), ("~/quux/bar")); }
public void RemoveLeadingSegmentsIgnoreLeadingAndTrailingCharactersOnInput() { var prefix = new UrlPrefix("foo"); Assert.Equal(prefix.RemoveLeadingSegments("~/foo/bar"), ("~/bar")); var prefix2 = new UrlPrefix("~/foo"); Assert.Equal(prefix2.RemoveLeadingSegments("~/foo/bar"), ("~/bar")); var prefix3 = new UrlPrefix("foo/"); Assert.Equal(prefix3.RemoveLeadingSegments("~/foo/bar"), ("~/bar")); }
public string ItemVirtualPath(IContent content, string tenantName) { var workContext = _wca.GetContext(); string virtualPath = null; if (tenantName == _shellSettings.Name) { virtualPath = _urlHelper.ItemDisplayUrl(content); } else if (_shellSettings.Name == ShellSettings.DefaultName) { // from the default tenant virtualPath = _urlHelper.Action("DisplayOnDependent", "TenantContent", new { area = "MainBit.MultiTenancy", masterContentItemId = content.Id }); } else { // from an dependent tenant var tenantContent = content.As <TenantContentPart>(); if (tenantContent != null) { if (tenantName == ShellSettings.DefaultName) { // to the default tenant virtualPath = _urlHelper.Action("DisplayOnDefault", "TenantContent", new { area = "MainBit.MultiTenancy", id = tenantContent.MasterContentItemId }); } else { // to an other dependent tenant virtualPath = _urlHelper.Action("DisplayOnDependent", "TenantContent", new { area = "MainBit.MultiTenancy", masterContentItemId = tenantContent.MasterContentItemId }); } } else { virtualPath = ""; } } virtualPath = virtualPath.Substring(workContext.HttpContext.Request.ApplicationPath.Length).TrimStart('/'); if (_urlPrefix != null) { virtualPath = _urlPrefix.RemoveLeadingSegments(virtualPath); } return(virtualPath); }