form_test.go 905 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package server
  2. import (
  3. "net/http"
  4. "net/url"
  5. "testing"
  6. )
  7. func TestBoolValue(t *testing.T) {
  8. cases := map[string]bool{
  9. "": false,
  10. "0": false,
  11. "no": false,
  12. "false": false,
  13. "none": false,
  14. "1": true,
  15. "yes": true,
  16. "true": true,
  17. "one": true,
  18. "100": true,
  19. }
  20. for c, e := range cases {
  21. v := url.Values{}
  22. v.Set("test", c)
  23. r, _ := http.NewRequest("POST", "", nil)
  24. r.Form = v
  25. a := boolValue(r, "test")
  26. if a != e {
  27. t.Fatalf("Value: %s, expected: %v, actual: %v", c, e, a)
  28. }
  29. }
  30. }
  31. func TestInt64ValueOrZero(t *testing.T) {
  32. cases := map[string]int64{
  33. "": 0,
  34. "asdf": 0,
  35. "0": 0,
  36. "1": 1,
  37. }
  38. for c, e := range cases {
  39. v := url.Values{}
  40. v.Set("test", c)
  41. r, _ := http.NewRequest("POST", "", nil)
  42. r.Form = v
  43. a := int64ValueOrZero(r, "test")
  44. if a != e {
  45. t.Fatalf("Value: %s, expected: %v, actual: %v", c, e, a)
  46. }
  47. }
  48. }