From 6d81045bf0be9835bc99e40be997cae73de4e3a7 Mon Sep 17 00:00:00 2001 From: Dennis Verheijden Date: Thu, 11 Sep 2025 13:35:50 +0200 Subject: [PATCH] Extract conditional branch to function --- metadata/metadata.go | 8 ++++++-- metadata/metadata_test.go | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/metadata/metadata.go b/metadata/metadata.go index 141c206..50bbff1 100644 --- a/metadata/metadata.go +++ b/metadata/metadata.go @@ -159,8 +159,7 @@ func ExtractMeta(data []byte, spaceFromCli string, titleFromH1 bool, titleFromFi meta.Title = ExtractDocumentLeadingH1(data) } if titleFromFilename && meta.Title == "" && filename != "" { - base := filepath.Base(filename) - meta.Title = strings.TrimSuffix(base, filepath.Ext(base)) + setTitleFromFilename(meta, filename) } if spaceFromCli != "" && meta.Space == "" { meta.Space = spaceFromCli @@ -192,6 +191,11 @@ func ExtractMeta(data []byte, spaceFromCli string, titleFromH1 bool, titleFromFi return meta, data[offset:], nil } +func setTitleFromFilename(meta *Meta, filename string) { + base := filepath.Base(filename) + meta.Title = strings.TrimSuffix(base, filepath.Ext(base)) +} + // ExtractDocumentLeadingH1 will extract leading H1 heading func ExtractDocumentLeadingH1(markdown []byte) string { h1 := regexp.MustCompile(`#[^#]\s*(.*)\s*\n`) diff --git a/metadata/metadata_test.go b/metadata/metadata_test.go index 6249553..265184a 100644 --- a/metadata/metadata_test.go +++ b/metadata/metadata_test.go @@ -28,3 +28,11 @@ func TestExtractDocumentLeadingH1(t *testing.T) { assert.Equal(t, "a", actual) } + +func TestSetTitleFromFilename(t *testing.T) { + t.Run("set title from filename", func(t *testing.T) { + meta := &Meta{Title: ""} + setTitleFromFilename(meta, "/path/to/test.md") + assert.Equal(t, "test", meta.Title) + }) +}