1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package parser
- import (
- "github.com/docker/docker/pkg/testutil/assert"
- "testing"
- )
- func TestParseNameValOldFormat(t *testing.T) {
- directive := Directive{}
- node, err := parseNameVal("foo bar", "LABEL", &directive)
- assert.NilError(t, err)
- expected := &Node{
- Value: "foo",
- Next: &Node{Value: "bar"},
- }
- assert.DeepEqual(t, node, expected)
- }
- func TestParseNameValNewFormat(t *testing.T) {
- directive := Directive{}
- node, err := parseNameVal("foo=bar thing=star", "LABEL", &directive)
- assert.NilError(t, err)
- expected := &Node{
- Value: "foo",
- Next: &Node{
- Value: "bar",
- Next: &Node{
- Value: "thing",
- Next: &Node{
- Value: "star",
- },
- },
- },
- }
- assert.DeepEqual(t, node, expected)
- }
- func TestNodeFromLabels(t *testing.T) {
- labels := map[string]string{
- "foo": "bar",
- "weird": "first' second",
- }
- expected := &Node{
- Value: "label",
- Original: `LABEL "foo"='bar' "weird"='first' second'`,
- Next: &Node{
- Value: "foo",
- Next: &Node{
- Value: "'bar'",
- Next: &Node{
- Value: "weird",
- Next: &Node{
- Value: "'first' second'",
- },
- },
- },
- },
- }
- node := NodeFromLabels(labels)
- assert.DeepEqual(t, node, expected)
- }
|