-
Notifications
You must be signed in to change notification settings - Fork 0
/
test0_test.go
66 lines (51 loc) · 2.53 KB
/
test0_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
61
62
63
64
65
66
package binarycookies
import (
"bytes"
"testing"
)
func checkCookiePage(t *testing.T, data []byte, index int, expected Page) {
cook := New(bytes.NewReader(data))
if _, err := cook.Decode(); err != nil {
t.Fatal(err)
}
if len(cook.pages) < index {
t.Fatalf("page at index #%d is missing", index)
}
if cook.pages[index].Length != expected.Length {
t.Fatalf("incorrect number of cookies at pages[%d]\n- %d\n+ %d", index, expected.Length, cook.pages[index].Length)
}
if len(cook.pages[index].Offsets) != len(expected.Offsets) {
t.Fatalf("incorrect number of cookie offsets at pages[%d]\n- %#v\n+ %#v", index, expected.Offsets, cook.pages[index].Offsets)
}
for idx, offset := range expected.Offsets {
if cook.pages[index].Offsets[idx] != offset {
t.Fatalf("incorrect cookie offset at pages[%d]\n- %#v\n+ %#v\n! check index #%d", index, expected.Offsets, cook.pages[index].Offsets, idx)
}
}
for idx, cookie := range expected.Cookies {
if cook.pages[index].Cookies[idx].Size != cookie.Size {
t.Fatalf("incorrect cookie size at pages[%d].Cookies[%d]\n- %#v\n+ %#v", index, idx, cookie, cook.pages[index].Cookies[idx])
}
if cook.pages[index].Cookies[idx].Secure != cookie.Secure {
t.Fatalf("incorrect cookie secure at pages[%d].Cookies[%d]\n- %#v\n+ %#v", index, idx, cookie, cook.pages[index].Cookies[idx])
}
if cook.pages[index].Cookies[idx].HttpOnly != cookie.HttpOnly {
t.Fatalf("incorrect cookie httpOnly at pages[%d].Cookies[%d]\n- %#v\n+ %#v", index, idx, cookie, cook.pages[index].Cookies[idx])
}
if !bytes.Equal(cook.pages[index].Cookies[idx].Comment, cookie.Comment) {
t.Fatalf("incorrect cookie comment at pages[%d].Cookies[%d]\n- %#v\n+ %#v", index, idx, cookie, cook.pages[index].Cookies[idx])
}
if !bytes.Equal(cook.pages[index].Cookies[idx].Domain, cookie.Domain) {
t.Fatalf("incorrect cookie domain at pages[%d].Cookies[%d]\n- %#v\n+ %#v", index, idx, cookie, cook.pages[index].Cookies[idx])
}
if !bytes.Equal(cook.pages[index].Cookies[idx].Name, cookie.Name) {
t.Fatalf("incorrect cookie name at pages[%d].Cookies[%d]\n- %#v\n+ %#v", index, idx, cookie, cook.pages[index].Cookies[idx])
}
if !bytes.Equal(cook.pages[index].Cookies[idx].Path, cookie.Path) {
t.Fatalf("incorrect cookie path at pages[%d].Cookies[%d]\n- %#v\n+ %#v", index, idx, cookie, cook.pages[index].Cookies[idx])
}
if !bytes.Equal(cook.pages[index].Cookies[idx].Value, cookie.Value) {
t.Fatalf("incorrect cookie value at pages[%d].Cookies[%d]\n- %#v\n+ %#v", index, idx, cookie, cook.pages[index].Cookies[idx])
}
}
}