From cfa764b150552f47b283cb68a0b147afbb759fcc Mon Sep 17 00:00:00 2001 From: "diamondburned (Forefront)" Date: Thu, 16 Jan 2020 21:20:09 -0800 Subject: [PATCH] Fixed unit tests --- internal/handler/handler_test.go | 49 ++++++++++++++++++++++++++++ session/session_test.go | 55 -------------------------------- 2 files changed, 49 insertions(+), 55 deletions(-) delete mode 100644 session/session_test.go diff --git a/internal/handler/handler_test.go b/internal/handler/handler_test.go index 77ff064..79badc8 100644 --- a/internal/handler/handler_test.go +++ b/internal/handler/handler_test.go @@ -2,11 +2,60 @@ package handler import ( "reflect" + "strings" "testing" + "time" "github.com/diamondburned/arikawa/gateway" ) +func TestCall(t *testing.T) { + var results = make(chan string) + + h := &Handler{ + handlers: map[uint64]handler{}, + } + + // Add handler test + rm := h.AddHandler(func(m *gateway.MessageCreateEvent) { + results <- m.Content + }) + + go h.Call(&gateway.MessageCreateEvent{ + Content: "test", + }) + + if r := <-results; r != "test" { + t.Fatal("Returned results is wrong:", r) + } + + // Remove handler test + rm() + + go h.Call(&gateway.MessageCreateEvent{ + Content: "test", + }) + + select { + case <-results: + t.Fatal("Unexpected results") + case <-time.After(time.Millisecond): + break + } + + // Invalid type test + _, err := h.AddHandlerCheck("this should panic") + if err == nil { + t.Fatal("No errors found") + } + + // We don't do anything with the returned callback, as there's none. + + if !strings.Contains(err.Error(), "given interface is not a function") { + t.Fatal("Unexpected error:", err) + } +} + func TestHandler(t *testing.T) { var results = make(chan string) diff --git a/session/session_test.go b/session/session_test.go deleted file mode 100644 index 0a6a18a..0000000 --- a/session/session_test.go +++ /dev/null @@ -1,55 +0,0 @@ -package session - -import ( - "strings" - "testing" - "time" - - "github.com/diamondburned/arikawa/gateway" -) - -func TestSessionCall(t *testing.T) { - var results = make(chan string) - - s := &Session{ - handlers: map[uint64]handler{}, - } - - // Add handler test - rm := s.AddHandler(func(m *gateway.MessageCreateEvent) { - results <- m.Content - }) - - go s.call(&gateway.MessageCreateEvent{ - Content: "test", - }) - - if r := <-results; r != "test" { - t.Fatal("Returned results is wrong:", r) - } - - // Remove handler test - rm() - - go s.call(&gateway.MessageCreateEvent{ - Content: "test", - }) - - select { - case <-results: - t.Fatal("Unexpected results") - case <-time.After(time.Millisecond): - break - } - - // Invalid type test - rm, err := s.AddHandlerCheck("this should panic") - if err == nil { - t.Fatal("No errors found") - } - defer rm() - - if !strings.Contains(err.Error(), "given interface is not a function") { - t.Fatal("Unexpected error:", err) - } -}