@@ -197,6 +197,20 @@ TEST_F(HSetFamilyTest, HincrbyFloat) {
197
197
}
198
198
}
199
199
200
+ TEST_F (HSetFamilyTest, HincrbyFloatCornerCases) {
201
+ Run ({" hset" , " k" , " mhv" , " -1.8E+308" , " phv" , " 1.8E+308" , " nd" , " -+-inf" , " +inf" , " +inf" , " nan" ,
202
+ " nan" , " -inf" , " -inf" });
203
+ // we don't support long doubles, so in all next cases we should return errors
204
+ EXPECT_THAT (Run ({" hincrbyfloat" , " k" , " mhv" , " -1" }), ErrArg (" ERR hash value is not a float" ));
205
+ EXPECT_THAT (Run ({" hincrbyfloat" , " k" , " phv" , " 1" }), ErrArg (" ERR hash value is not a float" ));
206
+ EXPECT_THAT (Run ({" hincrbyfloat" , " k" , " nd" , " 1" }), ErrArg (" ERR hash value is not a float" ));
207
+ EXPECT_THAT (Run ({" hincrbyfloat" , " k" , " +inf" , " 1" }),
208
+ ErrArg (" increment would produce NaN or Infinity" ));
209
+ EXPECT_THAT (Run ({" hincrbyfloat" , " k" , " nan" , " 1" }), ErrArg (" ERR hash value is not a float" ));
210
+ EXPECT_THAT (Run ({" hincrbyfloat" , " k" , " -inf" , " 1" }),
211
+ ErrArg (" increment would produce NaN or Infinity" ));
212
+ }
213
+
200
214
TEST_F (HSetFamilyTest, HRandFloat) {
201
215
Run ({" HSET" , " k" , " 1" , " 2" });
202
216
0 commit comments