mirror of
https://github.com/json-iterator/go.git
synced 2024-11-30 08:36:43 +02:00
51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
package extra
|
|
|
|
import (
|
|
"github.com/json-iterator/go"
|
|
"github.com/stretchr/testify/require"
|
|
"testing"
|
|
)
|
|
|
|
func Test_lower_case_with_underscores(t *testing.T) {
|
|
should := require.New(t)
|
|
should.Equal("hello_world", LowerCaseWithUnderscores("helloWorld"))
|
|
should.Equal("hello_world", LowerCaseWithUnderscores("HelloWorld"))
|
|
SetNamingStrategy(LowerCaseWithUnderscores)
|
|
output, err := jsoniter.Marshal(struct {
|
|
UserName string
|
|
FirstLanguage string
|
|
}{
|
|
UserName: "taowen",
|
|
FirstLanguage: "Chinese",
|
|
})
|
|
should.Nil(err)
|
|
should.Equal(`{"user_name":"taowen","first_language":"Chinese"}`, string(output))
|
|
}
|
|
|
|
func Test_set_naming_strategy_with_overrides(t *testing.T) {
|
|
should := require.New(t)
|
|
SetNamingStrategy(LowerCaseWithUnderscores)
|
|
output, err := jsoniter.Marshal(struct {
|
|
UserName string `json:"UserName"`
|
|
FirstLanguage string
|
|
}{
|
|
UserName: "taowen",
|
|
FirstLanguage: "Chinese",
|
|
})
|
|
should.Nil(err)
|
|
should.Equal(`{"UserName":"taowen","first_language":"Chinese"}`, string(output))
|
|
}
|
|
|
|
func Test_set_naming_strategy_with_omitempty(t *testing.T) {
|
|
should := require.New(t)
|
|
SetNamingStrategy(LowerCaseWithUnderscores)
|
|
output, err := jsoniter.Marshal(struct {
|
|
UserName string
|
|
FirstLanguage string `json:",omitempty"`
|
|
}{
|
|
UserName: "taowen",
|
|
})
|
|
should.Nil(err)
|
|
should.Equal(`{"user_name":"taowen"}`, string(output))
|
|
}
|