1
0
mirror of https://github.com/kataras/iris.git synced 2025-12-23 04:47:02 +00:00

new apps/switch (beta)

This commit is contained in:
Gerasimos (Makis) Maropoulos
2020-08-17 21:53:17 +03:00
parent a61f743fa8
commit 589c8c6242
14 changed files with 678 additions and 48 deletions

37
apps/switch_go_test.go Normal file
View File

@@ -0,0 +1,37 @@
package apps
import (
"fmt"
"testing"
"github.com/kataras/iris/v12"
)
func TestSwitchJoin(t *testing.T) {
myapp := iris.New()
customFilter := func(ctx iris.Context) bool {
pass, _ := ctx.URLParamBool("filter")
return pass
}
joinedCases := Join{
SwitchCase{
Filter: customFilter,
App: myapp,
},
Hosts{{Pattern: "^test.*$", Target: myapp}},
}
cases := []SwitchCase{
{
Filter: customFilter,
App: myapp,
},
{Filter: hostFilter("^test.*$"), App: myapp},
}
if expected, got := fmt.Sprintf("%#+v", cases), fmt.Sprintf("%#+v", joinedCases.GetSwitchCases()); expected != got {
t.Fatalf("join does not match with the expected slice of cases, expected:\n%s\nbut got:\n%s", expected, got)
}
}