code-intelligence.com/cifuzz@v0.40.0/internal/cmd/coverage/summary/jacoco_test.go (about) 1 package summary 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 ) 9 10 func TestParseJacoco(t *testing.T) { 11 reportData := ` 12 <report name="maven-example"> 13 <package name="com/example"> 14 <sourcefile name="ExploreMe.java"> 15 <counter type="LINE" missed="100" covered="100"/> 16 <counter type="BRANCH" missed="22" covered="1"/> 17 <counter type="METHOD" missed="19" covered="2"/> 18 </sourcefile> 19 <sourcefile name="App.java"> 20 <counter type="LINE" missed="0" covered="50"/> 21 <counter type="BRANCH" missed="1" covered="9"/> 22 <counter type="METHOD" missed="0" covered="1"/> 23 </sourcefile> 24 </package> 25 </report> 26 ` 27 summary := ParseJacocoXML(strings.NewReader(reportData)) 28 29 assert.Len(t, summary.Files, 2) 30 assert.Equal(t, 3, summary.Total.FunctionsHit) 31 assert.Equal(t, 22, summary.Total.FunctionsFound) 32 assert.Equal(t, 10, summary.Total.BranchesHit) 33 assert.Equal(t, 33, summary.Total.BranchesFound) 34 assert.Equal(t, 150, summary.Total.LinesHit) 35 assert.Equal(t, 250, summary.Total.LinesFound) 36 37 assert.Equal(t, 2, summary.Files[0].Coverage.FunctionsHit) 38 assert.Equal(t, 21, summary.Files[0].Coverage.FunctionsFound) 39 assert.Equal(t, 1, summary.Files[0].Coverage.BranchesHit) 40 assert.Equal(t, 23, summary.Files[0].Coverage.BranchesFound) 41 assert.Equal(t, 100, summary.Files[0].Coverage.LinesHit) 42 assert.Equal(t, 200, summary.Files[0].Coverage.LinesFound) 43 44 assert.Equal(t, 1, summary.Files[1].Coverage.FunctionsHit) 45 assert.Equal(t, 1, summary.Files[1].Coverage.FunctionsFound) 46 assert.Equal(t, 9, summary.Files[1].Coverage.BranchesHit) 47 assert.Equal(t, 10, summary.Files[1].Coverage.BranchesFound) 48 assert.Equal(t, 50, summary.Files[1].Coverage.LinesHit) 49 assert.Equal(t, 50, summary.Files[1].Coverage.LinesFound) 50 } 51 52 func TestParseJacoco_Empty(t *testing.T) { 53 summary := ParseJacocoXML(strings.NewReader("")) 54 55 assert.Len(t, summary.Files, 0) 56 assert.Empty(t, summary.Total.BranchesFound) 57 assert.Empty(t, summary.Total.LinesFound) 58 assert.Empty(t, summary.Total.FunctionsFound) 59 }