Unverified Commit be6551c0 authored by Matthew Fisher's avatar Matthew Fisher Committed by GitHub

Merge pull request #6749 from icanhazbroccoli/icanhazbroccoli/revert-6010

Reverted changes introduced in #6010
parents f573de08 4cddc82c
...@@ -17,7 +17,6 @@ limitations under the License. ...@@ -17,7 +17,6 @@ limitations under the License.
package installer // import "k8s.io/helm/cmd/helm/installer" package installer // import "k8s.io/helm/cmd/helm/installer"
import ( import (
"encoding/json"
"os" "os"
"path/filepath" "path/filepath"
"reflect" "reflect"
...@@ -717,32 +716,9 @@ func TestDeployment_WithSetValues(t *testing.T) { ...@@ -717,32 +716,9 @@ func TestDeployment_WithSetValues(t *testing.T) {
// convert our expected value to match the result type for comparison // convert our expected value to match the result type for comparison
ev := tt.expect ev := tt.expect
intType := reflect.TypeOf(int64(0))
floatType := reflect.TypeOf(float64(0))
switch pvt := pv.(type) { switch pvt := pv.(type) {
case json.Number:
evv := reflect.ValueOf(ev)
evv = reflect.Indirect(evv)
switch ev.(type) {
case float32, float64:
evv = evv.Convert(floatType)
if fpv, err := pv.(json.Number).Float64(); err != nil {
t.Errorf("Failed to convert json number to float: %s", err)
} else if fpv != evv.Float() {
t.Errorf("%s: expected float value %q, got %f", tt.name, tt.expect, fpv)
}
case byte, int, int32, int64:
evv = evv.Convert(intType)
if ipv, err := pv.(json.Number).Int64(); err != nil {
t.Errorf("Failed to convert json number to int: %s", err)
} else if ipv != evv.Int() {
t.Errorf("%s: expected int value %q, got %d", tt.name, tt.expect, ipv)
}
default:
t.Errorf("Unknown primitive type: %s", reflect.TypeOf(ev))
}
case float64: case float64:
floatType := reflect.TypeOf(float64(0))
v := reflect.ValueOf(ev) v := reflect.ValueOf(ev)
v = reflect.Indirect(v) v = reflect.Indirect(v)
if !v.Type().ConvertibleTo(floatType) { if !v.Type().ConvertibleTo(floatType) {
......
...@@ -15,7 +15,6 @@ limitations under the License. ...@@ -15,7 +15,6 @@ limitations under the License.
package chartutil package chartutil
import ( import (
"encoding/json"
"os" "os"
"path/filepath" "path/filepath"
"sort" "sort"
...@@ -312,10 +311,6 @@ func verifyRequirementsImportValues(t *testing.T, c *chart.Chart, v *chart.Confi ...@@ -312,10 +311,6 @@ func verifyRequirementsImportValues(t *testing.T, c *chart.Chart, v *chart.Confi
} }
switch pv.(type) { switch pv.(type) {
case json.Number:
if s := pv.(json.Number).String(); s != vv {
t.Errorf("Failed to match imported number value %v with expected %v", s, vv)
}
case float64: case float64:
s := strconv.FormatFloat(pv.(float64), 'f', -1, 64) s := strconv.FormatFloat(pv.(float64), 'f', -1, 64)
if s != vv { if s != vv {
......
...@@ -10,4 +10,3 @@ water: ...@@ -10,4 +10,3 @@ water:
water: water:
where: "everywhere" where: "everywhere"
nor: "any drop to drink" nor: "any drop to drink"
temperature: 1234567890
...@@ -17,7 +17,6 @@ limitations under the License. ...@@ -17,7 +17,6 @@ limitations under the License.
package chartutil package chartutil
import ( import (
"encoding/json"
"errors" "errors"
"fmt" "fmt"
"io" "io"
...@@ -133,10 +132,7 @@ func tableLookup(v Values, simple string) (Values, error) { ...@@ -133,10 +132,7 @@ func tableLookup(v Values, simple string) (Values, error) {
// ReadValues will parse YAML byte data into a Values. // ReadValues will parse YAML byte data into a Values.
func ReadValues(data []byte) (vals Values, err error) { func ReadValues(data []byte) (vals Values, err error) {
err = yaml.Unmarshal(data, &vals, func(d *json.Decoder) *json.Decoder { err = yaml.Unmarshal(data, &vals)
d.UseNumber()
return d
})
if len(vals) == 0 { if len(vals) == 0 {
vals = Values{} vals = Values{}
} }
......
...@@ -53,7 +53,6 @@ water: ...@@ -53,7 +53,6 @@ water:
water: water:
where: "everywhere" where: "everywhere"
nor: "any drop to drink" nor: "any drop to drink"
temperature: 1234567890
` `
data, err := ReadValues([]byte(doc)) data, err := ReadValues([]byte(doc))
...@@ -267,12 +266,6 @@ func matchValues(t *testing.T, data map[string]interface{}) { ...@@ -267,12 +266,6 @@ func matchValues(t *testing.T, data map[string]interface{}) {
} else if o != "everywhere" { } else if o != "everywhere" {
t.Errorf("Expected water water everywhere") t.Errorf("Expected water water everywhere")
} }
if o, err := ttpl("{{.water.water.temperature}}", data); err != nil {
t.Errorf(".water.water.temperature: %s", err)
} else if o != "1234567890" {
t.Errorf("Expected water water temperature: 1234567890, got: %s", o)
}
} }
func ttpl(tpl string, v map[string]interface{}) (string, error) { func ttpl(tpl string, v map[string]interface{}) (string, error) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment