| package sideband |
| |
| import ( |
| "bytes" |
| |
| . "gopkg.in/check.v1" |
| ) |
| |
| func (s *SidebandSuite) TestMuxerWrite(c *C) { |
| buf := bytes.NewBuffer(nil) |
| |
| m := NewMuxer(Sideband, buf) |
| |
| n, err := m.Write(bytes.Repeat([]byte{'F'}, (MaxPackedSize-1)*2)) |
| c.Assert(err, IsNil) |
| c.Assert(n, Equals, 1998) |
| c.Assert(buf.Len(), Equals, 2008) |
| } |
| |
| func (s *SidebandSuite) TestMuxerWriteChannelMultipleChannels(c *C) { |
| buf := bytes.NewBuffer(nil) |
| |
| m := NewMuxer(Sideband, buf) |
| |
| n, err := m.WriteChannel(PackData, bytes.Repeat([]byte{'D'}, 4)) |
| c.Assert(err, IsNil) |
| c.Assert(n, Equals, 4) |
| |
| n, err = m.WriteChannel(ProgressMessage, bytes.Repeat([]byte{'P'}, 4)) |
| c.Assert(err, IsNil) |
| c.Assert(n, Equals, 4) |
| |
| n, err = m.WriteChannel(PackData, bytes.Repeat([]byte{'D'}, 4)) |
| c.Assert(err, IsNil) |
| c.Assert(n, Equals, 4) |
| |
| c.Assert(buf.Len(), Equals, 27) |
| c.Assert(buf.String(), Equals, "0009\x01DDDD0009\x02PPPP0009\x01DDDD") |
| } |