Improve name cleaner

This commit is contained in:
Daniel 2021-01-07 12:29:36 +01:00
parent 9bcb4e5e67
commit c083e215a3
2 changed files with 8 additions and 0 deletions

View file

@ -11,6 +11,7 @@ var (
nameOnly = regexp.MustCompile("^[A-Za-z0-9]+$")
delimitersAtStart = regexp.MustCompile("^[^A-Za-z0-9]+")
delimitersOnly = regexp.MustCompile("^[^A-Za-z0-9]+$")
cleanName = regexp.MustCompile(`["']`)
)
// GenerateBinaryNameFromPath generates a more human readable binary name from
@ -67,6 +68,11 @@ func GenerateBinaryNameFromPath(path string) string {
func cleanFileDescription(fileDescr string) string {
fields := strings.Fields(fileDescr)
// Clean out and `"` and `'`.
for i := range fields {
fields[i] = cleanName.ReplaceAllString(fields[i], "")
}
// If there is a 1 or 2 character delimiter field, only use fields before it.
endIndex := len(fields)
for i, field := range fields {

View file

@ -26,6 +26,8 @@ func TestCleanFileDescription(t *testing.T) {
assert.Equal(t, "Product Name", cleanFileDescription("Product Name :: Does this and that."))
assert.Equal(t, "/ Product Name", cleanFileDescription("/ Product Name"))
assert.Equal(t, "Product", cleanFileDescription("Product / Name"))
assert.Equal(t, "Software 2", cleanFileDescription("Software 2"))
assert.Equal(t, "Launcher for Software 2", cleanFileDescription("Launcher for 'Software 2'"))
assert.Equal(t, "", cleanFileDescription(". / Name"))
assert.Equal(t, "", cleanFileDescription(". "))
assert.Equal(t, "", cleanFileDescription("."))