diff --git a/tests/conftest.py b/tests/conftest.py index 23e3e06..dc5fb1a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -103,6 +103,7 @@ def transformer(): "simple": simple_rule, "multiline": multiline_rule, "echo": echo_rule, + "reprs": reprs_rule, "error": error_rule, "file_contents": file_contents, } @@ -120,6 +121,10 @@ def multiline_rule(text=""): return f"Multiple\nLines {text}".strip() +def reprs_rule(*data: Any) -> str: + return "\n".join(repr(item) for item in data) + + def echo_rule(value): return value diff --git a/tests/transformer_test.py b/tests/transformer_test.py index 49ec4f6..80136c3 100644 --- a/tests/transformer_test.py +++ b/tests/transformer_test.py @@ -44,13 +44,20 @@ def test_multiline_output_rule(transformer: TransdocTransformer): ) -def test_multiline_input_rule(transformer: TransdocTransformer): +def test_multiline_bracket_input_rule(transformer: TransdocTransformer): assert ( transformer.transform("Call: {{multiline[sample\ntext]}}", "") == "Call: Multiple\nLines sample\ntext" ) +def test_multiline_python_fn_input_rule(transformer: TransdocTransformer): + assert ( + transformer.transform("Call: {{reprs('sample',\n'text')}}", "") + == "Call: 'sample'\n'text'" + ) + + def test_rules_respect_indentation(transformer: TransdocTransformer): assert ( transformer.transform(