| package dockerfile |
| |
| import ( |
| "strings" |
| "testing" |
| |
| "github.com/docker/docker/builder/dockerfile/parser" |
| "github.com/docker/docker/pkg/testutil/assert" |
| ) |
| |
| func TestAddNodesForLabelOption(t *testing.T) { |
| dockerfile := "FROM scratch" |
| d := parser.Directive{} |
| parser.SetEscapeToken(parser.DefaultEscapeToken, &d) |
| nodes, err := parser.Parse(strings.NewReader(dockerfile), &d) |
| assert.NilError(t, err) |
| |
| labels := map[string]string{ |
| "org.e": "cli-e", |
| "org.d": "cli-d", |
| "org.c": "cli-c", |
| "org.b": "cli-b", |
| "org.a": "cli-a", |
| } |
| addNodesForLabelOption(nodes, labels) |
| |
| expected := []string{ |
| "FROM scratch", |
| `LABEL "org.a"='cli-a' "org.b"='cli-b' "org.c"='cli-c' "org.d"='cli-d' "org.e"='cli-e'`, |
| } |
| assert.Equal(t, len(nodes.Children), 2) |
| for i, v := range nodes.Children { |
| assert.Equal(t, v.Original, expected[i]) |
| } |
| } |