summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/pelletier/go-toml/parser_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/pelletier/go-toml/parser_test.go')
-rw-r--r--vendor/github.com/pelletier/go-toml/parser_test.go57
1 files changed, 55 insertions, 2 deletions
diff --git a/vendor/github.com/pelletier/go-toml/parser_test.go b/vendor/github.com/pelletier/go-toml/parser_test.go
index 029bc52c3..6c8eec6a3 100644
--- a/vendor/github.com/pelletier/go-toml/parser_test.go
+++ b/vendor/github.com/pelletier/go-toml/parser_test.go
@@ -82,6 +82,59 @@ func TestSimpleNumbers(t *testing.T) {
})
}
+func TestHexIntegers(t *testing.T) {
+ tree, err := Load(`a = 0xDEADBEEF`)
+ assertTree(t, tree, err, map[string]interface{}{"a": int64(3735928559)})
+
+ tree, err = Load(`a = 0xdeadbeef`)
+ assertTree(t, tree, err, map[string]interface{}{"a": int64(3735928559)})
+
+ tree, err = Load(`a = 0xdead_beef`)
+ assertTree(t, tree, err, map[string]interface{}{"a": int64(3735928559)})
+
+ _, err = Load(`a = 0x_1`)
+ if err.Error() != "(1, 5): invalid use of _ in hex number" {
+ t.Error("Bad error message:", err.Error())
+ }
+}
+
+func TestOctIntegers(t *testing.T) {
+ tree, err := Load(`a = 0o01234567`)
+ assertTree(t, tree, err, map[string]interface{}{"a": int64(342391)})
+
+ tree, err = Load(`a = 0o755`)
+ assertTree(t, tree, err, map[string]interface{}{"a": int64(493)})
+
+ _, err = Load(`a = 0o_1`)
+ if err.Error() != "(1, 5): invalid use of _ in number" {
+ t.Error("Bad error message:", err.Error())
+ }
+}
+
+func TestBinIntegers(t *testing.T) {
+ tree, err := Load(`a = 0b11010110`)
+ assertTree(t, tree, err, map[string]interface{}{"a": int64(214)})
+
+ _, err = Load(`a = 0b_1`)
+ if err.Error() != "(1, 5): invalid use of _ in number" {
+ t.Error("Bad error message:", err.Error())
+ }
+}
+
+func TestBadIntegerBase(t *testing.T) {
+ _, err := Load(`a = 0k1`)
+ if err.Error() != "(1, 5): unknown number base: k. possible options are x (hex) o (octal) b (binary)" {
+ t.Error("Error should have been returned.")
+ }
+}
+
+func TestIntegerNoDigit(t *testing.T) {
+ _, err := Load(`a = 0b`)
+ if err.Error() != "(1, 5): number needs at least one digit" {
+ t.Error("Bad error message:", err.Error())
+ }
+}
+
func TestNumbersWithUnderscores(t *testing.T) {
tree, err := Load("a = 1_000")
assertTree(t, tree, err, map[string]interface{}{
@@ -642,7 +695,7 @@ func TestTomlValueStringRepresentation(t *testing.T) {
{int64(12345), "12345"},
{uint64(50), "50"},
{float64(123.45), "123.45"},
- {bool(true), "true"},
+ {true, "true"},
{"hello world", "\"hello world\""},
{"\b\t\n\f\r\"\\", "\"\\b\\t\\n\\f\\r\\\"\\\\\""},
{"\x05", "\"\\u0005\""},
@@ -652,7 +705,7 @@ func TestTomlValueStringRepresentation(t *testing.T) {
"[\"gamma\",\"delta\"]"},
{nil, ""},
} {
- result, err := tomlValueStringRepresentation(item.Value)
+ result, err := tomlValueStringRepresentation(item.Value, "", false)
if err != nil {
t.Errorf("Test %d - unexpected error: %s", idx, err)
}