builder_test.go 836 B

1234567891011121314151617181920212223242526272829303132333435
  1. package dockerfile
  2. import (
  3. "strings"
  4. "testing"
  5. "github.com/docker/docker/builder/dockerfile/parser"
  6. "github.com/docker/docker/pkg/testutil/assert"
  7. )
  8. func TestAddNodesForLabelOption(t *testing.T) {
  9. dockerfile := "FROM scratch"
  10. d := parser.Directive{}
  11. parser.SetEscapeToken(parser.DefaultEscapeToken, &d)
  12. nodes, err := parser.Parse(strings.NewReader(dockerfile), &d)
  13. assert.NilError(t, err)
  14. labels := map[string]string{
  15. "org.e": "cli-e",
  16. "org.d": "cli-d",
  17. "org.c": "cli-c",
  18. "org.b": "cli-b",
  19. "org.a": "cli-a",
  20. }
  21. addNodesForLabelOption(nodes, labels)
  22. expected := []string{
  23. "FROM scratch",
  24. `LABEL "org.a"='cli-a' "org.b"='cli-b' "org.c"='cli-c' "org.d"='cli-d' "org.e"='cli-e'`,
  25. }
  26. assert.Equal(t, len(nodes.Children), 2)
  27. for i, v := range nodes.Children {
  28. assert.Equal(t, v.Original, expected[i])
  29. }
  30. }