-
Notifications
You must be signed in to change notification settings - Fork 2
/
util_test.go
46 lines (38 loc) · 906 Bytes
/
util_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
package push
import (
"bytes"
"io"
"io/ioutil"
"sort"
"strings"
"testing"
"github.com/tdewolff/test"
)
func TestReader(t *testing.T) {
var r io.Reader
r = bytes.NewBufferString(`<img src="/res">`)
parser, err := NewParser("example.com/", nil, URIHandlerFunc(func(uri string) error {
test.String(t, uri, "/res")
return nil
}))
test.Error(t, err, nil)
r = Reader(r, parser, "text/html", "/request")
_, err = io.Copy(ioutil.Discard, r)
test.Error(t, err, nil)
}
func TestList(t *testing.T) {
r := bytes.NewBufferString(`
<html>
<head>
<link rel="stylesheet" href="/style.css">
</head>
<body>
<img src="/image.svg">
<iframe src="/frame.html"></iframe>
</body>
</html>`)
uris, err := List("example.com/", nil, r, "text/html", "/request")
test.Error(t, err, nil)
sort.Strings(uris)
test.String(t, strings.Join(uris, ","), "/frame.html,/image.svg,/style.css")
}