1
- package proto
1
+ package proto_test
2
2
3
3
import (
4
+ "context"
4
5
"encoding/json"
6
+ "errors"
7
+ "testing"
8
+ "time"
5
9
10
+ "github.com/go-redis/redis/v8"
11
+ "github.com/go-redis/redis/v8/internal/proto"
6
12
. "github.com/onsi/ginkgo"
7
13
. "github.com/onsi/gomega"
8
14
)
@@ -28,7 +34,7 @@ var _ = Describe("ScanSlice", func() {
28
34
29
35
It ("[]testScanSliceStruct" , func () {
30
36
var slice []testScanSliceStruct
31
- err := ScanSlice (data , & slice )
37
+ err := proto . ScanSlice (data , & slice )
32
38
Expect (err ).NotTo (HaveOccurred ())
33
39
Expect (slice ).To (Equal ([]testScanSliceStruct {
34
40
{- 1 , "Back Yu" },
@@ -38,11 +44,36 @@ var _ = Describe("ScanSlice", func() {
38
44
39
45
It ("var testContainer []*testScanSliceStruct" , func () {
40
46
var slice []* testScanSliceStruct
41
- err := ScanSlice (data , & slice )
47
+ err := proto . ScanSlice (data , & slice )
42
48
Expect (err ).NotTo (HaveOccurred ())
43
49
Expect (slice ).To (Equal ([]* testScanSliceStruct {
44
50
{- 1 , "Back Yu" },
45
51
{1 , "szyhf" },
46
52
}))
47
53
})
48
54
})
55
+
56
+ func TestScan (t * testing.T ) {
57
+ t .Parallel ()
58
+
59
+ t .Run ("time" , func (t * testing.T ) {
60
+ t .Parallel ()
61
+
62
+ ctx := context .Background ()
63
+
64
+ rdb := redis .NewClient (& redis.Options {
65
+ Addr : ":6379" ,
66
+ })
67
+
68
+ tm := time .Now ()
69
+ rdb .Set (ctx , "now" , tm , 0 )
70
+
71
+ var tm2 time.Time
72
+ rdb .Get (ctx , "now" ).Scan (& tm2 )
73
+
74
+ if ! tm2 .Equal (tm ) {
75
+ t .Fatal (errors .New ("tm2 and tm are not equal" ))
76
+ }
77
+ })
78
+
79
+ }
0 commit comments