1
0
mirror of https://github.com/go-task/task.git synced 2025-04-21 12:17:07 +02:00

add unit test for spacing between summaries

This commit is contained in:
jaedle 2019-03-04 12:46:02 +01:00
parent 4fd82ab222
commit 1025c2e3a1
2 changed files with 49 additions and 45 deletions

View File

@ -69,8 +69,10 @@ func printNoDescriptionOrSummary(l *logger.Logger) {
} }
func printTaskDependencies(l *logger.Logger, t *taskfile.Task) { func printTaskDependencies(l *logger.Logger, t *taskfile.Task) {
hasDependencies := len(t.Deps) > 0 if len(t.Deps) == 0 {
if hasDependencies { return
}
l.Outf("") l.Outf("")
l.Outf("dependencies:") l.Outf("dependencies:")
@ -78,7 +80,6 @@ func printTaskDependencies(l *logger.Logger, t *taskfile.Task) {
l.Outf(" - %s", d.Task) l.Outf(" - %s", d.Task)
} }
} }
}
func printTaskCommands(l *logger.Logger, t *taskfile.Task) { func printTaskCommands(l *logger.Logger, t *taskfile.Task) {
if len(t.Cmds) == 0 { if len(t.Cmds) == 0 {

View File

@ -2,6 +2,7 @@ package summary_test
import ( import (
"bytes" "bytes"
"strings"
"testing" "testing"
"github.com/go-task/task/v2/internal/logger" "github.com/go-task/task/v2/internal/logger"
@ -12,12 +13,7 @@ import (
) )
func TestPrintsDependenciesIfPresent(t *testing.T) { func TestPrintsDependenciesIfPresent(t *testing.T) {
buffer := &bytes.Buffer{} buffer, l := createDummyLogger()
l := logger.Logger{
Stdout: buffer,
Stderr: buffer,
Verbose: false,
}
task := &taskfile.Task{ task := &taskfile.Task{
Deps: []*taskfile.Dep{ Deps: []*taskfile.Dep{
{Task: "dep1"}, {Task: "dep1"},
@ -31,13 +27,18 @@ func TestPrintsDependenciesIfPresent(t *testing.T) {
assert.Contains(t, buffer.String(), "\ndependencies:\n - dep1\n - dep2\n - dep3\n") assert.Contains(t, buffer.String(), "\ndependencies:\n - dep1\n - dep2\n - dep3\n")
} }
func TestDoesNotPrintDependenciesIfMissing(t *testing.T) { func createDummyLogger() (*bytes.Buffer, logger.Logger) {
buffer := &bytes.Buffer{} buffer := &bytes.Buffer{}
l := logger.Logger{ l := logger.Logger{
Stdout: buffer,
Stderr: buffer, Stderr: buffer,
Stdout: buffer,
Verbose: false, Verbose: false,
} }
return buffer, l
}
func TestDoesNotPrintDependenciesIfMissing(t *testing.T) {
buffer, l := createDummyLogger()
task := &taskfile.Task{ task := &taskfile.Task{
Deps: []*taskfile.Dep{}, Deps: []*taskfile.Dep{},
} }
@ -48,12 +49,7 @@ func TestDoesNotPrintDependenciesIfMissing(t *testing.T) {
} }
func TestPrintTaskName(t *testing.T) { func TestPrintTaskName(t *testing.T) {
buffer := &bytes.Buffer{} buffer, l := createDummyLogger()
l := logger.Logger{
Stdout: buffer,
Stderr: buffer,
Verbose: false,
}
task := &taskfile.Task{ task := &taskfile.Task{
Task: "my-task-name", Task: "my-task-name",
} }
@ -64,12 +60,7 @@ func TestPrintTaskName(t *testing.T) {
} }
func TestPrintTaskCommandsIfPresent(t *testing.T) { func TestPrintTaskCommandsIfPresent(t *testing.T) {
buffer := &bytes.Buffer{} buffer, l := createDummyLogger()
l := logger.Logger{
Stdout: buffer,
Stderr: buffer,
Verbose: false,
}
task := &taskfile.Task{ task := &taskfile.Task{
Cmds: []*taskfile.Cmd{ Cmds: []*taskfile.Cmd{
{Cmd: "command-1"}, {Cmd: "command-1"},
@ -87,12 +78,7 @@ func TestPrintTaskCommandsIfPresent(t *testing.T) {
} }
func TestDoesNotPrintCommandIfMissing(t *testing.T) { func TestDoesNotPrintCommandIfMissing(t *testing.T) {
buffer := &bytes.Buffer{} buffer, l := createDummyLogger()
l := logger.Logger{
Stdout: buffer,
Stderr: buffer,
Verbose: false,
}
task := &taskfile.Task{ task := &taskfile.Task{
Cmds: []*taskfile.Cmd{}, Cmds: []*taskfile.Cmd{},
} }
@ -103,12 +89,7 @@ func TestDoesNotPrintCommandIfMissing(t *testing.T) {
} }
func TestLayout(t *testing.T) { func TestLayout(t *testing.T) {
buffer := &bytes.Buffer{} buffer, l := createDummyLogger()
l := logger.Logger{
Stdout: buffer,
Stderr: buffer,
Verbose: false,
}
task := &taskfile.Task{ task := &taskfile.Task{
Task: "sample-task", Task: "sample-task",
Summary: "line1\nline2\nline3\n", Summary: "line1\nline2\nline3\n",
@ -142,12 +123,7 @@ commands:
} }
func TestPrintDescriptionAsFallback(t *testing.T) { func TestPrintDescriptionAsFallback(t *testing.T) {
buffer := &bytes.Buffer{} buffer, l := createDummyLogger()
l := logger.Logger{
Stdout: buffer,
Stderr: buffer,
Verbose: false,
}
taskWithoutSummary := &taskfile.Task{ taskWithoutSummary := &taskfile.Task{
Desc: "description", Desc: "description",
} }
@ -159,14 +135,41 @@ func TestPrintDescriptionAsFallback(t *testing.T) {
taskWithoutSummaryOrDescription := &taskfile.Task{} taskWithoutSummaryOrDescription := &taskfile.Task{}
summary.Print(&l, taskWithoutSummary) summary.Print(&l, taskWithoutSummary)
assert.Contains(t, buffer.String(), "description") assert.Contains(t, buffer.String(), "description")
buffer.Reset() buffer.Reset()
summary.Print(&l, taskWithSummary) summary.Print(&l, taskWithSummary)
assert.NotContains(t, buffer.String(), "description") assert.NotContains(t, buffer.String(), "description")
buffer.Reset() buffer.Reset()
summary.Print(&l, taskWithoutSummaryOrDescription) summary.Print(&l, taskWithoutSummaryOrDescription)
assert.Contains(t, buffer.String(), "\n(task does not have description or summary)\n") assert.Contains(t, buffer.String(), "\n(task does not have description or summary)\n")
} }
func TestPrintAllWithSpaces(t *testing.T) {
buffer, l := createDummyLogger()
t1 := &taskfile.Task{Task: "t1"}
t2 := &taskfile.Task{Task: "t2"}
t3 := &taskfile.Task{Task: "t3"}
tasks := make(taskfile.Tasks, 3)
tasks["t1"] = t1
tasks["t2"] = t2
tasks["t3"] = t3
tf := &taskfile.Taskfile{
Tasks: tasks,
}
summary.PrintAll(&l, tf, []taskfile.Call{{Task: "t1"}, {Task: "t2"}, {Task: "t3"}})
assert.True(t, strings.HasPrefix(buffer.String(), "task: t1"))
assert.Contains(t, buffer.String(), "\n(task does not have description or summary)\n\n\ntask: t2")
assert.Contains(t, buffer.String(), "\n(task does not have description or summary)\n\n\ntask: t3")
}