| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- // Copyright 2018 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
- package protogen
- import "testing"
- func TestCamelCase(t *testing.T) {
- tests := []struct {
- in, want string
- }{
- {"", ""},
- {"one", "One"},
- {"one_two", "OneTwo"},
- {"_my_field_name_2", "XMyFieldName_2"},
- {"Something_Capped", "Something_Capped"},
- {"my_Name", "My_Name"},
- {"OneTwo", "OneTwo"},
- {"_", "X"},
- {"_a_", "XA_"},
- {"one.two", "OneTwo"},
- {"one.Two", "One_Two"},
- {"one_two.three_four", "OneTwoThreeFour"},
- {"one_two.Three_four", "OneTwo_ThreeFour"},
- {"_one._two", "XOne_XTwo"},
- {"SCREAMING_SNAKE_CASE", "SCREAMING_SNAKE_CASE"},
- {"double__underscore", "Double_Underscore"},
- {"camelCase", "CamelCase"},
- {"go2proto", "Go2Proto"},
- {"世界", "世界"},
- {"x世界", "X世界"},
- {"foo_bar世界", "FooBar世界"},
- }
- for _, tc := range tests {
- if got := camelCase(tc.in); got != tc.want {
- t.Errorf("CamelCase(%q) = %q, want %q", tc.in, got, tc.want)
- }
- }
- }
- func TestCleanGoName(t *testing.T) {
- tests := []struct {
- in, want string
- }{
- {"", "_"},
- {"boo", "boo"},
- {"Boo", "Boo"},
- {"ßoo", "ßoo"},
- {"default", "_default"},
- {"hello", "hello"},
- {"hello-world!!", "hello_world__"},
- {"hello-\xde\xad\xbe\xef\x00", "hello_____"},
- {"hello 世界", "hello_世界"},
- {"世界", "世界"},
- }
- for _, tc := range tests {
- if got := cleanGoName(tc.in); got != tc.want {
- t.Errorf("cleanGoName(%q) = %q, want %q", tc.in, got, tc.want)
- }
- }
- }
|