fork of go-git with some jj specific features
at main 1.3 kB view raw
1package binary 2 3import ( 4 "bytes" 5 "encoding/binary" 6) 7 8func (s *BinarySuite) TestWrite() { 9 expected := bytes.NewBuffer(nil) 10 err := binary.Write(expected, binary.BigEndian, int64(42)) 11 s.NoError(err) 12 err = binary.Write(expected, binary.BigEndian, int32(42)) 13 s.NoError(err) 14 15 buf := bytes.NewBuffer(nil) 16 err = Write(buf, int64(42), int32(42)) 17 s.NoError(err) 18 s.Equal(expected, buf) 19} 20 21func (s *BinarySuite) TestWriteUint32() { 22 expected := bytes.NewBuffer(nil) 23 err := binary.Write(expected, binary.BigEndian, int32(42)) 24 s.NoError(err) 25 26 buf := bytes.NewBuffer(nil) 27 err = WriteUint32(buf, 42) 28 s.NoError(err) 29 s.Equal(expected, buf) 30} 31 32func (s *BinarySuite) TestWriteUint16() { 33 expected := bytes.NewBuffer(nil) 34 err := binary.Write(expected, binary.BigEndian, int16(42)) 35 s.NoError(err) 36 37 buf := bytes.NewBuffer(nil) 38 err = WriteUint16(buf, 42) 39 s.NoError(err) 40 s.Equal(expected, buf) 41} 42 43func (s *BinarySuite) TestWriteVariableWidthInt() { 44 buf := bytes.NewBuffer(nil) 45 46 err := WriteVariableWidthInt(buf, 366) 47 s.NoError(err) 48 s.Equal([]byte{129, 110}, buf.Bytes()) 49} 50 51func (s *BinarySuite) TestWriteVariableWidthIntShort() { 52 buf := bytes.NewBuffer(nil) 53 54 err := WriteVariableWidthInt(buf, 19) 55 s.NoError(err) 56 s.Equal([]byte{19}, buf.Bytes()) 57}