diff --git a/tests/test_decoding.py b/tests/test_decoding.py index 8377767..e4b9506 100644 --- a/tests/test_decoding.py +++ b/tests/test_decoding.py @@ -100,4 +100,14 @@ def test_try_decode_metadata_reversed_only_flags(): # Reversed of "normal text" -> "txet lamron" res_noise = try_decode_metadata("txet lamron") assert "reversed" not in res_noise +# {{{ test_try_decode_metadata_nested +def test_try_decode_metadata_nested(): + """ + Verifies that try_decode_metadata recursively decodes nested encodings and reports the path. + """ + # Payload: base64(hex("flag{nested_flag}")) + nested_str = "NjY2YzYxNjc3YjZlNjU3Mzc0NjU2NDVmNjY2YzYxNjc3ZA==" + res = try_decode_metadata(nested_str) + assert res.get("base64") == "666c61677b6e65737465645f666c61677d" + assert res.get("base64->hex") == "flag{nested_flag}" # }}}