Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2021 The Gitea Authors. All rights reserved.
  2. // Use of this source code is governed by a MIT-style
  3. // license that can be found in the LICENSE file.
  4. package cmd
  5. import (
  6. "bufio"
  7. "bytes"
  8. "strings"
  9. "testing"
  10. "github.com/stretchr/testify/assert"
  11. )
  12. func TestPktLine(t *testing.T) {
  13. // test read
  14. s := strings.NewReader("0000")
  15. r := bufio.NewReader(s)
  16. result, err := readPktLine(r, pktLineTypeFlush)
  17. assert.NoError(t, err)
  18. assert.Equal(t, pktLineTypeFlush, result.Type)
  19. s = strings.NewReader("0006a\n")
  20. r = bufio.NewReader(s)
  21. result, err = readPktLine(r, pktLineTypeData)
  22. assert.NoError(t, err)
  23. assert.Equal(t, pktLineTypeData, result.Type)
  24. assert.Equal(t, []byte("a\n"), result.Data)
  25. // test write
  26. w := bytes.NewBuffer([]byte{})
  27. err = writeFlushPktLine(w)
  28. assert.NoError(t, err)
  29. assert.Equal(t, []byte("0000"), w.Bytes())
  30. w.Reset()
  31. err = writeDataPktLine(w, []byte("a\nb"))
  32. assert.NoError(t, err)
  33. assert.Equal(t, []byte("0007a\nb"), w.Bytes())
  34. }