Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
987 B
41 lines
987 B
// Copyright 2021 The Gitea Authors. All rights reserved. |
|
// Use of this source code is governed by a MIT-style |
|
// license that can be found in the LICENSE file. |
|
|
|
package cmd |
|
|
|
import ( |
|
"bufio" |
|
"bytes" |
|
"strings" |
|
"testing" |
|
|
|
"github.com/stretchr/testify/assert" |
|
) |
|
|
|
func TestPktLine(t *testing.T) { |
|
// test read |
|
s := strings.NewReader("0000") |
|
r := bufio.NewReader(s) |
|
result, err := readPktLine(r, pktLineTypeFlush) |
|
assert.NoError(t, err) |
|
assert.Equal(t, pktLineTypeFlush, result.Type) |
|
|
|
s = strings.NewReader("0006a\n") |
|
r = bufio.NewReader(s) |
|
result, err = readPktLine(r, pktLineTypeData) |
|
assert.NoError(t, err) |
|
assert.Equal(t, pktLineTypeData, result.Type) |
|
assert.Equal(t, []byte("a\n"), result.Data) |
|
|
|
// test write |
|
w := bytes.NewBuffer([]byte{}) |
|
err = writeFlushPktLine(w) |
|
assert.NoError(t, err) |
|
assert.Equal(t, []byte("0000"), w.Bytes()) |
|
|
|
w.Reset() |
|
err = writeDataPktLine(w, []byte("a\nb")) |
|
assert.NoError(t, err) |
|
assert.Equal(t, []byte("0007a\nb"), w.Bytes()) |
|
}
|
|
|