コード例 #1
0
ファイル: route_test.go プロジェクト: shiroyuki/tori-go
func TestRouteMatchFails(t *testing.T) {
	var assertion tameshigiri.Assertion
	var givenPattern string
	var newRoute *Route

	assertion = tameshigiri.NewAssertion(t)

	givenPattern = "/user/<alias>"
	newRoute = NewRoute(givenPattern, true)

	matches := newRoute.Match("/user/shiroyuki/asdf")

	assertion.IsTrue(matches == nil, "There should not be a match.")
}
コード例 #2
0
ファイル: route_test.go プロジェクト: shiroyuki/tori-go
func TestWebRoutingNonReversibleRouteGetCompiledPattern(t *testing.T) {
	var assertion tameshigiri.Assertion
	var givenPattern string
	var newRoute *Route

	assertion = tameshigiri.NewAssertion(t)

	givenPattern = "/user/(?P<alias>[^/]+)"
	newRoute = NewRoute(givenPattern, false)

	compiled, err := newRoute.GetCompiledPattern()

	assertion.IsTrue(compiled != nil, "Unexpected compiled pattern")
	assertion.IsTrue(err == nil, "No error raised")
}
コード例 #3
0
ファイル: route_test.go プロジェクト: shiroyuki/tori-go
func TestWebRoutingReversibleRouteGetCompiledPatternFailed(t *testing.T) {
	var assertion tameshigiri.Assertion
	var givenPattern string
	var newRoute *Route

	assertion = tameshigiri.NewAssertion(t)

	givenPattern = "/user/<alias>/<alias>"
	newRoute = NewRoute(givenPattern, true)

	compiled, err := newRoute.GetCompiledPattern()

	assertion.IsTrue(compiled == nil, "The pattern should not be compiled.")
	assertion.IsTrue(err != nil, "An error should be raised.")
}
コード例 #4
0
ファイル: route_test.go プロジェクト: shiroyuki/tori-go
func TestRouteMatchOk(t *testing.T) {
	var assertion tameshigiri.Assertion
	var givenPattern string
	var newRoute *Route

	assertion = tameshigiri.NewAssertion(t)

	givenPattern = "/user/<alias>"
	newRoute = NewRoute(givenPattern, true)

	matches := newRoute.Match("/user/shiroyuki")

	assertion.IsTrue(matches != nil, "There should be a match.")

	actual := (*matches.Key("alias"))[0]

	assertion.Equals("shiroyuki", actual, "This should be 'shiroyuki'.")
}
コード例 #5
0
ファイル: route_test.go プロジェクト: shiroyuki/tori-go
func localTestWebRoutingRouteNewRoute(t *testing.T, givenPattern string, reversible bool) {
	var assertion tameshigiri.Assertion
	var newRoute *Route

	assertion = tameshigiri.NewAssertion(t)
	newRoute = NewRoute(givenPattern, reversible)

	assertion.IsTrue(
		newRoute.Pattern == givenPattern,
		"The registered pattern must be exactly the same as the given one.",
	)

	assertion.IsTrue(
		newRoute.Reversible == reversible,
		"The registered pattern must be reversible.",
	)

	assertion.IsTrue(
		newRoute.RePattern == nil,
		"The compiled pattern should not be compiled during initialization.",
	)
}