mirror of
https://github.com/git-chglog/git-chglog.git
synced 2026-07-23 19:07:37 +00:00
parent
75d59a9eb8
commit
44f71cbcd8
5 changed files with 192 additions and 44 deletions
|
|
@ -135,3 +135,134 @@ func TestCommitExtractor(t *testing.T) {
|
|||
},
|
||||
}, noteGroups)
|
||||
}
|
||||
|
||||
func TestCommitOrderExtractor(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
extractor := newCommitExtractor(&Options{
|
||||
CommitSortBy: "Scope",
|
||||
CommitGroupBy: "Type",
|
||||
CommitGroupSortBy: "Custom",
|
||||
CommitGroupTitleOrder: []string{"foo", "bar"},
|
||||
CommitGroupTitleMaps: map[string]string{
|
||||
"bar": "BAR",
|
||||
},
|
||||
})
|
||||
|
||||
fixtures := []*Commit{
|
||||
// [0]
|
||||
{
|
||||
Type: "foo",
|
||||
Scope: "c",
|
||||
Header: "1",
|
||||
Notes: []*Note{},
|
||||
},
|
||||
// [1]
|
||||
{
|
||||
Type: "foo",
|
||||
Scope: "b",
|
||||
Header: "2",
|
||||
Notes: []*Note{
|
||||
{"note1-title", "note1-body"},
|
||||
{"note2-title", "note2-body"},
|
||||
},
|
||||
},
|
||||
// [2]
|
||||
{
|
||||
Type: "bar",
|
||||
Scope: "d",
|
||||
Header: "3",
|
||||
Notes: []*Note{
|
||||
{"note1-title", "note1-body"},
|
||||
{"note3-title", "note3-body"},
|
||||
},
|
||||
},
|
||||
// [3]
|
||||
{
|
||||
Type: "foo",
|
||||
Scope: "a",
|
||||
Header: "4",
|
||||
Notes: []*Note{
|
||||
{"note4-title", "note4-body"},
|
||||
},
|
||||
},
|
||||
// [4]
|
||||
{
|
||||
Type: "",
|
||||
Scope: "",
|
||||
Header: "Merge1",
|
||||
Notes: []*Note{},
|
||||
Merge: &Merge{
|
||||
Ref: "123",
|
||||
Source: "merges/merge1",
|
||||
},
|
||||
},
|
||||
// [5]
|
||||
{
|
||||
Type: "",
|
||||
Scope: "",
|
||||
Header: "Revert1",
|
||||
Notes: []*Note{},
|
||||
Revert: &Revert{
|
||||
Header: "REVERT1",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
commitGroups, mergeCommits, revertCommits, noteGroups := extractor.Extract(fixtures)
|
||||
|
||||
assert.Equal([]*CommitGroup{
|
||||
{
|
||||
RawTitle: "foo",
|
||||
Title: "Foo",
|
||||
Commits: []*Commit{
|
||||
fixtures[3],
|
||||
fixtures[1],
|
||||
fixtures[0],
|
||||
},
|
||||
},
|
||||
{
|
||||
RawTitle: "bar",
|
||||
Title: "BAR",
|
||||
Commits: []*Commit{
|
||||
fixtures[2],
|
||||
},
|
||||
},
|
||||
}, commitGroups)
|
||||
|
||||
assert.Equal([]*Commit{
|
||||
fixtures[4],
|
||||
}, mergeCommits)
|
||||
|
||||
assert.Equal([]*Commit{
|
||||
fixtures[5],
|
||||
}, revertCommits)
|
||||
|
||||
assert.Equal([]*NoteGroup{
|
||||
{
|
||||
Title: "note1-title",
|
||||
Notes: []*Note{
|
||||
fixtures[1].Notes[0],
|
||||
fixtures[2].Notes[0],
|
||||
},
|
||||
},
|
||||
{
|
||||
Title: "note2-title",
|
||||
Notes: []*Note{
|
||||
fixtures[1].Notes[1],
|
||||
},
|
||||
},
|
||||
{
|
||||
Title: "note3-title",
|
||||
Notes: []*Note{
|
||||
fixtures[2].Notes[1],
|
||||
},
|
||||
},
|
||||
{
|
||||
Title: "note4-title",
|
||||
Notes: []*Note{
|
||||
fixtures[3].Notes[0],
|
||||
},
|
||||
},
|
||||
}, noteGroups)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue