-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdecoder_test.go
49 lines (40 loc) · 1.12 KB
/
decoder_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
package systemd
import (
"bytes"
"io"
"testing"
"github.com/google/go-cmp/cmp"
)
func TestDecodeString(t *testing.T) {
d := newDecoder(bytes.NewReader(testString))
got, err := d.String()
if err != nil {
t.Error(err)
}
if diff := cmp.Diff(wantTestString, string(got)); diff != "" {
t.Errorf(diff)
}
}
var got []byte
func BenchmarkDecodeString(b *testing.B) {
d := newDecoder(nil)
body := bytes.NewReader(testString)
var err error
b.ResetTimer()
for i := 0; i < b.N; i++ {
body.Seek(0, io.SeekStart)
d.Reset(body)
if got, err = d.String(); err != nil {
b.Error(err)
}
body.Seek(0, io.SeekStart)
d.Reset(body)
if got, err = d.String(); err != nil {
b.Error(err)
}
}
}
var (
wantTestString = "dev-disk-by\\x2dpath-pci\\x2d0000:00:14.0\\x2dscsi\\x2d0:0:0:0.device"
testString = []byte{65, 0, 0, 0, 100, 101, 118, 45, 100, 105, 115, 107, 45, 98, 121, 92, 120, 50, 100, 112, 97, 116, 104, 45, 112, 99, 105, 92, 120, 50, 100, 48, 48, 48, 48, 58, 48, 48, 58, 49, 52, 46, 48, 92, 120, 50, 100, 115, 99, 115, 105, 92, 120, 50, 100, 48, 58, 48, 58, 48, 58, 48, 46, 100, 101, 118, 105, 99, 101, 0}
)