public void It_does_not_return_paths_with_trailing_slash_when_configured_via_route_attribute() { // Arrange var routes = RouteTable.Routes; routes.Clear(); routes.MapAttributeRoutes(c => { c.AddRoutesFromController <TrailingSlashesController>(); c.UseLowercaseRoutes = true; c.AppendTrailingSlash = true; }); var route = routes.Cast <Route>().ElementAt(2); Assert.That(route, Is.Not.Null); // Act var requestContext = MockBuilder.BuildRequestContext(); var pathData = route.GetVirtualPath(requestContext, new RouteValueDictionary { { "queryString", "WhatTimeIsIt" } }); // Assert Assert.That(pathData, Is.Not.Null); Assert.That(pathData.VirtualPath, Is.EqualTo("trailing-slash/route-override-false?queryString=WhatTimeIsIt")); }
public void It_returns_routes_with_everything_lowered_including_params_and_query_strings_when_so_configured() { var routes = RouteTable.Routes; routes.Clear(); routes.MapAttributeRoutes(c => { c.AddRoutesFromController <LowercaseUrlController>(); c.UseLowercaseRoutes = true; c.PreserveCaseForUrlParameters = false; }); var route = routes.Cast <AttributeRoute>().FirstOrDefault(); Assert.That(route, Is.Not.Null); var requestContext = MockBuilder.BuildRequestContext(); var pathData = route.GetVirtualPath(requestContext, new RouteValueDictionary { { "userName", "CharlieChan" }, { "queryString", "WhatTimeIsIt" } }); Assert.That(pathData, Is.Not.Null); Assert.That(pathData.VirtualPath, Is.EqualTo("lowercaseurl/hello/charliechan/goodbye?queryString=WhatTimeIsIt")); }
public void It_returns_translated_routes() { var translations = new FluentTranslationProvider(); translations.AddTranslations().ForController <TranslationController>() .AreaUrl(new Dictionary <string, string> { { "es", "es-Area" } }) .RoutePrefixUrl(new Dictionary <string, string> { { "es", "es-Prefix" } }) .RouteUrl(c => c.Index(), new Dictionary <string, string> { { "es", "es-Index" } }); translations.AddTranslations() .ForKey("CustomAreaKey", new Dictionary <string, string> { { "es", "es-CustomArea" } }) .ForKey("CustomPrefixKey", new Dictionary <string, string> { { "es", "es-CustomPrefix" } }) .ForKey("CustomRouteKey", new Dictionary <string, string> { { "es", "es-CustomIndex" } }); RouteTable.Routes.Clear(); RouteTable.Routes.MapAttributeRoutes(config => { config.AddRoutesFromController <TranslationController>(); config.AddRoutesFromController <TranslationWithCustomKeysController>(); config.AddTranslationProvider(translations); }); var requestContext = MockBuilder.BuildRequestContext(); // Default culture var urlHelper = new UrlHelper(requestContext, RouteTable.Routes); Assert.That(urlHelper.Action("Index", "Translation", new { area = "Area" }), Is.EqualTo("/Area/Prefix/Index")); // es-ES culture Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-ES"); Assert.That(urlHelper.Action("Index", "Translation", new { area = "Area" }), Is.EqualTo("/es-Area/es-Prefix/es-Index")); // es culture Thread.CurrentThread.CurrentUICulture = new CultureInfo("es"); Assert.That(urlHelper.Action("Index", "Translation", new { area = "Area" }), Is.EqualTo("/es-Area/es-Prefix/es-Index")); }
public void It_returns_routes_with_everything_lowered_except_params_and_query_strings_when_configured_via_route_attribute() { var routes = RouteTable.Routes; routes.Clear(); routes.MapAttributeRoutes(c => c.AddRoutesFromController <LowercaseUrlController>()); var route = routes.Cast <Route>().ElementAt(3); Assert.That(route, Is.Not.Null); var requestContext = MockBuilder.BuildRequestContext(); var pathData = route.GetVirtualPath(requestContext, new RouteValueDictionary { { "routeParam", "CharlieChan" }, { "queryString", "WhatTimeIsIt" } }); Assert.That(pathData, Is.Not.Null); Assert.That(pathData.VirtualPath, Is.EqualTo("lowercaseurl/lowercase-preserve-url-param-case-override/CharlieChan?queryString=WhatTimeIsIt")); }
public void It_returns_routes_with_everything_not_lowered_when_configured_via_route_attribute() { // Arrange var routes = RouteTable.Routes; routes.Clear(); routes.MapAttributeRoutes(c => { c.AddRoutesFromController <LowercaseUrlController>(); c.UseLowercaseRoutes = true; }); var route = routes.Cast <Route>().ElementAt(2); Assert.That(route, Is.Not.Null); // Act var requestContext = MockBuilder.BuildRequestContext(); var pathData = route.GetVirtualPath(requestContext, new RouteValueDictionary()); // Assert Assert.That(pathData, Is.Not.Null); Assert.That(pathData.VirtualPath, Is.EqualTo("LowercaseUrl/Uppercase-Override")); }