errors_test.go 889 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package errs
  2. import (
  3. "fmt"
  4. "testing"
  5. "github.com/ethereum/go-ethereum/logger"
  6. )
  7. func testErrors() *Errors {
  8. return &Errors{
  9. Package: "TEST",
  10. Errors: map[int]string{
  11. 0: "zero",
  12. 1: "one",
  13. },
  14. Level: func(i int) (l logger.LogLevel) {
  15. if i == 0 {
  16. l = logger.ErrorLevel
  17. } else {
  18. l = logger.WarnLevel
  19. }
  20. return
  21. },
  22. }
  23. }
  24. func TestErrorMessage(t *testing.T) {
  25. err := testErrors().New(0, "zero detail %v", "available")
  26. message := fmt.Sprintf("%v", err)
  27. exp := "[TEST] ERROR: zero: zero detail available"
  28. if message != exp {
  29. t.Errorf("error message incorrect. expected %v, got %v", exp, message)
  30. }
  31. }
  32. func TestErrorSeverity(t *testing.T) {
  33. err0 := testErrors().New(0, "zero detail")
  34. if !err0.Fatal() {
  35. t.Errorf("error should be fatal")
  36. }
  37. err1 := testErrors().New(1, "one detail")
  38. if err1.Fatal() {
  39. t.Errorf("error should not be fatal")
  40. }
  41. }