More tests, after Dave's suggestions.
diff --git a/encode_test.go b/encode_test.go
index 79365fc..c077343 100644
--- a/encode_test.go
+++ b/encode_test.go
@@ -5,6 +5,7 @@
. "launchpad.net/gocheck"
"launchpad.net/goyaml"
"math"
+ "strconv"
"strings"
)
@@ -175,13 +176,22 @@
func (s *S) TestSortedOutput(c *C) {
order := []interface{}{
+ false,
+ true,
1,
+ uint(1),
1.0,
1.1,
1.2,
2,
+ uint(2),
2.0,
2.1,
+ ".1",
+ ".2",
+ ".a",
+ "1",
+ "2",
"a!10",
"a/2",
"a/10",
@@ -212,6 +222,11 @@
last := 0
for i, k := range order {
repr := fmt.Sprint(k)
+ if _, ok := k.(string); ok {
+ if _, err = strconv.ParseFloat(repr, 32); err == nil {
+ repr = `"` + repr + `"`
+ }
+ }
index := strings.Index(out, "\n"+repr+":")
if index == -1 {
c.Fatalf("%#v is not in the output: %#v", k, out)