File view with blame information shown in the left gutter beside each line.

barerepo / server / internal/pktline/pktline_test.go
48 lines · 1.1kb · 133728eaa05486504991b230f9d4c7e986b7defc
log files threads runs releases config jump to file t
133728e barerepo 1mo
1
package pktline
133728e barerepo 1mo
2
133728e barerepo 1mo
3
import (
133728e barerepo 1mo
4
"bytes"
133728e barerepo 1mo
5
"errors"
133728e barerepo 1mo
6
"strings"
133728e barerepo 1mo
7
"testing"
133728e barerepo 1mo
8
)
133728e barerepo 1mo
9
133728e barerepo 1mo
10
func TestRoundTrip(t *testing.T) {
133728e barerepo 1mo
11
var buf bytes.Buffer
133728e barerepo 1mo
12
w := NewWriter(&buf)
133728e barerepo 1mo
13
for _, s := range []string{"version=1", "ok refs/proposals/47", strings.Repeat("x", 1000)} {
133728e barerepo 1mo
14
if err := w.Write(s); err != nil {
133728e barerepo 1mo
15
t.Fatal(err)
133728e barerepo 1mo
16
}
133728e barerepo 1mo
17
}
133728e barerepo 1mo
18
if err := w.Flush(); err != nil {
133728e barerepo 1mo
19
t.Fatal(err)
133728e barerepo 1mo
20
}
133728e barerepo 1mo
21
r := NewReader(&buf)
133728e barerepo 1mo
22
for _, want := range []string{"version=1", "ok refs/proposals/47", strings.Repeat("x", 1000)} {
133728e barerepo 1mo
23
got, err := r.Read()
133728e barerepo 1mo
24
if err != nil || got != want {
133728e barerepo 1mo
25
t.Fatalf("Read = %q, %v; want %q", got, err, want)
133728e barerepo 1mo
26
}
133728e barerepo 1mo
27
}
133728e barerepo 1mo
28
if _, err := r.Read(); !errors.Is(err, ErrFlush) {
133728e barerepo 1mo
29
t.Errorf("expected a flush packet, got %v", err)
133728e barerepo 1mo
30
}
133728e barerepo 1mo
31
}
133728e barerepo 1mo
32
133728e barerepo 1mo
33
// The exact framing matters: git is on the other end of it.
133728e barerepo 1mo
34
func TestFraming(t *testing.T) {
133728e barerepo 1mo
35
var buf bytes.Buffer
133728e barerepo 1mo
36
NewWriter(&buf).Write("a")
133728e barerepo 1mo
37
if got := buf.String(); got != "0006a\n" {
133728e barerepo 1mo
38
t.Errorf("wrote %q, want %q", got, "0006a\n")
133728e barerepo 1mo
39
}
133728e barerepo 1mo
40
}
133728e barerepo 1mo
41
133728e barerepo 1mo
42
func TestReadRejectsGarbage(t *testing.T) {
133728e barerepo 1mo
43
for _, in := range []string{"", "zzzz", "0003", "0010short"} {
133728e barerepo 1mo
44
if _, err := NewReader(strings.NewReader(in)).Read(); err == nil {
133728e barerepo 1mo
45
t.Errorf("Read(%q) returned no error", in)
133728e barerepo 1mo
46
}
133728e barerepo 1mo
47
}
133728e barerepo 1mo
48
}
history · rawbarerepo 0.1.0