diff options
Diffstat (limited to 'tests/format')
-rw-r--r-- | tests/format/variables.py | 21 | ||||
-rw-r--r-- | tests/format/variables/shared_variables/one.bst | 6 | ||||
-rw-r--r-- | tests/format/variables/shared_variables/project.conf | 2 | ||||
-rw-r--r-- | tests/format/variables/shared_variables/shared.yml | 3 | ||||
-rw-r--r-- | tests/format/variables/shared_variables/two.bst | 6 |
5 files changed, 38 insertions, 0 deletions
diff --git a/tests/format/variables.py b/tests/format/variables.py index 81bda291b..5f07067f3 100644 --- a/tests/format/variables.py +++ b/tests/format/variables.py @@ -117,3 +117,24 @@ def test_use_of_protected_var_in_element(cli, datafiles, protected_var): result = cli.run(project=project, args=["build", "target.bst"]) result.assert_main_error(ErrorDomain.LOAD, LoadErrorReason.PROTECTED_VARIABLE_REDEFINED) + + +@pytest.mark.datafiles(os.path.join(DATA_DIR, "shared_variables")) +def test_variables_are_resolved_in_elements_context(cli, datafiles): + project = str(datafiles) + + result = cli.run(project=project, args=["build"]) + result.assert_success() + + checkout_dir = os.path.join(project, "checkout") + for elem in ["one", "two"]: + result = cli.run( + project=project, + args=["artifact", "checkout", "--directory", os.path.join(checkout_dir, elem), "{}.bst".format(elem)], + ) + result.assert_success() + + assert (os.listdir(os.path.join(checkout_dir, "one")), os.listdir(os.path.join(checkout_dir, "two"))) == ( + ["one.bst"], + ["two.bst"], + ) diff --git a/tests/format/variables/shared_variables/one.bst b/tests/format/variables/shared_variables/one.bst new file mode 100644 index 000000000..0f19e91b1 --- /dev/null +++ b/tests/format/variables/shared_variables/one.bst @@ -0,0 +1,6 @@ +kind: import + +(@): shared.yml + +variables: + import-path: one.bst diff --git a/tests/format/variables/shared_variables/project.conf b/tests/format/variables/shared_variables/project.conf new file mode 100644 index 000000000..ee1dfb2c7 --- /dev/null +++ b/tests/format/variables/shared_variables/project.conf @@ -0,0 +1,2 @@ +name: shared-vars +min-version: 2.0 diff --git a/tests/format/variables/shared_variables/shared.yml b/tests/format/variables/shared_variables/shared.yml new file mode 100644 index 000000000..8266757cd --- /dev/null +++ b/tests/format/variables/shared_variables/shared.yml @@ -0,0 +1,3 @@ +sources: + - kind: local + path: "%{import-path}" diff --git a/tests/format/variables/shared_variables/two.bst b/tests/format/variables/shared_variables/two.bst new file mode 100644 index 000000000..ad621d760 --- /dev/null +++ b/tests/format/variables/shared_variables/two.bst @@ -0,0 +1,6 @@ +kind: import + +(@): shared.yml + +variables: + import-path: two.bst |