summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/format/variables.py21
-rw-r--r--tests/format/variables/public_data_variables/project.conf5
-rw-r--r--tests/format/variables/public_data_variables/public.bst11
-rw-r--r--tests/format/variables/public_data_variables/public_unresolved.bst9
4 files changed, 46 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)
diff --git a/tests/format/variables/public_data_variables/project.conf b/tests/format/variables/public_data_variables/project.conf
new file mode 100644
index 000000000..ab47dc7c4
--- /dev/null
+++ b/tests/format/variables/public_data_variables/project.conf
@@ -0,0 +1,5 @@
+name: foo
+min-version: 2.0
+
+variables:
+ expand-me: "expanded"
diff --git a/tests/format/variables/public_data_variables/public.bst b/tests/format/variables/public_data_variables/public.bst
new file mode 100644
index 000000000..e5273e89a
--- /dev/null
+++ b/tests/format/variables/public_data_variables/public.bst
@@ -0,0 +1,11 @@
+kind: import
+
+sources:
+ - kind: local
+ path: public.bst
+
+public:
+ integration-commands:
+ - echo %{expand-me}
+
+ test: "%{expand-me}"
diff --git a/tests/format/variables/public_data_variables/public_unresolved.bst b/tests/format/variables/public_data_variables/public_unresolved.bst
new file mode 100644
index 000000000..024075134
--- /dev/null
+++ b/tests/format/variables/public_data_variables/public_unresolved.bst
@@ -0,0 +1,9 @@
+kind: import
+
+sources:
+ - kind: local
+ path: public_unresolved.bst
+
+public:
+ integration-commands:
+ - echo %{non-existent}