httpdir - files_test.go
1 package httpdir
2
3 import (
4 "testing"
5 "time"
6 )
7
8 func TestBytes(t *testing.T) {
9 mt := time.Now()
10 b := FileBytes([]byte("Hello, World!"), mt)
11
12 if !b.ModTime().Equal(mt) {
13 t.Errorf("expecting time %v, got %v", mt, b.ModTime())
14 }
15
16 if b.Mode() != ModeFile {
17 t.Errorf("expecting mode %v, got %v", ModeFile, b.Mode())
18 }
19
20 if b.Size() != 13 {
21 t.Errorf("expecting size 13, got %d", b.Size())
22 }
23
24 f, err := b.Open()
25
26 if err != nil {
27 t.Errorf("unexpected error: %v", err)
28 return
29 }
30 tr := make([]byte, 6)
31 n, err := f.Read(tr)
32 if err != nil {
33 t.Errorf("unexpected error: %v", err)
34 return
35 }
36 if n != 6 {
37 t.Errorf("expecting to read 6 bytes, read %d byte(s)", n)
38 }
39 if string(tr[:n]) != "Hello," {
40 t.Errorf("expecting to have read \"Hello,\", read %s", tr)
41 }
42
43 n, err = f.Read(tr)
44 if err != nil {
45 t.Errorf("unexpected error: %v", err)
46 return
47 }
48 if n != 6 {
49 t.Errorf("expecting to read 6 bytes, read %d byte(s)", n)
50 }
51 if string(tr[:n]) != " World" {
52 t.Errorf("expecting to have read \" World\", read %s", tr)
53 }
54
55 n, err = f.Read(tr)
56 if err != nil {
57 t.Errorf("unexpected error: %v", err)
58 return
59 }
60 if n != 1 {
61 t.Errorf("expecting to read 1 byte, read %d byte(s)", n)
62 }
63 if string(tr[:n]) != "!" {
64 t.Errorf("expecting to have read \"!\", read %s", tr)
65 }
66 }
67
68 func TestString(t *testing.T) {
69 mt := time.Now()
70 s := FileString("Hello, World!", mt)
71
72 if !s.ModTime().Equal(mt) {
73 t.Errorf("expecting time %v, got %v", mt, s.ModTime())
74 }
75
76 if s.Mode() != ModeFile {
77 t.Errorf("expecting mode %v, got %v", ModeFile, s.Mode())
78 }
79
80 if s.Size() != 13 {
81 t.Errorf("expecting size 13, got %d", s.Size())
82 }
83
84 f, err := s.Open()
85
86 if err != nil {
87 t.Errorf("unexpected error: %v", err)
88 return
89 }
90 tr := make([]byte, 6)
91 n, err := f.Read(tr)
92 if err != nil {
93 t.Errorf("unexpected error: %v", err)
94 return
95 }
96 if n != 6 {
97 t.Errorf("expecting to read 6 bytes, read %d byte(s)", n)
98 }
99 if string(tr[:n]) != "Hello," {
100 t.Errorf("expecting to have read \"Hello,\", read %s", tr)
101 }
102
103 n, err = f.Read(tr)
104 if err != nil {
105 t.Errorf("unexpected error: %v", err)
106 return
107 }
108 if n != 6 {
109 t.Errorf("expecting to read 6 bytes, read %d byte(s)", n)
110 }
111 if string(tr[:n]) != " World" {
112 t.Errorf("expecting to have read \" World\", read %s", tr)
113 }
114
115 n, err = f.Read(tr)
116 if err != nil {
117 t.Errorf("unexpected error: %v", err)
118 return
119 }
120 if n != 1 {
121 t.Errorf("expecting to read 1 byte, read %d byte(s)", n)
122 }
123 if string(tr[:n]) != "!" {
124 t.Errorf("expecting to have read \"!\", read %s", tr)
125 }
126 }
127