Skip to content

Commit 5dce364

Browse files
committed
Further test cases
1 parent 62a0af1 commit 5dce364

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

test/pycardano/test_serialization.py

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1074,4 +1074,32 @@ def test_indefinite_list_highjacking_does_not_break_cbor2():
10741074
a = {ls: 1}
10751075
encoded = cbor2.dumps(a, default=default_encoder)
10761076
decoded = cbor2.loads(encoded)
1077-
assert isinstance(list(decoded.keys())[0], IndefiniteList)
1077+
assert isinstance(list(decoded.keys())[0], IndefiniteList)
1078+
1079+
def test_definite_list_highjacking_does_not_break_cbor2():
1080+
ls = FrozenList(["hello"])
1081+
ls.freeze()
1082+
a = {ls: 1}
1083+
encoded = cbor2.dumps(a, default=default_encoder)
1084+
decoded = cbor2.loads(encoded)
1085+
assert isinstance(list(decoded.keys())[0], (list, tuple))
1086+
1087+
def test_indefinite_list_highjacking_does_not_break_cbor2_datum():
1088+
ls = IndefiniteFrozenList(["hello"])
1089+
ls.freeze()
1090+
datum = CBORTag(251, ls)
1091+
a = {datum: 1}
1092+
encoded = cbor2.dumps(a, default=default_encoder)
1093+
decoded = cbor2.loads(encoded)
1094+
assert isinstance(list(decoded.keys())[0], CBORTag)
1095+
assert isinstance(list(decoded.keys())[0].value, IndefiniteList)
1096+
1097+
def test_definite_list_highjacking_does_not_break_cbor2_datum():
1098+
ls = FrozenList(["hello"])
1099+
ls.freeze()
1100+
datum = CBORTag(251, ls)
1101+
a = {datum: 1}
1102+
encoded = cbor2.dumps(a, default=default_encoder)
1103+
decoded = cbor2.loads(encoded)
1104+
assert isinstance(list(decoded.keys())[0], CBORTag)
1105+
assert isinstance(list(decoded.keys())[0].value, (list, tuple))

0 commit comments

Comments
 (0)