正在显示
2 个修改的文件
包含
42 行增加
和
2 行删除
| 1 | package domain | 1 | package domain |
| 2 | 2 | ||
| 3 | import ( | 3 | import ( |
| 4 | + "path" | ||
| 4 | "path/filepath" | 5 | "path/filepath" |
| 5 | - "strings" | ||
| 6 | "time" | 6 | "time" |
| 7 | ) | 7 | ) |
| 8 | 8 | ||
| @@ -58,8 +58,13 @@ func (file *File) Update(data map[string]interface{}) error { | @@ -58,8 +58,13 @@ func (file *File) Update(data map[string]interface{}) error { | ||
| 58 | } | 58 | } |
| 59 | 59 | ||
| 60 | func FileName(fileName string) string { | 60 | func FileName(fileName string) string { |
| 61 | + if len(fileName) == 0 { | ||
| 62 | + return "" | ||
| 63 | + } | ||
| 61 | base := filepath.Base(fileName) | 64 | base := filepath.Base(fileName) |
| 62 | - return strings.Split(base, ".")[0] | 65 | + suffix := path.Ext(fileName) |
| 66 | + prefix := base[0 : len(base)-len(suffix)] | ||
| 67 | + return prefix | ||
| 63 | } | 68 | } |
| 64 | 69 | ||
| 65 | func (file *File) CopyTo(fileType FileType, ctx *Context) *File { | 70 | func (file *File) CopyTo(fileType FileType, ctx *Context) *File { |
pkg/domain/file_test.go
0 → 100644
| 1 | +package domain | ||
| 2 | + | ||
| 3 | +import ( | ||
| 4 | + "github.com/stretchr/testify/assert" | ||
| 5 | + "testing" | ||
| 6 | +) | ||
| 7 | + | ||
| 8 | +func TestFileName(t *testing.T) { | ||
| 9 | + inputs := []struct { | ||
| 10 | + input string | ||
| 11 | + want string | ||
| 12 | + }{ | ||
| 13 | + { | ||
| 14 | + input: "device/sdk/CMakeLists.txt", | ||
| 15 | + want: "CMakeLists", | ||
| 16 | + }, | ||
| 17 | + { | ||
| 18 | + input: "", | ||
| 19 | + want: "", | ||
| 20 | + }, | ||
| 21 | + { | ||
| 22 | + input: "CMakeLists.txt", | ||
| 23 | + want: "CMakeLists", | ||
| 24 | + }, | ||
| 25 | + { | ||
| 26 | + input: "d:\\CMakeLists.txt", | ||
| 27 | + want: "CMakeLists", | ||
| 28 | + }, | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + for _, input := range inputs { | ||
| 32 | + got := FileName(input.input) | ||
| 33 | + assert.Equal(t, input.want, got) | ||
| 34 | + } | ||
| 35 | +} |
-
请 注册 或 登录 后发表评论