diff options
Diffstat (limited to 'tests/python/bl_render_layer.py')
-rw-r--r-- | tests/python/bl_render_layer.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/python/bl_render_layer.py b/tests/python/bl_render_layer.py index a7ecd1e5fae..3d15b09368f 100644 --- a/tests/python/bl_render_layer.py +++ b/tests/python/bl_render_layer.py @@ -601,6 +601,50 @@ class UnitsTesting(unittest.TestCase): filepath_json = os.path.join(ROOT, 'layers_layer_collection_unlink.json') self.do_layer_linking(filepath_json, 'COLLECTION_UNLINK') + def test_active_collection(self): + """ + See if active collection index is working + layer.collections.active_index works recursively + """ + import bpy + import os + + ROOT = self.get_root() + filepath_layers = os.path.join(ROOT, 'layers.blend') + + # open file + bpy.ops.wm.open_mainfile('EXEC_DEFAULT', filepath=filepath_layers) + + # create sub-collections + three_b = bpy.data.objects.get('T.3b') + three_c = bpy.data.objects.get('T.3c') + + scene = bpy.context.scene + subzero = scene.master_collection.collections['1'].collections.new('sub-zero') + scorpion = subzero.collections.new('scorpion') + subzero.objects.link(three_b) + scorpion.objects.link(three_c) + layer = scene.render_layers.new('Fresh new Layer') + layer.collections.link(subzero) + + lookup = [ + 'Master Collection', + '1', + 'sub-zero', + 'scorpion', + '2', + '3', + '4', + '5', + 'sub-zero', + 'scorpion'] + + for i, name in enumerate(lookup): + layer.collections.active_index = i + self.assertTrue(name == layer.collections.active.name, + "Collection index mismatch: [{0}] : {1} != {2}".format( + i, name, layer.collections.active.name)) + # ############################################################ # Main |