static_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package tango
  2. import (
  3. "bytes"
  4. "net/http"
  5. "net/http/httptest"
  6. "testing"
  7. )
  8. func TestStatic(t *testing.T) {
  9. buff := bytes.NewBufferString("")
  10. recorder := httptest.NewRecorder()
  11. recorder.Body = buff
  12. tg := New()
  13. tg.Use(Static())
  14. req, err := http.NewRequest("GET", "http://localhost:8000/test.html", nil)
  15. if err != nil {
  16. t.Error(err)
  17. }
  18. tg.ServeHTTP(recorder, req)
  19. expect(t, recorder.Code, http.StatusOK)
  20. refute(t, len(buff.String()), 0)
  21. expect(t, buff.String(), "hello tango")
  22. buff.Reset()
  23. req, err = http.NewRequest("GET", "http://localhost:8000/", nil)
  24. if err != nil {
  25. t.Error(err)
  26. }
  27. tg.ServeHTTP(recorder, req)
  28. expect(t, recorder.Code, http.StatusOK)
  29. refute(t, len(buff.String()), 0)
  30. expect(t, buff.String(), "this is index.html")
  31. }
  32. func TestStatic2(t *testing.T) {
  33. buff := bytes.NewBufferString("")
  34. recorder := httptest.NewRecorder()
  35. recorder.Body = buff
  36. tg := New()
  37. tg.Use(Static())
  38. req, err := http.NewRequest("GET", "http://localhost:8000/test.png", nil)
  39. if err != nil {
  40. t.Error(err)
  41. }
  42. tg.ServeHTTP(recorder, req)
  43. expect(t, recorder.Code, http.StatusNotFound)
  44. }