diff options
Diffstat (limited to 'tests')
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} |