public void ShouldSkipIfDifferentParameterWasPassed() { var route = new PatternRoute("/some/<controller>"); Assert.IsNull(route.CreateUrl(DictHelper.Create("project=MR"))); Assert.IsNull(route.CreateUrl(DictHelper.Create("controller=home", "project=MR"))); }
public void ShouldMatchNamedRequiredParameter() { PatternRoute route = new PatternRoute("/some/<controller>"); Assert.AreEqual("/some/home", route.CreateUrl(DictHelper.Create("controller=home"))); Assert.AreEqual("/some/home", route.CreateUrl(standardRouteParamsWithoutArea)); Assert.IsNull(route.CreateUrl(standardRouteParamsWithArea)); route = new PatternRoute("/some/<controller>/<action>"); Assert.AreEqual("/some/home/index", route.CreateUrl(DictHelper.Create("controller=home", "action=index"))); Assert.AreEqual("/some/home/index", route.CreateUrl(standardRouteParamsWithoutArea)); Assert.IsNull(route.CreateUrl(standardRouteParamsWithArea)); }
public void ShouldMatchNamedRequiredParameter() { var route = new PatternRoute("/some/<controller>"); Assert.AreEqual("/some/home", route.CreateUrl(DictHelper.Create("controller=home"))); Assert.AreEqual("/some/home", route.CreateUrl(standardRouteParamsWithoutArea)); Assert.IsNull(route.CreateUrl(standardRouteParamsWithArea)); route = new PatternRoute("/some/<controller>/<action>"); Assert.AreEqual("/some/home/index", route.CreateUrl(DictHelper.Create("controller=home", "action=index"))); Assert.AreEqual("/some/home/index", route.CreateUrl(standardRouteParamsWithoutArea)); Assert.IsNull(route.CreateUrl(standardRouteParamsWithArea)); }
public void ShouldIgnoreOptionalParameterButMatchOthers() { var route = new PatternRoute("/<controller>/[action]"); Assert.AreEqual("/home", route.CreateUrl(DictHelper.Create("controller=home"))); }
public void ShouldMatchNamedRequiredParametersWithExtension() { PatternRoute route = new PatternRoute("/some/<controller>.castle/<action>"); Assert.AreEqual("/some/home.castle/index", route.CreateUrl(DictHelper.Create("controller=home", "action=index"))); }
public void ShouldMatchNamedRequiredParametersWithExtension() { var route = new PatternRoute("/some/<controller>.castle/<action>"); Assert.AreEqual("/some/home.castle/index", route.CreateUrl(DictHelper.Create("controller=home", "action=index"))); }
public void ShouldIgnoreOptionalParameterButMatchOthers() { PatternRoute route = new PatternRoute("/<controller>/[action]"); Assert.AreEqual("/home", route.CreateUrl(DictHelper.Create("controller=home"))); }
public void ShouldApplyRestrictionsToParameters() { var route = new PatternRoute("/projects/<project>/<controller>/[action]/[id]"). DefaultFor("action").Is("index"). Restrict("controller").AnyOf("stories", "bugs", "tasks"). Restrict("id").ValidInteger; Assert.IsNull( route.CreateUrl(DictHelper.Create("project=MonoRail", "controller=home"))); Assert.AreEqual("/projects/MonoRail/Stories", route.CreateUrl(DictHelper.Create("project=MonoRail", "controller=Stories"))); Assert.AreEqual("/projects/MonoRail/bugs", route.CreateUrl(DictHelper.Create("project=MonoRail", "controller=bugs", "action=index"))); }
public void ShouldCreateRouteUrlIfDefaultsAreNotSupplied() { var route = new PatternRoute("/people/<id>/edit"). DefaultForAction().Is("edit"). DefaultForController().Is("people"). Restrict("id").ValidInteger; Assert.AreEqual("/people/1/edit", route.CreateUrl(DictHelper.Create("id=1"))); }
public void ShouldNotCreateRouteUrlIfDefaultsDoNotMatchAndDefaultDoesNotHaveARestriction() { var route = new PatternRoute("/people/<id>/edit"). DefaultForAction().Is("edit"). DefaultForController().Is("companies"). Restrict("id").ValidInteger; Assert.IsNull(route.CreateUrl(DictHelper.Create("controller=people", "action=edit", "id=1"))); }
public void ShouldOmitOptionalParameterIfMatchesWithDefault() { var route = new PatternRoute("/projects/<project>/<controller>/[action]/[id]"). DefaultFor("action").Is("index"). Restrict("controller").AnyOf("stories", "bugs", "tasks"). Restrict("id").ValidInteger; Assert.AreEqual("/projects/MonoRail/bugs", route.CreateUrl(DictHelper.Create("project=MonoRail", "controller=bugs", "action=index"))); }
public void ShouldCreateRouteUrlIfDefaultsDoNotMatchAndDefaultsHaveRestrictions() { var route = new PatternRoute("/people/<id>/edit.[format]"). DefaultForAction().Is("edit"). DefaultForController().Is("people"). Restrict("id").ValidInteger. Restrict("format").AnyOf(new[] { "html", "json", "xml" }). DefaultFor("format").Is("html"); Assert.AreEqual("/people/1/edit.json", route.CreateUrl(DictHelper.Create("id=1", "format=json"))); }
public void ShouldNotLeaveATrailingSlash() { var route = new PatternRoute("/people/<id>/edit.[format]/"). DefaultForAction().Is("edit"). DefaultForController().Is("people"). Restrict("id").ValidInteger. Restrict("format").AnyOf(new[] { "html", "json", "xml" }). DefaultFor("format").Is("html"); Assert.AreEqual("/people/1/edit", route.CreateUrl(DictHelper.Create("id=1"))); }
public void ShouldNotCreateRouteUrlIfDefaultsDoNotMatchAndDefaultDoesNotHaveARestriction() { PatternRoute route = new PatternRoute("/people/<id>/edit"). DefaultForAction().Is("edit"). DefaultForController().Is("companies"). Restrict("id").ValidInteger; Assert.IsNull(route.CreateUrl(DictHelper.Create("controller=people", "action=edit", "id=1"))); }
public void ShouldNotMatchIfParameterIsNotPresent() { var route = new PatternRoute("/some/<controller>"); Assert.IsNull(route.CreateUrl(DictHelper.Create(""))); }
public void ShouldSkipIfDifferentParameterWasPassed() { PatternRoute route = new PatternRoute("/some/<controller>"); Assert.IsNull(route.CreateUrl(DictHelper.Create("project=MR"))); Assert.IsNull(route.CreateUrl(DictHelper.Create("controller=home", "project=MR"))); }
public void ShouldNotMatchStaticRule() { PatternRoute route = new PatternRoute("/some/path"); Assert.IsNull(route.CreateUrl(DictHelper.Create(""))); }
public void ShouldNotMatchIfParameterIsNotPresent() { PatternRoute route = new PatternRoute("/some/<controller>"); Assert.IsNull(route.CreateUrl(DictHelper.Create(""))); }
public void ShouldNotLeaveATrailingSlash() { PatternRoute route = new PatternRoute("/people/<id>/edit.[format]/"). DefaultForAction().Is("edit"). DefaultForController().Is("people"). Restrict("id").ValidInteger. Restrict("format").AnyOf(new string[] { "html", "json", "xml" }). DefaultFor("format").Is("html"); Assert.AreEqual("/people/1/edit", route.CreateUrl(DictHelper.Create("id=1"))); }
public void ShouldCreateRouteUrlIfDefaultsAreNotSupplied() { PatternRoute route = new PatternRoute("/people/<id>/edit"). DefaultForAction().Is("edit"). DefaultForController().Is("people"). Restrict("id").ValidInteger; Assert.AreEqual("/people/1/edit", route.CreateUrl(DictHelper.Create("id=1"))); }
public void ShouldCreateRouteUrlIfDefaultsDoNotMatchAndDefaultsHaveRestrictions() { PatternRoute route = new PatternRoute("/people/<id>/edit.[format]"). DefaultForAction().Is("edit"). DefaultForController().Is("people"). Restrict("id").ValidInteger. Restrict("format").AnyOf(new string[]{"html", "json", "xml"}). DefaultFor("format").Is("html"); Assert.AreEqual("/people/1/edit.json", route.CreateUrl(DictHelper.Create("id=1", "format=json"))); }
public void ShouldNotMatchStaticRule() { var route = new PatternRoute("/some/path"); Assert.IsNull(route.CreateUrl(DictHelper.Create(""))); }
public void ShouldOmitOptionalParameterIfMatchesWithDefault() { PatternRoute route = new PatternRoute("/projects/<project>/<controller>/[action]/[id]"). DefaultFor("action").Is("index"). Restrict("controller").AnyOf("stories", "bugs", "tasks"). Restrict("id").ValidInteger; Assert.AreEqual("/projects/MonoRail/bugs", route.CreateUrl(DictHelper.Create("project=MonoRail", "controller=bugs", "action=index"))); }
public void ShouldApplyRestrictionsToParameters() { PatternRoute route = new PatternRoute("/projects/<project>/<controller>/[action]/[id]"). DefaultFor("action").Is("index"). Restrict("controller").AnyOf("stories", "bugs", "tasks"). Restrict("id").ValidInteger; Assert.IsNull( route.CreateUrl(DictHelper.Create("project=MonoRail", "controller=home"))); Assert.AreEqual("/projects/MonoRail/Stories", route.CreateUrl(DictHelper.Create("project=MonoRail", "controller=Stories"))); Assert.AreEqual("/projects/MonoRail/bugs", route.CreateUrl(DictHelper.Create("project=MonoRail", "controller=bugs", "action=index"))); }
public string CreateUrl(string hostname, string virtualPath, System.Collections.IDictionary parameters, out int points) { return(_innerRoute.CreateUrl(hostname, virtualPath, parameters, out points)); }