Skip to content

Commit 400c5e5

Browse files
committed
refactor(eo): move smallKebab to DocsTemplateData
Remove second parameter, now smallKebab takes care of creating it. Add tests.
1 parent 7d00d3a commit 400c5e5

File tree

4 files changed

+44
-5
lines changed

4 files changed

+44
-5
lines changed

hack/generator/docsBoilerplate.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ type DocsBoilerplate struct {
1919
tmplData DocsTemplateData
2020
}
2121

22-
func NewDocsBoilerplate(targetPath string, tmpl DocsFile, tmplData DocsTemplateData) *DocsBoilerplate {
22+
func NewDocsBoilerplate(
23+
targetPath string,
24+
tmpl DocsFile,
25+
tmplData DocsTemplateData,
26+
) *DocsBoilerplate {
2327
return &DocsBoilerplate{targetPath, tmpl, tmplData}
2428
}
2529

hack/generator/docsTemplateData.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,24 @@
11
package generator
22

3+
import "strings"
4+
35
type DocsTemplateData struct {
46
Title, SmallTitle string
57
}
68

7-
func NewDocsTemplateData(t, s string) DocsTemplateData {
8-
return DocsTemplateData{t, s}
9+
func NewDocsTemplateData(title string) DocsTemplateData {
10+
result := DocsTemplateData{}
11+
result.Title = title
12+
result.SmallTitle = smallKebab(title)
13+
return result
14+
}
15+
16+
func smallKebab(word string) string {
17+
result := strings.ToLower(word)
18+
19+
if len(strings.Split(result, " ")) > 1 {
20+
result = strings.ReplaceAll(result, " ", "-")
21+
}
22+
23+
return result
924
}

hack/generator/eoDocs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ func EoDocsCreate(targetPath string) error {
1010
docsBoilerplate := NewDocsBoilerplate(
1111
config.To,
1212
NewDocsTemplate(config.From, filesystem),
13-
NewDocsTemplateData("Missing Number", "missing-number"),
13+
NewDocsTemplateData("Missing Number"),
1414
)
1515

1616
return docsBoilerplate.Save(filesystem)
@@ -26,7 +26,7 @@ func EoDocsDelete(targetPath string) error {
2626
docsBoilerplate := NewDocsBoilerplate(
2727
config.To,
2828
NewDocsTemplate(config.From, filesystem),
29-
NewDocsTemplateData("Missing Number", "missing-number"),
29+
NewDocsTemplateData("Missing Number"),
3030
)
3131

3232
return docsBoilerplate.Delete(filesystem)

hack/generator/eoDocs_test.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,23 @@ func Test_CreateAndDeleteDocsBoilerplateInTemp(t *testing.T) {
1616
t.Errorf("unexpected error: %v", err)
1717
}
1818
}
19+
20+
func Test_DocsTemplateDataHasSmallKebabCaseTitle_TwoWords(t *testing.T) {
21+
expected := "missing-number"
22+
23+
actual := generator.NewDocsTemplateData("Missing Number")
24+
25+
if actual.SmallTitle != expected {
26+
t.Errorf("expected %s, got % s", expected, actual.SmallTitle)
27+
}
28+
}
29+
30+
func Test_DocsTemplateDataHasSmallKebabCaseTitle_OneWord(t *testing.T) {
31+
expected := "arrays"
32+
33+
actual := generator.NewDocsTemplateData("Arrays")
34+
35+
if actual.SmallTitle != expected {
36+
t.Errorf("expected %s, got % s", expected, actual.SmallTitle)
37+
}
38+
}

0 commit comments

Comments
 (0)