Reading-writing of stanzas.

This commit is contained in:
Andrey Smirnov
2013-12-24 00:59:11 +04:00
parent d8a84adaa0
commit 2e44d23e4d
2 changed files with 67 additions and 1 deletions
+20
View File
@@ -1,6 +1,7 @@
package debian
import (
"bufio"
"bytes"
. "launchpad.net/gocheck"
)
@@ -97,6 +98,25 @@ func (s *ControlFileSuite) TestReadStanza(c *C) {
c.Check(len(stanza2), Equals, 20)
}
func (s *ControlFileSuite) TestReadWriteStanza(c *C) {
r := NewControlFileReader(s.reader)
stanza, err := r.ReadStanza()
c.Assert(err, IsNil)
buf := &bytes.Buffer{}
w := bufio.NewWriter(buf)
err = stanza.Copy().WriteTo(w)
c.Assert(err, IsNil)
err = w.Flush()
c.Assert(err, IsNil)
r = NewControlFileReader(bytes.NewBuffer(buf.Bytes()))
stanza2, err := r.ReadStanza()
c.Assert(err, IsNil)
c.Assert(stanza2, DeepEquals, stanza)
}
func (s *ControlFileSuite) BenchmarkReadStanza(c *C) {
for i := 0; i < c.N; i++ {
reader := bytes.NewBufferString(controlFile)