aboutsummaryrefslogtreecommitdiff
path: root/format/sideband64k/decoder_partial_read_test.go
blob: d5b2f6728abe29f79ab091db4e94b93dfbfad023 (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package sideband64k_test

import (
	"testing"

	"codeberg.org/lindenii/furgit/format/sideband64k"
)

func TestDecoderHandlesPartialReads(t *testing.T) {
	t.Parallel()

	r := &byteReader{data: []byte("0007\x02ok0000")}
	dec := sideband64k.NewDecoder(r, sideband64k.ReadOptions{})

	f, err := dec.ReadFrame()
	if err != nil {
		t.Fatalf("ReadFrame #1: %v", err)
	}

	if f.Type != sideband64k.FrameProgress || string(f.Payload) != "ok" {
		t.Fatalf("frame #1 = %#v", f)
	}

	f, err = dec.ReadFrame()
	if err != nil {
		t.Fatalf("ReadFrame #2: %v", err)
	}

	if f.Type != sideband64k.FrameFlush {
		t.Fatalf("frame #2 = %#v", f)
	}
}