Kaynağa Gözat

Change default indentation to 4 spaces.

Gustavo Niemeyer 7 yıl önce
ebeveyn
işleme
3c39489ee0
3 değiştirilmiş dosya ile 18 ekleme ve 9 silme
  1. 3 0
      encode.go
  2. 7 7
      encode_test.go
  3. 8 2
      node_test.go

+ 3 - 0
encode.go

@@ -42,6 +42,9 @@ func (e *encoder) init() {
 	if e.doneInit {
 		return
 	}
+	if e.indent == 0 {
+		e.indent = 4
+	}
 	e.emitter.best_indent = e.indent
 	yaml_stream_start_event_initialize(&e.event, yaml_UTF8_ENCODING)
 	e.emit()

+ 7 - 7
encode_test.go

@@ -101,13 +101,13 @@ var marshalTests = []struct {
 		"v:\n- A\n- B\n",
 	}, {
 		map[string][]string{"v": []string{"A", "B\nC"}},
-		"v:\n- A\n- |-\n  B\n  C\n",
+		"v:\n- A\n- |-\n    B\n    C\n",
 	}, {
 		map[string][]interface{}{"v": []interface{}{"A", 1, map[string][]int{"B": []int{2, 3}}}},
-		"v:\n- A\n- 1\n- B:\n  - 2\n  - 3\n",
+		"v:\n- A\n- 1\n-   B:\n    - 2\n    - 3\n",
 	}, {
 		map[string]interface{}{"a": map[interface{}]interface{}{"b": "c"}},
-		"a:\n  b: c\n",
+		"a:\n    b: c\n",
 	}, {
 		map[string]interface{}{"a": "-"},
 		"a: '-'\n",
@@ -129,14 +129,14 @@ var marshalTests = []struct {
 				B string
 			}
 		}{struct{ B string }{"c"}},
-		"a:\n  b: c\n",
+		"a:\n    b: c\n",
 	}, {
 		&struct {
 			A *struct {
 				B string
 			}
 		}{&struct{ B string }{"c"}},
-		"a:\n  b: c\n",
+		"a:\n    b: c\n",
 	}, {
 		&struct {
 			A *struct {
@@ -312,7 +312,7 @@ var marshalTests = []struct {
 		"a: !!binary gIGC\n",
 	}, {
 		map[string]string{"a": strings.Repeat("\x90", 54)},
-		"a: !!binary |\n  " + strings.Repeat("kJCQ", 17) + "kJ\n  CQ\n",
+		"a: !!binary |\n    " + strings.Repeat("kJCQ", 17) + "kJ\n    CQ\n",
 	},
 
 	// Encode unicode as utf-8 rather than in escaped form.
@@ -460,7 +460,7 @@ var marshalerTests = []struct {
 	data  string
 	value interface{}
 }{
-	{"_:\n  hi: there\n", map[interface{}]interface{}{"hi": "there"}},
+	{"_:\n    hi: there\n", map[interface{}]interface{}{"hi": "there"}},
 	{"_:\n- 1\n- A\n", []interface{}{1, "A"}},
 	{"_: 10\n", 10},
 	{"_: null\n", nil},

+ 8 - 2
node_test.go

@@ -1,6 +1,7 @@
 package yaml_test
 
 import (
+	"bytes"
 	"os"
 
 	. "gopkg.in/check.v1"
@@ -844,9 +845,14 @@ func (s *S) TestNodeRoundtrip(c *C) {
 		err := yaml.Unmarshal([]byte(item.yaml), &node)
 		c.Assert(err, IsNil)
 		c.Assert(node, DeepEquals, item.node)
-		data, err := yaml.Marshal(&node)
+		buf := bytes.Buffer{}
+		enc := yaml.NewEncoder(&buf)
+		enc.SetIndent(2)
+		err = enc.Encode(&node)
 		c.Assert(err, IsNil)
-		c.Assert(string(data), Equals, item.yaml)
+		err = enc.Close()
+		c.Assert(err, IsNil)
+		c.Assert(buf.String(), Equals, item.yaml)
 		if len(node.Children) > 0 {
 			c.Assert(node.Children[0].ShortTag(), Equals, item.tag)
 		}