@@ -19,42 +19,42 @@ type data struct {
1919 Bool bool `redis:"bool"`
2020}
2121
22+ type i []interface {}
23+
2224func TestGinkgoSuite (t * testing.T ) {
2325 RegisterFailHandler (Fail )
2426 RunSpecs (t , "hscan" )
2527}
2628
2729var _ = Describe ("Scan" , func () {
2830 It ("catches bad args" , func () {
29- var d data
31+ var (
32+ d data
33+ )
3034
31- Expect (Scan ([] interface {} {}, & d )).NotTo (HaveOccurred ())
35+ Expect (Scan (i {}, i {}, & d )).NotTo (HaveOccurred ())
3236 Expect (d ).To (Equal (data {}))
3337
34- Expect (Scan ([] interface {}{ "key" }, & d )).To (HaveOccurred ())
35- Expect (Scan ([] interface {}{ "key" , "1" , "2" }, & d )).To (HaveOccurred ())
36- Expect (Scan ([] interface {}{ "key" , "1" }, nil )).To (HaveOccurred ())
38+ Expect (Scan (i { "key" }, i { }, & d )).To (HaveOccurred ())
39+ Expect (Scan (i { "key" }, i { "1" , "2" }, & d )).To (HaveOccurred ())
40+ Expect (Scan (i { "key" , "1" }, i { }, nil )).To (HaveOccurred ())
3741
38- var i map [string ]interface {}
39- Expect (Scan ([] interface {}{ "key" , "1" }, & i )).To (HaveOccurred ())
40- Expect (Scan ([] interface {}{ "key" , "1" }, data {})).To (HaveOccurred ())
41- Expect (Scan ([] interface {}{ "key" , nil , "string" , nil }, data {})).To (HaveOccurred ())
42+ var m map [string ]interface {}
43+ Expect (Scan (i { "key" }, i { "1" }, & m )).To (HaveOccurred ())
44+ Expect (Scan (i { "key" }, i { "1" }, data {})).To (HaveOccurred ())
45+ Expect (Scan (i { "key" , "string" }, i { nil , nil }, data {})).To (HaveOccurred ())
4246 })
4347
4448 It ("scans good values" , func () {
4549 var d data
4650
4751 // non-tagged fields.
48- Expect (Scan ([] interface {}{ "key" , "value" }, & d )).NotTo (HaveOccurred ())
52+ Expect (Scan (i { "key" }, i { "value" }, & d )).NotTo (HaveOccurred ())
4953 Expect (d ).To (Equal (data {}))
5054
51- res := []interface {}{"string" , "str!" ,
52- "byte" , "bytes!" ,
53- "int" , "123" ,
54- "uint" , "456" ,
55- "float" , "123.456" ,
56- "bool" , "1" }
57- Expect (Scan (res , & d )).NotTo (HaveOccurred ())
55+ keys := i {"string" , "byte" , "int" , "uint" , "float" , "bool" }
56+ vals := i {"str!" , "bytes!" , "123" , "456" , "123.456" , "1" }
57+ Expect (Scan (keys , vals , & d )).NotTo (HaveOccurred ())
5858 Expect (d ).To (Equal (data {
5959 String : "str!" ,
6060 Bytes : []byte ("bytes!" ),
@@ -75,7 +75,7 @@ var _ = Describe("Scan", func() {
7575 Bool bool `redis:"bool"`
7676 }
7777 var d2 data2
78- Expect (Scan (res , & d2 )).NotTo (HaveOccurred ())
78+ Expect (Scan (keys , vals , & d2 )).NotTo (HaveOccurred ())
7979 Expect (d2 ).To (Equal (data2 {
8080 String : "str!" ,
8181 Bytes : []byte ("bytes!" ),
@@ -85,10 +85,7 @@ var _ = Describe("Scan", func() {
8585 Bool : true ,
8686 }))
8787
88- Expect (Scan ([]interface {}{
89- "string" , "" ,
90- "float" , "1" ,
91- "bool" , "t" }, & d )).NotTo (HaveOccurred ())
88+ Expect (Scan (i {"string" , "float" , "bool" }, i {"" , "1" , "t" }, & d )).NotTo (HaveOccurred ())
9289 Expect (d ).To (Equal (data {
9390 String : "" ,
9491 Bytes : []byte ("bytes!" ),
@@ -102,10 +99,7 @@ var _ = Describe("Scan", func() {
10299 It ("omits untagged fields" , func () {
103100 var d data
104101
105- Expect (Scan ([]interface {}{
106- "empty" , "value" ,
107- "omit" , "value" ,
108- "string" , "str!" }, & d )).NotTo (HaveOccurred ())
102+ Expect (Scan (i {"empty" , "omit" , "string" }, i {"value" , "value" , "str!" }, & d )).NotTo (HaveOccurred ())
109103 Expect (d ).To (Equal (data {
110104 String : "str!" ,
111105 }))
@@ -114,12 +108,12 @@ var _ = Describe("Scan", func() {
114108 It ("catches bad values" , func () {
115109 var d data
116110
117- Expect (Scan ([] interface {}{ "int" , "a" }, & d )).To (HaveOccurred ())
118- Expect (Scan ([] interface {}{ "uint" , "a" }, & d )).To (HaveOccurred ())
119- Expect (Scan ([] interface {}{ "uint" , "" }, & d )).To (HaveOccurred ())
120- Expect (Scan ([] interface {}{ "float" , "b" }, & d )).To (HaveOccurred ())
121- Expect (Scan ([] interface {}{ "bool" , "-1" }, & d )).To (HaveOccurred ())
122- Expect (Scan ([] interface {}{ "bool" , "" }, & d )).To (HaveOccurred ())
123- Expect (Scan ([] interface {}{ "bool" , "123" }, & d )).To (HaveOccurred ())
111+ Expect (Scan (i { "int" }, i { "a" }, & d )).To (HaveOccurred ())
112+ Expect (Scan (i { "uint" }, i { "a" }, & d )).To (HaveOccurred ())
113+ Expect (Scan (i { "uint" }, i { "" }, & d )).To (HaveOccurred ())
114+ Expect (Scan (i { "float" }, i { "b" }, & d )).To (HaveOccurred ())
115+ Expect (Scan (i { "bool" }, i { "-1" }, & d )).To (HaveOccurred ())
116+ Expect (Scan (i { "bool" }, i { "" }, & d )).To (HaveOccurred ())
117+ Expect (Scan (i { "bool" }, i { "123" }, & d )).To (HaveOccurred ())
124118 })
125119})
0 commit comments