summaryrefslogtreecommitdiff
path: root/tests/format/variables.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/format/variables.py')
-rw-r--r--tests/format/variables.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/format/variables.py b/tests/format/variables.py
index 5f07067f3..616dc20c1 100644
--- a/tests/format/variables.py
+++ b/tests/format/variables.py
@@ -138,3 +138,24 @@ def test_variables_are_resolved_in_elements_context(cli, datafiles):
["one.bst"],
["two.bst"],
)
+
+
+@pytest.mark.datafiles(os.path.join(DATA_DIR, "public_data_variables"))
+def test_variables_are_resolved_in_public_section(cli, datafiles):
+ project = str(datafiles)
+
+ result = cli.run(project=project, args=["show", "--format", "%{public}", "public.bst"])
+ result.assert_success()
+
+ output = _yaml.load_data(result.output).strip_node_info()
+ expected = {"integration-commands": ["echo expanded"], "test": "expanded"}
+
+ assert {k: v for k, v in output.items() if k in expected} == expected
+
+
+@pytest.mark.datafiles(os.path.join(DATA_DIR, "public_data_variables"))
+def test_variables_resolving_errors_in_public_section(cli, datafiles):
+ project = str(datafiles)
+
+ result = cli.run(project=project, args=["show", "--format", "%{public}", "public_unresolved.bst"])
+ result.assert_main_error(ErrorDomain.LOAD, LoadErrorReason.UNRESOLVED_VARIABLE)