1import json23import pytest45from protocol import ProtocolError, parse_render_input678def test_presentation_and_metadata_round_trip():9 result = parse_render_input(json.dumps({10 "source": "module m; endmodule",11 "metadata": {"title": "Title", "description": "Description"},12 "presentation": {"background": "#abcdef", "padding": 24, "frame": True},13 }))14 assert result.title == "Title"15 assert result.description == "Description"16 assert result.background == "#abcdef"17 assert result.padding == 2418 assert result.frame is True19202122def test_scale_must_be_finite_and_bounded(value):23 with pytest.raises(ProtocolError, match="scale"):24 parse_render_input(json.dumps({"source": "module m; endmodule", "options": {"scale": value}}))