Remove legacy unknwon/com
package (#19298)
Follows: #19284 * The `CopyDir` is only used inside test code * Rewrite `ToSnakeCase` with more test cases * The `RedisCacher` only put strings into cache, here we use internal `toStr` to replace the legacy `ToStr` * The `UniqueQueue` can use string as ID directly, no need to call `ToStr`
This commit is contained in:
parent
4c5cb1e2f2
commit
4f27c28947
17 changed files with 353 additions and 58 deletions
48
modules/util/string_test.go
Normal file
48
modules/util/string_test.go
Normal file
|
@ -0,0 +1,48 @@
|
|||
// Copyright 2022 The Gitea Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package util
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func TestToSnakeCase(t *testing.T) {
|
||||
cases := map[string]string{
|
||||
// all old cases from the legacy package
|
||||
"HTTPServer": "http_server",
|
||||
"_camelCase": "_camel_case",
|
||||
"NoHTTPS": "no_https",
|
||||
"Wi_thF": "wi_th_f",
|
||||
"_AnotherTES_TCaseP": "_another_tes_t_case_p",
|
||||
"ALL": "all",
|
||||
"_HELLO_WORLD_": "_hello_world_",
|
||||
"HELLO_WORLD": "hello_world",
|
||||
"HELLO____WORLD": "hello____world",
|
||||
"TW": "tw",
|
||||
"_C": "_c",
|
||||
|
||||
" sentence case ": "__sentence_case__",
|
||||
" Mixed-hyphen case _and SENTENCE_case and UPPER-case": "_mixed_hyphen_case__and_sentence_case_and_upper_case",
|
||||
|
||||
// new cases
|
||||
" ": "_",
|
||||
"A": "a",
|
||||
"A0": "a0",
|
||||
"a0": "a0",
|
||||
"Aa0": "aa0",
|
||||
"啊": "啊",
|
||||
"A啊": "a啊",
|
||||
"Aa啊b": "aa啊b",
|
||||
"A啊B": "a啊_b",
|
||||
"Aa啊B": "aa啊_b",
|
||||
"TheCase2": "the_case2",
|
||||
"ObjIDs": "obj_i_ds", // the strange database column name which already exists
|
||||
}
|
||||
for input, expected := range cases {
|
||||
assert.Equal(t, expected, ToSnakeCase(input))
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue