From fcbd09506a5b3ebdbc0190c67fe3e75d860c25a3 Mon Sep 17 00:00:00 2001 From: "Alexander \"Arav\" Andreev" Date: Sun, 28 May 2023 03:46:09 +0400 Subject: [PATCH] Add a test. --- httpr_test.go | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 httpr_test.go diff --git a/httpr_test.go b/httpr_test.go new file mode 100644 index 0000000..860d46a --- /dev/null +++ b/httpr_test.go @@ -0,0 +1,49 @@ +package httpr_test + +import ( + "net/http" + "os" + "testing" + + "git.arav.su/Arav/httpr" +) + +func Test(t *testing.T) { + r := httpr.New() + + err := r.Handler(http.MethodGet, "/", func(w http.ResponseWriter, r *http.Request) {}) + if err != nil { + t.Fatal(err) + } + + err = r.Handler(http.MethodGet, "/", func(w http.ResponseWriter, r *http.Request) {}) + if err == nil { + t.Fatal("path redefinition wasn't catched") + } + + err = r.Handler(http.MethodGet, "/a/b", func(w http.ResponseWriter, r *http.Request) {}) + if err != nil { + t.Fatal(err) + } + + err = r.Handler(http.MethodGet, "/:a/:b", func(w http.ResponseWriter, r *http.Request) {}) + if err != nil { + t.Fatal(err) + } + + err = r.Handler(http.MethodGet, "/:a/:lol", func(w http.ResponseWriter, r *http.Request) {}) + if err == nil { + t.Fatal("here is a different last param name is supplied, should be catched") + } + + err = r.ServeStatic("/assets/*filepath", http.FS(os.DirFS("."))) + if err != nil { + t.Fatal(err) + } + + err = r.ServeStatic("/assets/*filepath/*filepath", nil) + if err == nil { + t.Fatal("multiple catch-all params wasn't catched") + } + +}