public void It_should_give_null_for_empty_path_when_no_defaults() { route = new ContentSubRoute<ContentItem>("x", engine, "{hello}/{hej}", null, null); var values = route.GetRouteValues(""); values.Should().BeNull(); }
public ContentSubRouteTests() { engine = new FakeEngine(); controllerMapper = new FakeControllerMapper(); controllerMapper.controllerName = "Foo"; engine.AddComponent<IControllerMapper>(controllerMapper); route = new ContentSubRoute<ContentItem>("x", engine, "{hello}", new { hello = "world" }, null); }
public void It_should_give_default_for_second_segment() { route = new ContentSubRoute<ContentItem>("x", engine, "{hello}/{hej}", new { hej = "världen" }, null); var values = route.GetRouteValues("sverige"); values.Count.Should().Be(3); values["controller"].Should().Be("Foo"); values["hello"].Should().Be("sverige"); values["hej"].Should().Be("världen"); }
public void It_should_call_constraints() { engine.Fakes.UrlParser.Paths["/hello"] = PathData.None(new FooPage(), "hello"); bool wasCalled = false; route = new ContentSubRoute<ContentItem>("x", engine, "{hello}", null, new { hello = new DelegateConstraint((v) => wasCalled = true) }); route.GetRouteData(new FakeHttpContext("/hello")); wasCalled.Should().Be(true); }
public void It_should_allow_custom_controller() { route = new ContentSubRoute<ContentItem>("x", engine, "{hello}", new { controller= "Bar", hello = "world" }, null); var values = route.GetRouteValues(""); values["controller"].Should().Be("Bar"); }
public void It_should_support_catch_all_token() { route = new ContentSubRoute<ContentItem>("x", engine, "{hej*}", null, null); var values = route.GetRouteValues("hela/världen"); values.Count.Should().Be(2); values["hej"].Should().Be("hela/världen"); }
public void It_should_route_paths_matching_IRouteConstraint() { engine.Fakes.UrlParser.Paths["/world"] = PathData.None(new FooPage(), "world"); route = new ContentSubRoute<ContentItem>("x", engine, "{hello}", null, new { hello = new DelegateConstraint((v) => v == "world") }); var data = route.GetRouteData(new FakeHttpContext("/world")); data.Values["hello"].Should().Be("world"); }
public void It_should_prefer_passed_path_before_using_default() { route = new ContentSubRoute<ContentItem>("x", engine, "{hello}/{hej}", new { hej = "världen" }, null); var values = route.GetRouteValues("sverige/wow"); values.Count.Should().Be(3); values["hello"].Should().Be("sverige"); values["hej"].Should().Be("wow"); }
public void It_should_match_static_segments() { route = new ContentSubRoute<ContentItem>("x", engine, "hello/{hej}", null, null); var values = route.GetRouteValues("hello/världen"); values.Count.Should().Be(2); values["hej"].Should().Be("världen"); }
public void It_should_ignore_case() { route = new ContentSubRoute<ContentItem>("x", engine, "hello/{hej}", null, null); var values = route.GetRouteValues("HELLO/världen"); values.Count.Should().Be(2); }