Skip to content

Commit 24d0055

Browse files
authored
Merge pull request #208 from per1234/simplify-summary-output
Simplify summary output
2 parents dccb221 + 6b719bc commit 24d0055

File tree

2 files changed

+27
-5
lines changed

2 files changed

+27
-5
lines changed

Diff for: internal/result/result.go

+17-3
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,15 @@ func (results Type) ProjectSummaryText(lintedProject project.Type) string {
194194
panic(fmt.Sprintf("Unable to find report for %v when generating report summary text", lintedProject.Path))
195195
}
196196

197-
projectSummaryReport := results.Projects[projectReportIndex].Summary
198-
return fmt.Sprintf("Finished linting project. Results:\nWarning count: %v\nError count: %v\nRules passed: %v", projectSummaryReport.WarningCount, projectSummaryReport.ErrorCount, projectSummaryReport.Pass)
197+
projectSummaryReport := "Linter results for project: "
198+
projectSummaryData := results.Projects[projectReportIndex].Summary
199+
if projectSummaryData.ErrorCount == 0 && projectSummaryData.WarningCount == 0 {
200+
projectSummaryReport += "no errors or warnings"
201+
} else {
202+
projectSummaryReport += fmt.Sprintf("%v ERRORS, %v WARNINGS", projectSummaryData.ErrorCount, projectSummaryData.WarningCount)
203+
}
204+
205+
return projectSummaryReport
199206
}
200207

201208
// AddSummary summarizes the rule results for all projects and adds it to the report.
@@ -220,7 +227,14 @@ func (results *Type) AddSummary() {
220227

221228
// SummaryText returns a text summary of the cumulative rule results.
222229
func (results Type) SummaryText() string {
223-
return fmt.Sprintf("Finished linting projects. Results:\nWarning count: %v\nError count: %v\nRules passed: %v", results.Summary.WarningCount, results.Summary.ErrorCount, results.Summary.Pass)
230+
summaryReport := "Linter results for projects: "
231+
if results.Summary.ErrorCount == 0 && results.Summary.WarningCount == 0 {
232+
summaryReport += "no errors or warnings"
233+
} else {
234+
summaryReport += fmt.Sprintf("%v ERRORS, %v WARNINGS", results.Summary.ErrorCount, results.Summary.WarningCount)
235+
}
236+
237+
return summaryReport
224238
}
225239

226240
// JSONReport returns a JSON formatted report of rules on all projects in string encoding.

Diff for: internal/result/result_test.go

+10-2
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,11 @@ func TestAddProjectSummary(t *testing.T) {
207207
assert.Equal(t, testTable.expectedPass, results.Projects[0].Summary.Pass)
208208
assert.Equal(t, testTable.expectedWarningCount, results.Projects[0].Summary.WarningCount)
209209
assert.Equal(t, testTable.expectedErrorCount, results.Projects[0].Summary.ErrorCount)
210-
assert.Equal(t, fmt.Sprintf("Finished linting project. Results:\nWarning count: %v\nError count: %v\nRules passed: %v", testTable.expectedWarningCount, testTable.expectedErrorCount, testTable.expectedPass), results.ProjectSummaryText(lintedProject))
210+
if testTable.expectedErrorCount == 0 && testTable.expectedWarningCount == 0 {
211+
assert.Equal(t, "Linter results for project: no errors or warnings", results.ProjectSummaryText(lintedProject))
212+
} else {
213+
assert.Equal(t, fmt.Sprintf("Linter results for project: %v ERRORS, %v WARNINGS", testTable.expectedErrorCount, testTable.expectedWarningCount), results.ProjectSummaryText(lintedProject))
214+
}
211215
}
212216
}
213217

@@ -290,7 +294,11 @@ func TestAddSummary(t *testing.T) {
290294
assert.Equal(t, testTable.expectedPass, results.Passed())
291295
assert.Equal(t, testTable.expectedWarningCount, results.Summary.WarningCount)
292296
assert.Equal(t, testTable.expectedErrorCount, results.Summary.ErrorCount)
293-
assert.Equal(t, fmt.Sprintf("Finished linting projects. Results:\nWarning count: %v\nError count: %v\nRules passed: %v", testTable.expectedWarningCount, testTable.expectedErrorCount, testTable.expectedPass), results.SummaryText())
297+
if testTable.expectedErrorCount == 0 && testTable.expectedWarningCount == 0 {
298+
assert.Equal(t, "Linter results for projects: no errors or warnings", results.SummaryText())
299+
} else {
300+
assert.Equal(t, fmt.Sprintf("Linter results for projects: %v ERRORS, %v WARNINGS", testTable.expectedErrorCount, testTable.expectedWarningCount), results.SummaryText())
301+
}
294302
}
295303
}
296304

0 commit comments

Comments
 (0)