forked from mirror/viper
Fix overflow error on 32 bit architectures (#340)
* Handle int64 separately for 32 bit architectures * Remove tests which result in an overflow error on 32 bit architectures
This commit is contained in:
parent
8addaed22d
commit
0ac2068de9
4
viper.go
4
viper.go
|
@ -648,8 +648,10 @@ func (v *Viper) Get(key string) interface{} {
|
||||||
return cast.ToBool(val)
|
return cast.ToBool(val)
|
||||||
case string:
|
case string:
|
||||||
return cast.ToString(val)
|
return cast.ToString(val)
|
||||||
case int64, int32, int16, int8, int:
|
case int32, int16, int8, int:
|
||||||
return cast.ToInt(val)
|
return cast.ToInt(val)
|
||||||
|
case int64:
|
||||||
|
return cast.ToInt64(val)
|
||||||
case float64, float32:
|
case float64, float32:
|
||||||
return cast.ToFloat64(val)
|
return cast.ToFloat64(val)
|
||||||
case time.Time:
|
case time.Time:
|
||||||
|
|
|
@ -1102,10 +1102,6 @@ func TestMergeConfig(t *testing.T) {
|
||||||
t.Fatalf("pop != 37890, = %d", pop)
|
t.Fatalf("pop != 37890, = %d", pop)
|
||||||
}
|
}
|
||||||
|
|
||||||
if pop := v.GetInt("hello.lagrenum"); pop != 765432101234567 {
|
|
||||||
t.Fatalf("lagrenum != 765432101234567, = %d", pop)
|
|
||||||
}
|
|
||||||
|
|
||||||
if pop := v.GetInt32("hello.pop"); pop != int32(37890) {
|
if pop := v.GetInt32("hello.pop"); pop != int32(37890) {
|
||||||
t.Fatalf("pop != 37890, = %d", pop)
|
t.Fatalf("pop != 37890, = %d", pop)
|
||||||
}
|
}
|
||||||
|
@ -1130,10 +1126,6 @@ func TestMergeConfig(t *testing.T) {
|
||||||
t.Fatalf("pop != 45000, = %d", pop)
|
t.Fatalf("pop != 45000, = %d", pop)
|
||||||
}
|
}
|
||||||
|
|
||||||
if pop := v.GetInt("hello.lagrenum"); pop != 7654321001234567 {
|
|
||||||
t.Fatalf("lagrenum != 7654321001234567, = %d", pop)
|
|
||||||
}
|
|
||||||
|
|
||||||
if pop := v.GetInt32("hello.pop"); pop != int32(45000) {
|
if pop := v.GetInt32("hello.pop"); pop != int32(45000) {
|
||||||
t.Fatalf("pop != 45000, = %d", pop)
|
t.Fatalf("pop != 45000, = %d", pop)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue