github.com/fredbi/git-chglog@v0.0.0-20190706071416-d35c598eac81/cmd/git-chglog/kac_template_builder_test.go (about) 1 package main 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func TestKACTemplateBuilderDefault(t *testing.T) { 10 assert := assert.New(t) 11 builder := NewKACTemplateBuilder() 12 13 out, err := builder.Build(&Answer{ 14 Style: styleGitHub, 15 CommitMessageFormat: fmtTypeScopeSubject.display, 16 Template: tplKeepAChangelog.display, 17 IncludeMerges: true, 18 IncludeReverts: true, 19 }) 20 21 assert.Nil(err) 22 assert.Equal(`{{ if .Versions -}} 23 <a name="unreleased"></a> 24 ## [Unreleased] 25 26 {{ if .Unreleased.CommitGroups -}} 27 {{ range .Unreleased.CommitGroups -}} 28 ### {{ .Title }} 29 {{ range .Commits -}} 30 - {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} 31 {{ end }} 32 {{ end -}} 33 {{ end -}} 34 {{ end -}} 35 36 {{ range .Versions }} 37 <a name="{{ .Tag.Name }}"></a> 38 ## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }} 39 {{ range .CommitGroups -}} 40 ### {{ .Title }} 41 {{ range .Commits -}} 42 - {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} 43 {{ end }} 44 {{ end -}} 45 46 {{- if .RevertCommits -}} 47 ### Reverts 48 {{ range .RevertCommits -}} 49 - {{ .Revert.Header }} 50 {{ end }} 51 {{ end -}} 52 53 {{- if .MergeCommits -}} 54 ### Pull Requests 55 {{ range .MergeCommits -}} 56 - {{ .Header }} 57 {{ end }} 58 {{ end -}} 59 60 {{- if .NoteGroups -}} 61 {{ range .NoteGroups -}} 62 ### {{ .Title }} 63 {{ range .Notes }} 64 {{ .Body }} 65 {{ end }} 66 {{ end -}} 67 {{ end -}} 68 {{ end -}} 69 70 {{- if .Versions }} 71 [Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD 72 {{ range .Versions -}} 73 {{ if .Tag.Previous -}} 74 [{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }} 75 {{ end -}} 76 {{ end -}} 77 {{ end -}}`, out) 78 } 79 80 func TestKACTemplateBuilderNone(t *testing.T) { 81 assert := assert.New(t) 82 builder := NewKACTemplateBuilder() 83 84 out, err := builder.Build(&Answer{ 85 Style: styleNone, 86 CommitMessageFormat: fmtTypeScopeSubject.display, 87 Template: tplKeepAChangelog.display, 88 IncludeMerges: true, 89 IncludeReverts: true, 90 }) 91 92 assert.Nil(err) 93 assert.Equal(`{{ if .Versions -}} 94 ## Unreleased 95 96 {{ if .Unreleased.CommitGroups -}} 97 {{ range .Unreleased.CommitGroups -}} 98 ### {{ .Title }} 99 {{ range .Commits -}} 100 - {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} 101 {{ end }} 102 {{ end -}} 103 {{ end -}} 104 {{ end -}} 105 106 {{ range .Versions }} 107 ## {{ .Tag.Name }} - {{ datetime "2006-01-02" .Tag.Date }} 108 {{ range .CommitGroups -}} 109 ### {{ .Title }} 110 {{ range .Commits -}} 111 - {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} 112 {{ end }} 113 {{ end -}} 114 115 {{- if .RevertCommits -}} 116 ### Reverts 117 {{ range .RevertCommits -}} 118 - {{ .Revert.Header }} 119 {{ end }} 120 {{ end -}} 121 122 {{- if .MergeCommits -}} 123 ### Merges 124 {{ range .MergeCommits -}} 125 - {{ .Header }} 126 {{ end }} 127 {{ end -}} 128 129 {{- if .NoteGroups -}} 130 {{ range .NoteGroups -}} 131 ### {{ .Title }} 132 {{ range .Notes }} 133 {{ .Body }} 134 {{ end }} 135 {{ end -}} 136 {{ end -}} 137 {{ end -}}`, out) 138 } 139 140 func TestKACTemplateBuilderSubject(t *testing.T) { 141 assert := assert.New(t) 142 builder := NewKACTemplateBuilder() 143 144 out, err := builder.Build(&Answer{ 145 Style: styleNone, 146 CommitMessageFormat: fmtSubject.display, 147 Template: tplKeepAChangelog.display, 148 IncludeMerges: true, 149 IncludeReverts: true, 150 }) 151 152 assert.Nil(err) 153 assert.Equal(`{{ if .Versions -}} 154 ## Unreleased 155 156 {{ if .Unreleased.CommitGroups -}} 157 {{ range .Unreleased.CommitGroups -}} 158 {{ range .Commits -}} 159 - {{ .Header }} 160 {{ end }} 161 {{ end -}} 162 {{ end -}} 163 {{ end -}} 164 165 {{ range .Versions }} 166 ## {{ .Tag.Name }} - {{ datetime "2006-01-02" .Tag.Date }} 167 {{ range .CommitGroups -}} 168 {{ range .Commits -}} 169 - {{ .Header }} 170 {{ end }} 171 {{ end -}} 172 173 {{- if .RevertCommits -}} 174 ### Reverts 175 {{ range .RevertCommits -}} 176 - {{ .Revert.Header }} 177 {{ end }} 178 {{ end -}} 179 180 {{- if .MergeCommits -}} 181 ### Merges 182 {{ range .MergeCommits -}} 183 - {{ .Header }} 184 {{ end }} 185 {{ end -}} 186 187 {{- if .NoteGroups -}} 188 {{ range .NoteGroups -}} 189 ### {{ .Title }} 190 {{ range .Notes }} 191 {{ .Body }} 192 {{ end }} 193 {{ end -}} 194 {{ end -}} 195 {{ end -}}`, out) 196 }