diff options
-rw-r--r-- | redis/commands/json/decoders.py | 2 | ||||
-rw-r--r-- | tests/test_json.py | 11 |
2 files changed, 12 insertions, 1 deletions
diff --git a/redis/commands/json/decoders.py b/redis/commands/json/decoders.py index ec71cee..b19395c 100644 --- a/redis/commands/json/decoders.py +++ b/redis/commands/json/decoders.py @@ -53,7 +53,7 @@ def decode_list(b): if isinstance(b, list): return [nativestr(obj) for obj in b] elif isinstance(b, bytes): - return nativestr(b) + return unstring(nativestr(b)) elif isinstance(b, str): return unstring(b) return b diff --git a/tests/test_json.py b/tests/test_json.py index e50582f..19b0c32 100644 --- a/tests/test_json.py +++ b/tests/test_json.py @@ -2,6 +2,7 @@ import pytest import redis from redis.commands.json.path import Path from redis import exceptions +from redis.commands.json.decoders import unstring, decode_list from .conftest import skip_ifmodversion_lt @@ -1374,3 +1375,13 @@ def test_arrindex_dollar(client): "test_None", "..nested2_not_found.arr", "None") == 0 + + +def test_decoders_and_unstring(): + assert unstring("4") == 4 + assert unstring("45.55") == 45.55 + assert unstring("hello world") == "hello world" + + assert decode_list(b"45.55") == 45.55 + assert decode_list("45.55") == 45.55 + assert decode_list(['hello', b'world']) == ['hello', 'world'] |