From 0110c98ea36caba57e2bc8f9000aff2d67507083 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 15 Jul 2017 19:22:36 +0900 Subject: variant tests: Added tests to ensure default variant is chosen Both for when depending on a toplevel with variants, or when ambivalently depending on an element with variants. --- tests/loader/variants.py | 28 ++++++++++++++++++++++ .../elements/depends-on-element-with-variants.bst | 4 ++++ 2 files changed, 32 insertions(+) create mode 100644 tests/loader/variants/elements/depends-on-element-with-variants.bst (limited to 'tests/loader') diff --git a/tests/loader/variants.py b/tests/loader/variants.py index e0afe1949..9a3b186d6 100644 --- a/tests/loader/variants.py +++ b/tests/loader/variants.py @@ -122,6 +122,34 @@ def test_variant_invalid_unused_dependency(datafiles): assert (exc.value.reason == LoadErrorReason.INVALID_VARIANT) +############################################################## +# Test Variant Default and Priority # +############################################################## +@pytest.mark.datafiles(DATA_DIR) +def test_variant_default_target(datafiles): + + # Assert that the default (first) variant is chosen for a toplevel target with variants. + basedir = os.path.join(datafiles.dirname, datafiles.basename) + loader = Loader( + basedir, 'elements/simple-variant-compositing.bst', None, None, None) + + element = loader.load() + assert(element.variant == 'pink') + + +@pytest.mark.datafiles(DATA_DIR) +def test_variant_default_dependency(datafiles): + + # Assert that the default (first) variant is chosen for a dependency of a toplevel + basedir = os.path.join(datafiles.dirname, datafiles.basename) + loader = Loader( + basedir, 'elements/depends-on-element-with-variants.bst', None, None, None) + + element = loader.load() + dependency = element.dependencies[0] + assert(dependency.variant == 'pink') + + ############################################################## # Test Simple Variant Compositing # ############################################################## diff --git a/tests/loader/variants/elements/depends-on-element-with-variants.bst b/tests/loader/variants/elements/depends-on-element-with-variants.bst new file mode 100644 index 000000000..b58eb6903 --- /dev/null +++ b/tests/loader/variants/elements/depends-on-element-with-variants.bst @@ -0,0 +1,4 @@ +kind: pony +description: An element which depends on an element with variants +depends: +- elements/simple-dependency-variants.bst -- cgit v1.2.1