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]) } }