summaryrefslogtreecommitdiff
path: root/workhorse/internal/git/pktline_test.go
blob: d4be86345386502870e97c5222151164347b40e6 (plain)
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
33
34
35
36
37
38
39
package git

import (
	"bytes"
	"testing"
)

func TestSuccessfulScanDeepen(t *testing.T) {
	examples := []struct {
		input  string
		output bool
	}{
		{"000dsomething000cdeepen 10000", true},
		{"000dsomething0000000cdeepen 1", true},
		{"000dsomething0000", false},
	}

	for _, example := range examples {
		hasDeepen := scanDeepen(bytes.NewReader([]byte(example.input)))

		if hasDeepen != example.output {
			t.Fatalf("scanDeepen %q: expected %v, got %v", example.input, example.output, hasDeepen)
		}
	}
}

func TestFailedScanDeepen(t *testing.T) {
	examples := []string{
		"invalid data",
		"deepen",
		"000cdeepen",
	}

	for _, example := range examples {
		if scanDeepen(bytes.NewReader([]byte(example))) {
			t.Fatalf("scanDeepen %q: expected result to be false, got true", example)
		}
	}
}