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-01-16 01:08:50 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-01-16 01:19:12 +0300
commit1e9bc60777421b861852f9289d1ca71a69bedc3f (patch)
treeb38dc414a3b6af3a118305ef360c5f043bfc5da9 /tests/python
parent59fcfaf5c3574d7de97b0333e1b08609e96a3d86 (diff)
Fix collection visibility evaluation
Collection A [disabled] -> Collection B -> Collection C -> object Object should be invisible, but it is not. Reported by Antonio Vazquez. Bug introduced on: 1f5106de610b
Diffstat (limited to 'tests/python')
-rw-r--r--tests/python/view_layer/CMakeLists.txt1
-rw-r--r--tests/python/view_layer/test_evaluation_visibility_j.py61
2 files changed, 62 insertions, 0 deletions
diff --git a/tests/python/view_layer/CMakeLists.txt b/tests/python/view_layer/CMakeLists.txt
index 3f7149a67ad..69b02416487 100644
--- a/tests/python/view_layer/CMakeLists.txt
+++ b/tests/python/view_layer/CMakeLists.txt
@@ -81,6 +81,7 @@ VIEW_LAYER_TEST(evaluation_visibility_f)
VIEW_LAYER_TEST(evaluation_visibility_g)
VIEW_LAYER_TEST(evaluation_visibility_h)
VIEW_LAYER_TEST(evaluation_visibility_i)
+VIEW_LAYER_TEST(evaluation_visibility_j)
VIEW_LAYER_TEST(evaluation_selectability_a)
VIEW_LAYER_TEST(evaluation_selectability_b)
VIEW_LAYER_TEST(evaluation_selectability_c)
diff --git a/tests/python/view_layer/test_evaluation_visibility_j.py b/tests/python/view_layer/test_evaluation_visibility_j.py
new file mode 100644
index 00000000000..53810fe5599
--- /dev/null
+++ b/tests/python/view_layer/test_evaluation_visibility_j.py
@@ -0,0 +1,61 @@
+# ############################################################
+# Importing - Same For All Render Layer Tests
+# ############################################################
+
+import unittest
+import os
+import sys
+
+from view_layer_common import *
+
+
+# ############################################################
+# Testing
+# ############################################################
+
+class UnitTesting(ViewLayerTesting):
+ def test_visibility_nested(self):
+ """
+ See if the depsgraph evaluation is correct
+ """
+ import bpy
+
+ # delete all initial objects
+ while bpy.data.objects:
+ bpy.data.objects.remove(bpy.data.objects[0])
+
+ # delete all initial collections
+ scene = bpy.context.scene
+ master_collection = scene.master_collection
+ while master_collection.collections:
+ master_collection.collections.remove(master_collection.collections[0])
+
+ collection_parent = master_collection.collections.new('parent')
+ collection_nested = collection_parent.collections.new('child linked')
+ ob = bpy.data.objects.new('An Empty', None)
+ collection_nested.objects.link(ob)
+
+ layer_collection = bpy.context.view_layer.collections.link(master_collection)
+ self.assertTrue(layer_collection.enabled)
+
+ # Update depsgraph.
+ scene.update()
+
+ self.assertTrue(ob.visible_get())
+
+ layer_collection.enabled = False
+ self.assertFalse(layer_collection.enabled)
+
+ # Update depsgraph.
+ scene.update()
+
+ self.assertFalse(ob.visible_get())
+
+
+# ############################################################
+# Main - Same For All Render Layer Tests
+# ############################################################
+
+if __name__ == '__main__':
+ UnitTesting._extra_arguments = setup_extra_arguments(__file__)
+ unittest.main()