-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpacket_test.go
60 lines (51 loc) · 1015 Bytes
/
packet_test.go
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
54
55
56
57
58
59
60
package netshovel
import (
"strings"
"testing"
"github.com/dirtbags/netshovel/gapstring"
)
// BUG(neale): The DescribeHeader test is too simplistic.
func TestHeaders(t *testing.T) {
pkt := NewPacket()
pkt.Payload = gapstring.OfBytes([]byte{0, 1, 0, 1, 42, 0xff, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64})
a, err := pkt.Uint16LE("le")
if err != nil {
t.Error(err)
}
if a != 0x0100 {
t.Error("Uint16LE", a)
}
b, err := pkt.Uint16BE("be")
if err != nil {
t.Error(err)
}
if b != 0x0001 {
t.Error("Uint16BE", b)
}
fnord, err := pkt.Uint8("fnord")
if err != nil {
t.Error(err)
}
if fnord != 42 {
t.Error("Uint8", fnord)
}
biggun, err := pkt.Uint32BE("biggun")
if err != nil {
t.Error(err)
}
if biggun != 0xff000001 {
t.Error("biggun", biggun)
}
bignum, err := pkt.Uint64BE("bignum")
if err != nil {
t.Error(err)
}
if bignum != 64 {
t.Error("bignum", bignum)
}
desc := pkt.DescribeHeader()
lines := strings.Split(desc, "\n")
if len(lines) != 14 {
t.Error(desc)
}
}