]> Sergey Matveev's repositories - btrtrc.git/blob - util/copy_test.go
Clean up magnet URI parsing errors in dirwatch
[btrtrc.git] / util / copy_test.go
1 package util
2
3 import (
4         "bytes"
5         "testing"
6 )
7
8 func TestCopyToArray(t *testing.T) {
9         var arr [3]byte
10         bb := []byte{1, 2, 3}
11         CopyExact(&arr, bb)
12         if !bytes.Equal(arr[:], bb) {
13                 t.FailNow()
14         }
15 }
16
17 func TestCopyToSlicedArray(t *testing.T) {
18         var arr [5]byte
19         CopyExact(arr[:], "hello")
20         if !bytes.Equal(arr[:], []byte("hello")) {
21                 t.FailNow()
22         }
23 }
24
25 func TestCopyDestNotAddr(t *testing.T) {
26         defer func() {
27                 r := recover()
28                 if r == nil {
29                         t.FailNow()
30                 }
31                 t.Log(r)
32         }()
33         var arr [3]byte
34         CopyExact(arr, "nope")
35 }
36
37 func TestCopyLenMismatch(t *testing.T) {
38         defer func() {
39                 r := recover()
40                 if r == nil {
41                         t.FailNow()
42                 }
43                 t.Log(r)
44         }()
45         CopyExact(make([]byte, 2), "abc")
46 }