Skip to content

Commit

Permalink
Fix new lines in hook script
Browse files Browse the repository at this point in the history
  • Loading branch information
rockstaedt committed Feb 12, 2023
1 parent d71a61a commit 83669c5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
4 changes: 3 additions & 1 deletion util/hook.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ func DeleteHook(path, _ string) error {
}

func writeContent(writer io.Writer, exePath string) {
_, err := fmt.Fprintf(writer, `#!/bin/sh\n\n"%s/commit-message-check" validate $1\n`, exePath)
_, err := fmt.Fprint(writer, "#!/bin/sh\n\n")
_, err = fmt.Fprintf(writer, `"%s/commit-message-check" validate $1`, exePath)
_, err = fmt.Fprint(writer, "\n")
if err != nil {
log.Printf("[ERROR]\t Could not write commit-msg script: %s", err)
}
Expand Down
12 changes: 10 additions & 2 deletions util/hook_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -134,15 +134,23 @@ func TestWriteContent(t *testing.T) {

writeContent(buffer, "usr/tmp")

assert.Contains(t, buffer.String(), `#!/bin/sh\n\n`)
assert.Contains(t, buffer.String(), "#!/bin/sh\n\n")
})

t.Run("executes commit-message-check with root path and quotes path to handle spaces", func(t *testing.T) {
buffer.Reset()

writeContent(buffer, "usr/tmp")

assert.Contains(t, buffer.String(), `"usr/tmp/commit-message-check" validate $1\n`)
assert.Contains(t, buffer.String(), `"usr/tmp/commit-message-check" validate $1`)
})

t.Run("inserts a blank line at the end of file", func(t *testing.T) {
buffer.Reset()

writeContent(buffer, "usr/tmp")

assert.Contains(t, buffer.String(), "$1\n")
})

t.Run("logs any error", func(t *testing.T) {
Expand Down

0 comments on commit 83669c5

Please sign in to comment.