Пример #1
0
        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();
        }
Пример #2
0
 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);
 }
Пример #3
0
        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");
        }
Пример #4
0
        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);
        }
Пример #5
0
 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");
 }
Пример #6
0
        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");
        }
Пример #7
0
        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");
        }
Пример #8
0
        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");
        }
Пример #9
0
        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");
        }
Пример #10
0
        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);
        }