diff --git a/src/main/java/redis/clients/jedis/BuilderFactory.java b/src/main/java/redis/clients/jedis/BuilderFactory.java index 293a9c2c5f..924a69c1a6 100644 --- a/src/main/java/redis/clients/jedis/BuilderFactory.java +++ b/src/main/java/redis/clients/jedis/BuilderFactory.java @@ -598,10 +598,9 @@ public String toString() { @Override @SuppressWarnings("unchecked") public KeyValue build(Object data) { - List l = (List) data; // never null - if (l.isEmpty()) { - return null; - } + if (data == null) return null; + List l = (List) data; + if (l.isEmpty()) return null; return KeyValue.of(STRING.build(l.get(0)), new Tuple(BINARY.build(l.get(1)), DOUBLE.build(l.get(2)))); } @@ -615,10 +614,9 @@ public String toString() { @Override @SuppressWarnings("unchecked") public KeyValue build(Object data) { - List l = (List) data; // never null - if (l.isEmpty()) { - return null; - } + if (data == null) return null; + List l = (List) data; + if (l.isEmpty()) return null; return KeyValue.of(BINARY.build(l.get(0)), new Tuple(BINARY.build(l.get(1)), DOUBLE.build(l.get(2)))); } diff --git a/src/test/java/redis/clients/jedis/commands/jedis/SortedSetCommandsTest.java b/src/test/java/redis/clients/jedis/commands/jedis/SortedSetCommandsTest.java index 8b5711cb70..b5ea1be7bc 100644 --- a/src/test/java/redis/clients/jedis/commands/jedis/SortedSetCommandsTest.java +++ b/src/test/java/redis/clients/jedis/commands/jedis/SortedSetCommandsTest.java @@ -1519,12 +1519,16 @@ public void infinity() { @Test public void bzpopmax() { + assertNull(jedis.bzpopmax(1, "foo", "bar")); + jedis.zadd("foo", 1d, "a", ZAddParams.zAddParams().nx()); jedis.zadd("foo", 10d, "b", ZAddParams.zAddParams().nx()); jedis.zadd("bar", 0.1d, "c", ZAddParams.zAddParams().nx()); assertEquals(new KeyValue<>("foo", new Tuple("b", 10d)), jedis.bzpopmax(0, "foo", "bar")); // Binary + assertNull(jedis.bzpopmax(1, bfoo, bbar)); + jedis.zadd(bfoo, 1d, ba); jedis.zadd(bfoo, 10d, bb); jedis.zadd(bbar, 0.1d, bc); @@ -1535,12 +1539,16 @@ public void bzpopmax() { @Test public void bzpopmin() { + assertNull(jedis.bzpopmin(1, "bar", "foo")); + jedis.zadd("foo", 1d, "a", ZAddParams.zAddParams().nx()); jedis.zadd("foo", 10d, "b", ZAddParams.zAddParams().nx()); jedis.zadd("bar", 0.1d, "c", ZAddParams.zAddParams().nx()); assertEquals(new KeyValue<>("bar", new Tuple("c", 0.1)), jedis.bzpopmin(0, "bar", "foo")); // Binary + assertNull(jedis.bzpopmin(1, bbar, bfoo)); + jedis.zadd(bfoo, 1d, ba); jedis.zadd(bfoo, 10d, bb); jedis.zadd(bbar, 0.1d, bc); diff --git a/src/test/java/redis/clients/jedis/commands/unified/SortedSetCommandsTestBase.java b/src/test/java/redis/clients/jedis/commands/unified/SortedSetCommandsTestBase.java index fed8fb2603..29f5580f6a 100644 --- a/src/test/java/redis/clients/jedis/commands/unified/SortedSetCommandsTestBase.java +++ b/src/test/java/redis/clients/jedis/commands/unified/SortedSetCommandsTestBase.java @@ -1508,12 +1508,16 @@ public void infinity() { @Test public void bzpopmax() { + assertNull(jedis.bzpopmax(1, "foo", "bar")); + jedis.zadd("foo", 1d, "a", ZAddParams.zAddParams().nx()); jedis.zadd("foo", 10d, "b", ZAddParams.zAddParams().nx()); jedis.zadd("bar", 0.1d, "c", ZAddParams.zAddParams().nx()); assertEquals(new KeyValue<>("foo", new Tuple("b", 10d)), jedis.bzpopmax(0, "foo", "bar")); // Binary + assertNull(jedis.bzpopmax(1, bfoo, bbar)); + jedis.zadd(bfoo, 1d, ba); jedis.zadd(bfoo, 10d, bb); jedis.zadd(bbar, 0.1d, bc); @@ -1524,12 +1528,16 @@ public void bzpopmax() { @Test public void bzpopmin() { + assertNull(jedis.bzpopmin(1, "bar", "foo")); + jedis.zadd("foo", 1d, "a", ZAddParams.zAddParams().nx()); jedis.zadd("foo", 10d, "b", ZAddParams.zAddParams().nx()); jedis.zadd("bar", 0.1d, "c", ZAddParams.zAddParams().nx()); assertEquals(new KeyValue<>("bar", new Tuple("c", 0.1)), jedis.bzpopmin(0, "bar", "foo")); // Binary + assertNull(jedis.bzpopmin(1, bbar, bfoo)); + jedis.zadd(bfoo, 1d, ba); jedis.zadd(bfoo, 10d, bb); jedis.zadd(bbar, 0.1d, bc); diff --git a/src/test/java/redis/clients/jedis/commands/unified/cluster/ClusterSortedSetCommandsTest.java b/src/test/java/redis/clients/jedis/commands/unified/cluster/ClusterSortedSetCommandsTest.java index 589c735959..122400611c 100644 --- a/src/test/java/redis/clients/jedis/commands/unified/cluster/ClusterSortedSetCommandsTest.java +++ b/src/test/java/redis/clients/jedis/commands/unified/cluster/ClusterSortedSetCommandsTest.java @@ -1,6 +1,7 @@ //package redis.clients.jedis.commands.unified.cluster; // //import static org.junit.Assert.assertEquals; +//import static org.junit.Assert.assertNull; // //import java.util.ArrayList; //import java.util.Collections; @@ -148,6 +149,8 @@ // @Test // @Override // public void bzpopmax() { +// assertNull(jedis.bzpopmax(1, "f{:}oo", "b{:}ar")); +// // jedis.zadd("f{:}oo", 1d, "a", ZAddParams.zAddParams().nx()); // jedis.zadd("f{:}oo", 10d, "b", ZAddParams.zAddParams().nx()); // jedis.zadd("b{:}ar", 0.1d, "c", ZAddParams.zAddParams().nx()); @@ -157,6 +160,8 @@ // @Test // @Override // public void bzpopmin() { +// assertNull(jedis.bzpopmin(1, "ba{:}r", "fo{:}o")); +// // jedis.zadd("fo{:}o", 1d, "a", ZAddParams.zAddParams().nx()); // jedis.zadd("fo{:}o", 10d, "b", ZAddParams.zAddParams().nx()); // jedis.zadd("ba{:}r", 0.1d, "c", ZAddParams.zAddParams().nx());