1- package proto
1+ package proto_test
22
33import (
4+ "context"
45 "encoding/json"
6+ "errors"
7+ "testing"
8+ "time"
59
10+ "github.com/go-redis/redis/v8"
11+ "github.com/go-redis/redis/v8/internal/proto"
612 . "github.com/onsi/ginkgo"
713 . "github.com/onsi/gomega"
814)
@@ -28,7 +34,7 @@ var _ = Describe("ScanSlice", func() {
2834
2935 It ("[]testScanSliceStruct" , func () {
3036 var slice []testScanSliceStruct
31- err := ScanSlice (data , & slice )
37+ err := proto . ScanSlice (data , & slice )
3238 Expect (err ).NotTo (HaveOccurred ())
3339 Expect (slice ).To (Equal ([]testScanSliceStruct {
3440 {- 1 , "Back Yu" },
@@ -38,11 +44,36 @@ var _ = Describe("ScanSlice", func() {
3844
3945 It ("var testContainer []*testScanSliceStruct" , func () {
4046 var slice []* testScanSliceStruct
41- err := ScanSlice (data , & slice )
47+ err := proto . ScanSlice (data , & slice )
4248 Expect (err ).NotTo (HaveOccurred ())
4349 Expect (slice ).To (Equal ([]* testScanSliceStruct {
4450 {- 1 , "Back Yu" },
4551 {1 , "szyhf" },
4652 }))
4753 })
4854})
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