1package sideband 2 3import ( 4 "bytes" 5 6 . "gopkg.in/check.v1" 7) 8 9func (s *SidebandSuite) TestMuxerWrite(c *C) { 10 buf := bytes.NewBuffer(nil) 11 12 m := NewMuxer(Sideband, buf) 13 14 n, err := m.Write(bytes.Repeat([]byte{'F'}, (MaxPackedSize-1)*2)) 15 c.Assert(err, IsNil) 16 c.Assert(n, Equals, 1998) 17 c.Assert(buf.Len(), Equals, 2008) 18} 19 20func (s *SidebandSuite) TestMuxerWriteChannelMultipleChannels(c *C) { 21 buf := bytes.NewBuffer(nil) 22 23 m := NewMuxer(Sideband, buf) 24 25 n, err := m.WriteChannel(PackData, bytes.Repeat([]byte{'D'}, 4)) 26 c.Assert(err, IsNil) 27 c.Assert(n, Equals, 4) 28 29 n, err = m.WriteChannel(ProgressMessage, bytes.Repeat([]byte{'P'}, 4)) 30 c.Assert(err, IsNil) 31 c.Assert(n, Equals, 4) 32 33 n, err = m.WriteChannel(PackData, bytes.Repeat([]byte{'D'}, 4)) 34 c.Assert(err, IsNil) 35 c.Assert(n, Equals, 4) 36 37 c.Assert(buf.Len(), Equals, 27) 38 c.Assert(buf.String(), Equals, "0009\x01DDDD0009\x02PPPP0009\x01DDDD") 39} 40