fix(pkg/strvals): preserve leading zeros in vals

When passing values with "helm install --set" values with leading zeros are
preserved and not parsed as ints.

Closes #2693
pull/2729/head
Sam Leavens 8 years ago
parent e8d80729ac
commit 609e72b357

@ -308,9 +308,12 @@ func typedVal(v []rune) interface{} {
return false return false
} }
// If this value does not start with zero, try parsing it to an int
if len(val) != 0 && val[0] != 48 {
if iv, err := strconv.ParseInt(val, 10, 64); err == nil { if iv, err := strconv.ParseInt(val, 10, 64); err == nil {
return iv return iv
} }
}
return val return val
} }

@ -93,6 +93,10 @@ func TestParseSet(t *testing.T) {
str: "name1=,name2=value2", str: "name1=,name2=value2",
expect: map[string]interface{}{"name1": "", "name2": "value2"}, expect: map[string]interface{}{"name1": "", "name2": "value2"},
}, },
{
str: "leading_zeros=00009",
expect: map[string]interface{}{"leading_zeros": "00009"},
},
{ {
str: "name1,name2=", str: "name1,name2=",
err: true, err: true,

Loading…
Cancel
Save