-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathtrelay_test.go
More file actions
53 lines (42 loc) · 1.17 KB
/
Copy pathtrelay_test.go
File metadata and controls
53 lines (42 loc) · 1.17 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
package trelay_test
import (
"bytes"
"testing"
"github.com/btvoidx/trelay"
)
func compbytes(t *testing.T, b1, b2 []byte) {
if len(b1) != len(b2) {
t.Fatalf("length mismatch (len(b1) == %d; len(b2) == %d)", len(b1), len(b2))
}
for i := range b1 {
if b1[i] != b2[i] {
t.Fatalf("value mismatch (b1[%d] == %x; b2[%d] == %x)", i, b1[i], i, b2[i])
}
}
}
func TestFscanSimple(t *testing.T) {
// 15 0 1 "Terraria123"
data := []byte{0xf, 0x0, 0x1, 0xb, 0x54, 0x65, 0x72, 0x72, 0x61, 0x72, 0x69, 0x61, 0x31, 0x32, 0x33}
var ln uint16
var id byte
var ver string
_, err := trelay.Fscan(bytes.NewReader(data), &ln, &id, &ver)
if err != nil {
t.Fatalf("err: %v", err)
}
switch {
case ln != 15:
t.Fatalf("bad read: ln == %d; expected %d", ln, 15)
case id != 1:
t.Fatalf("bad read: id == %d; expected %d", id, 1)
case ver != "Terraria123":
t.Fatalf("bad read: ver == %q; expected %q", ver, "Terraria123")
}
}
func TestFprintBuilder(t *testing.T) {
p := &trelay.Packet{ID: 1}
trelay.Fprint(p, "Terraria123")
// 15 0 1 "Terraria123"
data := []byte{0xf, 0x0, 0x1, 0xb, 0x54, 0x65, 0x72, 0x72, 0x61, 0x72, 0x69, 0x61, 0x31, 0x32, 0x33}
compbytes(t, data, p.Bytes())
}