Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2018-02-09 14:04:00 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-02-09 14:05:27 +0300
commit25074be697cb5726328aa5d064a60788c1da6aeb (patch)
treee75abc47e1d5c0db7ab4fe4db1d5989f7015c101 /tests/python/view_layer
parent37e53ca5f3496f9a09f46afd1e4ff2f1d2d153df (diff)
Fix collection syncing when creating new collections from the outliner
We were not passing a scene collection parent to the BKE_collection_add function, which in turn made syncing not work. Right now we: * Explicitly pass the master collection in this case * Fallback to the master collection in other cases With unittest.
Diffstat (limited to 'tests/python/view_layer')
-rw-r--r--tests/python/view_layer/CMakeLists.txt1
-rw-r--r--tests/python/view_layer/test_collection_new_sync.py47
2 files changed, 48 insertions, 0 deletions
diff --git a/tests/python/view_layer/CMakeLists.txt b/tests/python/view_layer/CMakeLists.txt
index e308e2e0952..cc5a3ba54b1 100644
--- a/tests/python/view_layer/CMakeLists.txt
+++ b/tests/python/view_layer/CMakeLists.txt
@@ -62,6 +62,7 @@ endmacro()
VIEW_LAYER_TEST(active_collection)
VIEW_LAYER_TEST(background_set)
+VIEW_LAYER_TEST(collection_new_sync)
VIEW_LAYER_TEST(collection_rename_a)
VIEW_LAYER_TEST(collection_rename_b)
VIEW_LAYER_TEST(evaluation_render_settings_a)
diff --git a/tests/python/view_layer/test_collection_new_sync.py b/tests/python/view_layer/test_collection_new_sync.py
new file mode 100644
index 00000000000..582e6c13d89
--- /dev/null
+++ b/tests/python/view_layer/test_collection_new_sync.py
@@ -0,0 +1,47 @@
+# ############################################################
+# Importing - Same For All Render Layer Tests
+# ############################################################
+
+import unittest
+import os
+import sys
+
+from view_layer_common import *
+
+
+# ############################################################
+# Testing
+# ############################################################
+
+class UnitTesting(ViewLayerTesting):
+ def test_view_layer_syncing(self):
+ """
+ See if we can copy view layers.
+ """
+ import bpy
+ scene = bpy.context.scene
+ view_layer = scene.view_layers.new("All")
+
+ self.assertEqual(len(view_layer.collections), 1)
+ self.assertEqual(view_layer.collections[0].collection, scene.master_collection)
+
+ self.assertEqual(
+ {collection.name for collection in view_layer.collections[0].collections},
+ {'Collection 1'})
+
+ self.assertEqual(
+ bpy.ops.outliner.collection_new(),
+ {'FINISHED'})
+
+ self.assertEqual(
+ {collection.name for collection in view_layer.collections[0].collections},
+ {'Collection 1', 'Collection 2'})
+
+
+# ############################################################
+# Main - Same For All Render Layer Tests
+# ############################################################
+
+if __name__ == '__main__':
+ UnitTesting._extra_arguments = setup_extra_arguments(__file__)
+ unittest.main()