committed by
Thomas Pelletier
parent
31055c2ff0
commit
67b7b944a8
@@ -627,7 +627,17 @@ func TestToTomlValue(t *testing.T) {
|
|||||||
Value interface{}
|
Value interface{}
|
||||||
Expect string
|
Expect string
|
||||||
}{
|
}{
|
||||||
|
{int(1), "1"},
|
||||||
|
{int8(2), "2"},
|
||||||
|
{int16(3), "3"},
|
||||||
|
{int32(4), "4"},
|
||||||
{int64(12345), "12345"},
|
{int64(12345), "12345"},
|
||||||
|
{uint(10), "10"},
|
||||||
|
{uint8(20), "20"},
|
||||||
|
{uint16(30), "30"},
|
||||||
|
{uint32(40), "40"},
|
||||||
|
{uint64(50), "50"},
|
||||||
|
{float32(12.456), "12.456"},
|
||||||
{float64(123.45), "123.45"},
|
{float64(123.45), "123.45"},
|
||||||
{bool(true), "true"},
|
{bool(true), "true"},
|
||||||
{"hello world", "\"hello world\""},
|
{"hello world", "\"hello world\""},
|
||||||
|
|||||||
+21
-1
@@ -45,8 +45,28 @@ func encodeTomlString(value string) string {
|
|||||||
func toTomlValue(item interface{}, indent int) string {
|
func toTomlValue(item interface{}, indent int) string {
|
||||||
tab := strings.Repeat(" ", indent)
|
tab := strings.Repeat(" ", indent)
|
||||||
switch value := item.(type) {
|
switch value := item.(type) {
|
||||||
|
case int:
|
||||||
|
return tab + strconv.FormatInt(int64(value), 10)
|
||||||
|
case int8:
|
||||||
|
return tab + strconv.FormatInt(int64(value), 10)
|
||||||
|
case int16:
|
||||||
|
return tab + strconv.FormatInt(int64(value), 10)
|
||||||
|
case int32:
|
||||||
|
return tab + strconv.FormatInt(int64(value), 10)
|
||||||
case int64:
|
case int64:
|
||||||
return tab + strconv.FormatInt(value, 10)
|
return tab + strconv.FormatInt(value, 10)
|
||||||
|
case uint:
|
||||||
|
return tab + strconv.FormatUint(uint64(value), 10)
|
||||||
|
case uint8:
|
||||||
|
return tab + strconv.FormatUint(uint64(value), 10)
|
||||||
|
case uint16:
|
||||||
|
return tab + strconv.FormatUint(uint64(value), 10)
|
||||||
|
case uint32:
|
||||||
|
return tab + strconv.FormatUint(uint64(value), 10)
|
||||||
|
case uint64:
|
||||||
|
return tab + strconv.FormatUint(value, 10)
|
||||||
|
case float32:
|
||||||
|
return tab + strconv.FormatFloat(float64(value), 'f', -1, 32)
|
||||||
case float64:
|
case float64:
|
||||||
return tab + strconv.FormatFloat(value, 'f', -1, 64)
|
return tab + strconv.FormatFloat(value, 'f', -1, 64)
|
||||||
case string:
|
case string:
|
||||||
@@ -65,7 +85,7 @@ func toTomlValue(item interface{}, indent int) string {
|
|||||||
}
|
}
|
||||||
return result + tab + "]"
|
return result + tab + "]"
|
||||||
default:
|
default:
|
||||||
panic(fmt.Sprintf("unsupported value type: %v", value))
|
panic(fmt.Sprintf("unsupported value type %T: %v", value, value))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user