megauploader/conf_test.go
2017-12-08 19:30:46 +01:00

38 lines
1.3 KiB
Go

package megauploader
import "testing"
type TestCase struct {
G Global
P string // path
E string // expected
}
var good = []TestCase{
// simplest case
TestCase{G: Global{ViewPathBase: "/", ViewURLBase: "http://localhost/"}, P: "/", E: "http://localhost/"},
// prefix == path
TestCase{G: Global{ViewPathBase: "/asd/", ViewURLBase: "http://localhost/"}, P: "/asd/", E: "http://localhost/"},
// path has something more
TestCase{G: Global{ViewPathBase: "/asd/", ViewURLBase: "http://localhost/"}, P: "/asd/foo", E: "http://localhost/foo"},
// URL has a path
TestCase{G: Global{ViewPathBase: "/asd/", ViewURLBase: "http://localhost/bla/"}, P: "/asd/foo", E: "http://localhost/bla/foo"},
// removing slashes does not affect the result
TestCase{G: Global{ViewPathBase: "/asd", ViewURLBase: "http://localhost/bla"}, P: "/asd/foo", E: "http://localhost/bla/foo"},
// URL has port
TestCase{G: Global{ViewPathBase: "/asd/", ViewURLBase: "http://localhost:1234/"}, P: "/asd/foo", E: "http://localhost:1234/foo"},
// URL has params
TestCase{G: Global{ViewPathBase: "/asd/", ViewURLBase: "http://localhost:1234/?k=v"}, P: "/asd/foo", E: "http://localhost:1234/foo?k=v"},
}
func TestViewURL(t *testing.T) {
for _, test := range good {
val, err := test.G.GetViewURL(test.P)
if err != nil {
t.Error(err)
}
if val.String() != test.E {
t.Fail()
}
}
}