package formatter import ( "bytes" "testing" "github.com/docker/docker/api/types" "github.com/stretchr/testify/assert" ) func TestCheckpointContextFormatWrite(t *testing.T) { cases := []struct { context Context expected string }{ { Context{Format: NewCheckpointFormat(defaultCheckpointFormat)}, `CHECKPOINT NAME checkpoint-1 checkpoint-2 checkpoint-3 `, }, { Context{Format: NewCheckpointFormat("{{.Name}}")}, `checkpoint-1 checkpoint-2 checkpoint-3 `, }, { Context{Format: NewCheckpointFormat("{{.Name}}:")}, `checkpoint-1: checkpoint-2: checkpoint-3: `, }, } checkpoints := []types.Checkpoint{ {"checkpoint-1"}, {"checkpoint-2"}, {"checkpoint-3"}, } for _, testcase := range cases { out := bytes.NewBufferString("") testcase.context.Output = out err := CheckpointWrite(testcase.context, checkpoints) if err != nil { assert.Error(t, err, testcase.expected) } else { assert.Equal(t, out.String(), testcase.expected) } } }