mirror of
https://github.com/kataras/iris.git
synced 2025-01-23 02:31:04 +01:00
5fc24812bc
total refactor of the hero and mvc packages, see README#Next (it's not completed yet) Former-commit-id: b85ae99cbfe5965ba919c1e15cf4989e787982c0
48 lines
1.3 KiB
Go
48 lines
1.3 KiB
Go
package hero
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/kataras/iris/v12/context"
|
|
)
|
|
|
|
func TestPathParams(t *testing.T) {
|
|
got := ""
|
|
h := New()
|
|
handler := h.Handler(func(firstname string, lastname string) {
|
|
got = firstname + lastname
|
|
})
|
|
|
|
h.Register(func(ctx context.Context) func() string { return func() string { return "" } })
|
|
handlerWithOther := h.Handler(func(f func() string, firstname string, lastname string) {
|
|
got = f() + firstname + lastname
|
|
})
|
|
|
|
handlerWithOtherBetweenThem := h.Handler(func(firstname string, f func() string, lastname string) {
|
|
got = firstname + lastname
|
|
})
|
|
|
|
ctx := context.NewContext(nil)
|
|
ctx.Params().Set("firstname", "Gerasimos")
|
|
ctx.Params().Set("lastname", "Maropoulos")
|
|
handler(ctx)
|
|
expected := "GerasimosMaropoulos"
|
|
if got != expected {
|
|
t.Fatalf("[0] expected the params 'firstname' + 'lastname' to be '%s' but got '%s'", expected, got)
|
|
}
|
|
|
|
got = ""
|
|
handlerWithOther(ctx)
|
|
expected = "GerasimosMaropoulos"
|
|
if got != expected {
|
|
t.Fatalf("[1] expected the params 'firstname' + 'lastname' to be '%s' but got '%s'", expected, got)
|
|
}
|
|
|
|
got = ""
|
|
handlerWithOtherBetweenThem(ctx)
|
|
expected = "GerasimosMaropoulos"
|
|
if got != expected {
|
|
t.Fatalf("[2] expected the params 'firstname' + 'lastname' to be '%s' but got '%s'", expected, got)
|
|
}
|
|
}
|