ソースを参照

Add test for Positions

Gary Burd 8 年 前
コミット
ac91d6ff49
2 ファイル変更7 行追加2 行削除
  1. 2 2
      redis/reply.go
  2. 5 0
      redis/reply_test.go

+ 2 - 2
redis/reply.go

@@ -406,10 +406,10 @@ func Positions(result interface{}, err error) ([]*[2]float64, error) {
 		}
 		p, ok := values[i].([]interface{})
 		if !ok {
-			return nil, fmt.Errorf("redigo: unexpected element type for Interface slice, got type %T", values[i])
+			return nil, fmt.Errorf("redigo: unexpected element type for interface slice, got type %T", values[i])
 		}
 		if len(p) != 2 {
-			return nil, fmt.Errorf("redigo: unexpected number of values for a member position,got %d", len(p))
+			return nil, fmt.Errorf("redigo: unexpected number of values for a member position, got %d", len(p))
 		}
 		lat, err := Float64(p[0], nil)
 		if err != nil {

+ 5 - 0
redis/reply_test.go

@@ -96,6 +96,11 @@ var replyTests = []struct {
 		ve(redis.Uint64(int64(-1), nil)),
 		ve(uint64(0), redis.ErrNegativeInt),
 	},
+	{
+		"positions([[1, 2], nil, [3, 4]])",
+		ve(redis.Positions([]interface{}{[]interface{}{[]byte("1"), []byte("2")}, nil, []interface{}{[]byte("3"), []byte("4")}}, nil)),
+		ve([]*[2]float64{{1.0, 2.0}, nil, {3.0, 4.0}}, nil),
+	},
 }
 
 func TestReply(t *testing.T) {