format_test.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package errors
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func TestFormat(t *testing.T) {
  7. tests := []struct {
  8. error
  9. format string
  10. want string
  11. }{{
  12. New("error"),
  13. "%s",
  14. "error",
  15. }, {
  16. New("error"),
  17. "%v",
  18. "error",
  19. }, {
  20. New("error"),
  21. "%+v",
  22. "github.com/pkg/errors/format_test.go:23: error",
  23. }, {
  24. Errorf("%s", "error"),
  25. "%s",
  26. "error",
  27. }, {
  28. Errorf("%s", "error"),
  29. "%v",
  30. "error",
  31. }, {
  32. Errorf("%s", "error"),
  33. "%+v",
  34. "github.com/pkg/errors/format_test.go:35: error",
  35. }, {
  36. Wrap(New("error"), "error2"),
  37. "%s",
  38. "error2: error",
  39. }, {
  40. Wrap(New("error"), "error2"),
  41. "%v",
  42. "error2: error",
  43. }, {
  44. Wrap(New("error"), "error2"),
  45. "%+v",
  46. "github.com/pkg/errors/format_test.go:47: error2",
  47. }, {
  48. Wrapf(New("error"), "error%d", 2),
  49. "%s",
  50. "error2: error",
  51. }, {
  52. Wrapf(New("error"), "error%d", 2),
  53. "%v",
  54. "error2: error",
  55. }, {
  56. Wrapf(New("error"), "error%d", 2),
  57. "%+v",
  58. "github.com/pkg/errors/format_test.go:59: error2",
  59. }}
  60. for _, tt := range tests {
  61. got := fmt.Sprintf(tt.format, tt.error)
  62. if got != tt.want {
  63. t.Errorf("fmt.Sprintf(%q, err): got: %q, want: %q", tt.format, got, tt.want)
  64. }
  65. }
  66. }