Fix name fragment grouping

This commit is contained in:
Daniel 2021-02-19 09:41:31 +01:00
parent 80588d5a53
commit 8a1917c4e0
3 changed files with 13 additions and 2 deletions

View file

@ -30,12 +30,15 @@ func GenerateBinaryNameFromPath(path string) string {
segments = segments[:len(segments)-1]
}
// Debugging snippet:
// fmt.Printf("segments: %s\n", segments)
// Go through segments and collect name parts.
nameParts := make([]string, 0, len(segments))
var fragments string
for _, segment := range segments {
// Group very short segments.
if len(segment) <= 3 {
if len(delimitersAtStart.ReplaceAllString(segment, "")) <= 2 {
fragments += segment
continue
} else if fragments != "" {
@ -51,6 +54,9 @@ func GenerateBinaryNameFromPath(path string) string {
nameParts = append(nameParts, fragments)
}
// Debugging snippet:
// fmt.Printf("parts: %s\n", nameParts)
// Post-process name parts
for i := range nameParts {
// Remove any leading delimiters.
@ -62,6 +68,9 @@ func GenerateBinaryNameFromPath(path string) string {
}
}
// Debugging snippet:
// fmt.Printf("final: %s\n", nameParts)
return strings.Join(nameParts, " ")
}

View file

@ -17,6 +17,7 @@ func TestGenerateBinaryNameFromPath(t *testing.T) {
assert.Equal(t, "Win Store App", GenerateBinaryNameFromPath("WinStore.App.exe"))
assert.Equal(t, "Test Script", GenerateBinaryNameFromPath(".test-script"))
assert.Equal(t, "Browser Broker", GenerateBinaryNameFromPath("browser_broker.exe"))
assert.Equal(t, "Virtual Box VM", GenerateBinaryNameFromPath("VirtualBoxVM"))
}
func TestCleanFileDescription(t *testing.T) {

View file

@ -7,7 +7,8 @@ import (
"strings"
)
func runPowershellCmd(script string) (output string, err error) {
// RunPowershellCmd runs a powershell command and returns its output.
func RunPowershellCmd(script string) (output string, err error) {
// Create command to execute.
cmd := exec.Command(
"powershell.exe",