1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package formatter
- import (
- "bytes"
- "testing"
- "github.com/docker/docker/api/types/container"
- "github.com/docker/docker/pkg/archive"
- "github.com/stretchr/testify/assert"
- )
- func TestDiffContextFormatWrite(t *testing.T) {
- // Check default output format (verbose and non-verbose mode) for table headers
- cases := []struct {
- context Context
- expected string
- }{
- {
- Context{Format: NewDiffFormat("table")},
- `CHANGE TYPE PATH
- C /var/log/app.log
- A /usr/app/app.js
- D /usr/app/old_app.js
- `,
- },
- {
- Context{Format: NewDiffFormat("table {{.Path}}")},
- `PATH
- /var/log/app.log
- /usr/app/app.js
- /usr/app/old_app.js
- `,
- },
- {
- Context{Format: NewDiffFormat("{{.Type}}: {{.Path}}")},
- `C: /var/log/app.log
- A: /usr/app/app.js
- D: /usr/app/old_app.js
- `,
- },
- }
- diffs := []container.ContainerChangeResponseItem{
- {archive.ChangeModify, "/var/log/app.log"},
- {archive.ChangeAdd, "/usr/app/app.js"},
- {archive.ChangeDelete, "/usr/app/old_app.js"},
- }
- for _, testcase := range cases {
- out := bytes.NewBufferString("")
- testcase.context.Output = out
- err := DiffWrite(testcase.context, diffs)
- if err != nil {
- assert.EqualError(t, err, testcase.expected)
- } else {
- assert.Equal(t, testcase.expected, out.String())
- }
- }
- }
|