1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-03-01 00:35:28 +08:00

feat: add Pretty and PrettyToWriter

This commit is contained in:
dudaodong
2023-04-06 16:30:38 +08:00
parent 18f01ffd75
commit f23f18457e
5 changed files with 286 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
package formatter
import (
"bytes"
"testing"
"github.com/duke-git/lancet/v2/internal"
@@ -26,3 +27,54 @@ func TestComma(t *testing.T) {
assert.Equal("12,345,678.9", Comma(12345678.9, ""))
assert.Equal("123,456,789,000", Comma(123456789000, ""))
}
func TestPretty(t *testing.T) {
assert := internal.NewAssert(t, "TestPretty")
cases := []any{
"",
"abc",
123,
[]string{"a", "b", "c"},
map[string]int{"a": 1},
struct {
Abc int `json:"abc"`
}{Abc: 123},
}
expects := []string{
"\"\"",
`"abc"`,
"123",
"[\n \"a\",\n \"b\",\n \"c\"\n]",
"{\n \"a\": 1\n}",
"{\n \"abc\": 123\n}",
}
for i, v := range cases {
result, err := Pretty(v)
assert.IsNil(err)
t.Log("result -> ", result)
assert.Equal(expects[i], result)
}
}
func TestPrettyToWriter(t *testing.T) {
assert := internal.NewAssert(t, "TestPrettyToWriter")
type User struct {
Name string `json:"name"`
Aage uint `json:"age"`
}
user := User{Name: "King", Aage: 10000}
expects := "{\n \"name\": \"King\",\n \"age\": 10000\n}\n"
buf := &bytes.Buffer{}
err := PrettyToWriter(user, buf)
assert.IsNil(err)
assert.Equal(expects, buf.String())
}