mirror of https://github.com/docker/docs.git
do not lower keys
Signed-off-by: Victor Vieux <vieux@docker.com>
This commit is contained in:
parent
7952727bb7
commit
494e0655dd
|
@ -57,9 +57,9 @@ func parseExprs(env []string) ([]expr, error) {
|
||||||
if matched == false {
|
if matched == false {
|
||||||
return nil, fmt.Errorf("Value '%s' is invalid", parts[1])
|
return nil, fmt.Errorf("Value '%s' is invalid", parts[1])
|
||||||
}
|
}
|
||||||
exprs = append(exprs, expr{key: strings.ToLower(parts[0]), operator: i, value: strings.TrimLeft(parts[1], "~"), isSoft: isSoft(parts[1])})
|
exprs = append(exprs, expr{key: parts[0], operator: i, value: strings.TrimLeft(parts[1], "~"), isSoft: isSoft(parts[1])})
|
||||||
} else {
|
} else {
|
||||||
exprs = append(exprs, expr{key: strings.ToLower(parts[0]), operator: i})
|
exprs = append(exprs, expr{key: parts[0], operator: i})
|
||||||
}
|
}
|
||||||
|
|
||||||
found = true
|
found = true
|
||||||
|
|
|
@ -24,28 +24,40 @@ func TestParseExprs(t *testing.T) {
|
||||||
assert.Error(t, err)
|
assert.Error(t, err)
|
||||||
|
|
||||||
// Allow CAPS in key
|
// Allow CAPS in key
|
||||||
_, err = parseExprs([]string{"NoDe==node1"})
|
exprs, err := parseExprs([]string{"NoDe==node1"})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, exprs[0].key, "NoDe")
|
||||||
|
assert.Equal(t, exprs[0].value, "node1")
|
||||||
|
|
||||||
// Allow dot in key
|
// Allow dot in key
|
||||||
_, err = parseExprs([]string{"no.de==node1"})
|
exprs, err = parseExprs([]string{"no.de==node1"})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, exprs[0].key, "no.de")
|
||||||
|
assert.Equal(t, exprs[0].value, "node1")
|
||||||
|
|
||||||
// Allow leading underscore
|
// Allow leading underscore
|
||||||
_, err = parseExprs([]string{"_node==_node1"})
|
exprs, err = parseExprs([]string{"_node==_node1"})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, exprs[0].key, "_node")
|
||||||
|
assert.Equal(t, exprs[0].value, "_node1")
|
||||||
|
|
||||||
// Allow globbing
|
// Allow globbing
|
||||||
_, err = parseExprs([]string{"node==*node*"})
|
exprs, err = parseExprs([]string{"node==*node*"})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, exprs[0].key, "node")
|
||||||
|
assert.Equal(t, exprs[0].value, "*node*")
|
||||||
|
|
||||||
// Allow regexp in value
|
// Allow regexp in value
|
||||||
_, err = parseExprs([]string{"node==/(?i)^[a-b]+c*(n|b)$/"})
|
exprs, err = parseExprs([]string{"node==/(?i)^[a-b]+c*(n|b)$/"})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, exprs[0].key, "node")
|
||||||
|
assert.Equal(t, exprs[0].value, "/(?i)^[a-b]+c*(n|b)$/")
|
||||||
|
|
||||||
// Allow space in value
|
// Allow space in value
|
||||||
_, err = parseExprs([]string{"node==node 1"})
|
exprs, err = parseExprs([]string{"node==node 1"})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
assert.Equal(t, exprs[0].key, "node")
|
||||||
|
assert.Equal(t, exprs[0].value, "node 1")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestMatch(t *testing.T) {
|
func TestMatch(t *testing.T) {
|
||||||
|
|
Loading…
Reference in New Issue