mirror of
https://github.com/pkg/errors.git
synced 2025-05-02 13:40:34 +00:00
This PR follows on from #40 completely implementing Fprint in terms of fmt.Fprintf. This will be the final PR before Fprint is removed.
87 lines
1.5 KiB
Go
87 lines
1.5 KiB
Go
package errors
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"testing"
|
|
)
|
|
|
|
func TestFormat(t *testing.T) {
|
|
tests := []struct {
|
|
error
|
|
format string
|
|
want string
|
|
}{{
|
|
|
|
New("error"),
|
|
"%s",
|
|
"error",
|
|
}, {
|
|
New("error"),
|
|
"%v",
|
|
"error",
|
|
}, {
|
|
New("error"),
|
|
"%+v",
|
|
"github.com/pkg/errors/format_test.go:24: error",
|
|
}, {
|
|
Errorf("%s", "error"),
|
|
"%s",
|
|
"error",
|
|
}, {
|
|
Errorf("%s", "error"),
|
|
"%v",
|
|
"error",
|
|
}, {
|
|
Errorf("%s", "error"),
|
|
"%+v",
|
|
"github.com/pkg/errors/format_test.go:36: error",
|
|
}, {
|
|
Wrap(New("error"), "error2"),
|
|
"%s",
|
|
"error2: error",
|
|
}, {
|
|
Wrap(New("error"), "error2"),
|
|
"%v",
|
|
"error2: error",
|
|
}, {
|
|
Wrap(New("error"), "error2"),
|
|
"%+v",
|
|
"github.com/pkg/errors/format_test.go:48: error\n" +
|
|
"github.com/pkg/errors/format_test.go:48: error2",
|
|
}, {
|
|
Wrap(io.EOF, "error"),
|
|
"%s",
|
|
"error: EOF",
|
|
}, {
|
|
Wrapf(New("error"), "error%d", 2),
|
|
"%s",
|
|
"error2: error",
|
|
}, {
|
|
Wrap(io.EOF, "error"),
|
|
"%v",
|
|
"error: EOF",
|
|
}, {
|
|
Wrap(io.EOF, "error"),
|
|
"%+v",
|
|
"EOF\n" +
|
|
"github.com/pkg/errors/format_test.go:65: error",
|
|
}, {
|
|
Wrapf(New("error"), "error%d", 2),
|
|
"%v",
|
|
"error2: error",
|
|
}, {
|
|
Wrapf(New("error"), "error%d", 2),
|
|
"%+v",
|
|
"github.com/pkg/errors/format_test.go:74: error\n" +
|
|
"github.com/pkg/errors/format_test.go:74: error2",
|
|
}}
|
|
|
|
for _, tt := range tests {
|
|
got := fmt.Sprintf(tt.format, tt.error)
|
|
if got != tt.want {
|
|
t.Errorf("fmt.Sprintf(%q, err): got: %q, want: %q", tt.format, got, tt.want)
|
|
}
|
|
}
|
|
}
|