Add Chromium-only Blender WebEngine parity work

This commit is contained in:
mes123456
2026-08-12 04:47:48 -04:00
commit 9fd26010f6
18225 changed files with 11622124 additions and 0 deletions

View File

@@ -0,0 +1,168 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# --env-system-scripts allows to run without the install target.
# Use '--write-blend=/tmp/test.blend' to view output
set(TEST_SRC_DIR ${CMAKE_SOURCE_DIR}/tests/files)
set(TEST_OUT_DIR ${CMAKE_BINARY_DIR}/tests)
# ugh, any better way to do this on testing only?
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TEST_OUT_DIR})
# if(NOT IS_DIRECTORY ${TEST_SRC_DIR})
# message(FATAL_ERROR "CMake test directory not found!")
# endif()
# For testing with VALGRIND prefix: `valgrind --track-origins=yes --error-limit=no`
set(TEST_BLENDER_EXE
$<TARGET_FILE:blender>
--background
--console-crash-handler
--factory-startup
--debug-memory
--debug-exit-on-error
--env-system-scripts ${CMAKE_SOURCE_DIR}/scripts
)
# ------------------------------------------------------------------------------
function(view_layer_test test_name)
# Adds ${CMAKE_CURRENT_LIST_DIR} to sys.path so that the tests can import
# things from view_layer_common.py
add_test(view_layer_${test_name} ${TEST_BLENDER_EXE}
--python-expr "import sys; sys.path.append('${CMAKE_CURRENT_LIST_DIR}')"
--python-exit-code 1
--python ${CMAKE_CURRENT_LIST_DIR}/test_${test_name}.py --
--testdir="${TEST_SRC_DIR}/layers"
)
endfunction()
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)
# view_layer_test(evaluation_render_settings_b)
# view_layer_test(evaluation_render_settings_c)
# view_layer_test(evaluation_render_settings_d)
# view_layer_test(evaluation_render_settings_e)
# view_layer_test(evaluation_render_settings_f)
# view_layer_test(evaluation_render_settings_g)
# view_layer_test(evaluation_render_settings_h)
# view_layer_test(evaluation_render_settings_i)
view_layer_test(evaluation_visibility_a)
view_layer_test(evaluation_visibility_b)
view_layer_test(evaluation_visibility_c)
view_layer_test(evaluation_visibility_d)
view_layer_test(evaluation_visibility_e)
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)
view_layer_test(evaluation_selectability_d)
view_layer_test(evaluation_selectability_e)
view_layer_test(evaluation_selectability_f)
view_layer_test(group_a)
view_layer_test(group_b)
view_layer_test(group_c)
view_layer_test(group_d)
view_layer_test(group_e)
view_layer_test(object_add_cylinder)
view_layer_test(object_add_empty)
view_layer_test(object_add_torus)
view_layer_test(object_add_no_collection_cylinder)
view_layer_test(object_add_no_collection_empty)
view_layer_test(object_add_no_collection_torus)
view_layer_test(object_copy)
view_layer_test(object_delete_a)
view_layer_test(object_delete_b)
view_layer_test(object_link_a)
view_layer_test(object_link_b)
view_layer_test(object_link_c)
view_layer_test(operator_context)
view_layer_test(make_single_user)
view_layer_test(move_above_below_scene_collection_a)
view_layer_test(move_above_below_scene_collection_b)
view_layer_test(move_above_below_scene_collection_c)
view_layer_test(move_above_below_scene_collection_d)
view_layer_test(move_above_below_scene_collection_e)
view_layer_test(move_above_below_scene_collection_f)
view_layer_test(move_above_below_scene_collection_g)
view_layer_test(move_above_below_scene_collection_h)
view_layer_test(move_above_below_scene_collection_i)
view_layer_test(move_above_below_scene_collection_sync_a)
view_layer_test(move_above_below_scene_collection_sync_b)
view_layer_test(move_above_below_scene_collection_sync_c)
view_layer_test(move_above_below_scene_collection_sync_d)
view_layer_test(move_above_below_scene_collection_sync_e)
view_layer_test(move_above_below_scene_collection_sync_f)
view_layer_test(move_above_below_scene_collection_sync_g)
view_layer_test(move_above_below_scene_collection_sync_h)
view_layer_test(move_above_below_scene_collection_sync_i)
view_layer_test(move_into_scene_collection_a)
view_layer_test(move_into_scene_collection_b)
view_layer_test(move_into_scene_collection_c)
view_layer_test(move_into_scene_collection_d)
view_layer_test(move_into_scene_collection_e)
view_layer_test(move_into_scene_collection_f)
view_layer_test(move_into_scene_collection_g)
view_layer_test(move_into_scene_collection_h)
view_layer_test(move_into_scene_collection_i)
view_layer_test(move_into_scene_collection_j)
view_layer_test(move_into_scene_collection_k)
view_layer_test(move_into_scene_collection_l)
view_layer_test(move_into_scene_collection_sync_a)
view_layer_test(move_into_scene_collection_sync_b)
view_layer_test(move_into_scene_collection_sync_c)
view_layer_test(move_into_scene_collection_sync_d)
view_layer_test(move_into_scene_collection_sync_e)
view_layer_test(move_into_scene_collection_sync_f)
view_layer_test(move_into_scene_collection_sync_g)
view_layer_test(move_into_scene_collection_sync_h)
view_layer_test(move_into_scene_collection_sync_i)
view_layer_test(move_into_scene_collection_sync_j)
view_layer_test(move_into_scene_collection_sync_k)
view_layer_test(move_into_scene_collection_sync_l)
view_layer_test(move_above_below_layer_collection_a)
view_layer_test(move_above_below_layer_collection_b)
view_layer_test(move_above_below_layer_collection_c)
view_layer_test(move_above_below_layer_collection_d)
view_layer_test(move_above_below_layer_collection_e)
view_layer_test(move_above_below_layer_collection_f)
view_layer_test(move_above_below_layer_collection_g)
view_layer_test(move_above_below_layer_collection_h)
view_layer_test(move_above_below_layer_collection_i)
view_layer_test(move_above_below_layer_collection_j)
view_layer_test(move_above_below_layer_collection_k)
view_layer_test(move_above_below_layer_collection_l)
view_layer_test(move_into_layer_collection_a)
view_layer_test(move_into_layer_collection_b)
view_layer_test(move_into_layer_collection_c)
view_layer_test(move_into_layer_collection_d)
view_layer_test(move_into_layer_collection_e)
view_layer_test(move_into_layer_collection_f)
view_layer_test(move_into_layer_collection_g)
view_layer_test(move_into_layer_collection_h)
view_layer_test(move_into_layer_collection_i)
view_layer_test(move_into_layer_collection_j)
view_layer_test(layer_linking)
view_layer_test(layer_syncing)
view_layer_test(scene_collection_delete)
view_layer_test(scene_copy_a)
view_layer_test(scene_copy_b)
view_layer_test(scene_copy_c)
view_layer_test(scene_copy_d)
view_layer_test(scene_copy_e)
view_layer_test(scene_copy_f)
view_layer_test(scene_delete)
view_layer_test(scene_objects)
view_layer_test(scene_write_read)
view_layer_test(view_layer_rename)

View File

@@ -0,0 +1,75 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
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)
self.rename_collections()
# 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.view_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.assertEqual(
name, layer.collections.active.name,
"Collection index mismatch: [{0}] : {1} != {2}".format(
i, name, layer.collections.active.name))
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,69 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_background_set(self):
"""
See if background sets are properly added and removed
"""
import bpy
background_scene = bpy.data.scenes[0]
main_scene = bpy.data.scenes.new('main')
bpy.context.window.scene = main_scene
# Update depsgraph.
bpy.context.view_layer.update()
# Safety check, there should be no objects in thew newly created scene.
self.assertEqual(0, len(bpy.context.depsgraph.objects))
# Now set the background set, and objects relationship.
main_scene.background_set = background_scene
background_scene.objects[0].parent = background_scene.objects[1]
# Update depsgraph.
bpy.context.view_layer.update()
# Test if objects were properly added to depsgraph.
self.assertEqual(3, len(bpy.context.depsgraph.objects))
# We now check if the objects are properly flagged as from set
# These objects can't be possible nor show their origins or
# relationship lines
for ob in bpy.context.depsgraph.objects:
self.assertTrue(ob.is_from_set)
# Test if removing is working fine.
main_scene.background_set = None
# Update depsgraph.
bpy.context.view_layer.update()
self.assertEqual(0, len(bpy.context.depsgraph.objects))
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,52 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# 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()

View File

@@ -0,0 +1,96 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def setup_family(self):
import bpy
scene = bpy.context.scene
# Just add a bunch of collections on which we can do various tests.
grandma = scene.master_collection.collections.new('grandma')
grandpa = scene.master_collection.collections.new('grandpa')
mom = grandma.collections.new('mom')
son = mom.collections.new('son')
daughter = mom.collections.new('daughter')
uncle = grandma.collections.new('uncle')
cousin = uncle.collections.new('cousin')
lookup = {c.name: c for c in (grandma, grandpa, mom, son, daughter, uncle, cousin)}
return lookup
def test_rename_a(self):
family = self.setup_family()
family['mom'].name = family['daughter'].name
# Since they are not siblings, we allow them to have the same name.
self.assertEqual(family['mom'].name, family['daughter'].name)
def test_rename_b(self):
family = self.setup_family()
family['grandma'].name = family['grandpa'].name
self.assertNotEqual(family['grandma'].name, family['grandpa'].name)
def test_rename_c(self):
family = self.setup_family()
family['cousin'].name = family['daughter'].name
# Since they are not siblings, we allow them to have the same name.
self.assertEqual(family['cousin'].name, family['daughter'].name)
def test_rename_d(self):
family = self.setup_family()
family['son'].name = family['daughter'].name
self.assertNotEqual(family['son'].name, family['daughter'].name)
def test_rename_e(self):
family = self.setup_family()
family['grandma'].name = family['grandpa'].name
self.assertNotEqual(family['grandma'].name, family['grandpa'].name)
def test_add_equal_name_a(self):
family = self.setup_family()
other_daughter = family['mom'].collections.new(family['daughter'].name)
self.assertNotEqual(other_daughter.name, family['daughter'].name)
def test_add_equal_name_b(self):
family = self.setup_family()
other_aunt = family['grandma'].collections.new(family['daughter'].name)
# Since they are not siblings, we allow them to have the same name.
self.assertEqual(other_aunt.name, family['daughter'].name)
def test_add_equal_name_c(self):
family = self.setup_family()
other_aunt = family['grandma'].collections.new(family['mom'].name)
self.assertNotEqual(other_aunt.name, family['mom'].name)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,63 @@
# SPDX-FileCopyrightText: 2018-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def setup_collections(self):
import bpy
scene = bpy.context.scene
master = scene.master_collection
one = master.collections[0]
two = master.collections.new()
sub = two.collections.new(one.name)
self.assertEqual(one.name, sub.name)
lookup = {
'master': master,
'one': one,
'two': two,
'sub': sub,
}
return lookup
def test_move_above(self):
collections = self.setup_collections()
collections['sub'].move_above(collections['one'])
self.assertNotEqual(collections['one'].name, collections['sub'].name)
def test_move_below(self):
collections = self.setup_collections()
collections['sub'].move_below(collections['one'])
self.assertNotEqual(collections['one'].name, collections['sub'].name)
def test_move_into(self):
collections = self.setup_collections()
collections['sub'].move_into(collections['master'])
self.assertNotEqual(collections['one'].name, collections['sub'].name)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,40 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
Clay,
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
@unittest.skip("Uses the clay engine, that is removed #55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
"""
clay = Clay()
self.assertEqual(clay.get('object', 'matcap_icon'), '01')
clay.set('scene', 'matcap_icon', '05')
self.assertEqual(clay.get('object', 'matcap_icon'), '05')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,41 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
Clay,
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
@unittest.skip("Uses the clay engine, that is removed #55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
"""
clay = Clay()
self.assertEqual(clay.get('object', 'matcap_icon'), '01')
clay.set('scene', 'matcap_icon', '05')
clay.set('grandma', 'matcap_icon', '03')
self.assertEqual(clay.get('object', 'matcap_icon'), '03')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,40 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
Clay,
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
@unittest.skip("Uses the clay engine, that is removed #55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
"""
clay = Clay()
self.assertEqual(clay.get('object', 'matcap_icon'), '01')
clay.set('mom', 'matcap_icon', '02')
self.assertEqual(clay.get('object', 'matcap_icon'), '02')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,40 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
Clay,
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
@unittest.skip("Uses the clay engine, that is removed #55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
"""
clay = Clay()
self.assertEqual(clay.get('object', 'matcap_icon'), '01')
clay.set('kid', 'matcap_icon', '05')
self.assertEqual(clay.get('object', 'matcap_icon'), '05')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,41 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
Clay,
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
@unittest.skip("Uses the clay engine, that is removed #55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
"""
clay = Clay()
self.assertEqual(clay.get('object', 'matcap_icon'), '01')
clay.set('grandma', 'matcap_icon', '04')
clay.set('kid', 'matcap_icon', '05')
self.assertEqual(clay.get('object', 'matcap_icon'), '05')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,42 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
Clay,
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
@unittest.skip("Uses the clay engine, that is removed #55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
"""
clay = Clay(extra_kid_layer=True)
self.assertEqual(clay.get('object', 'matcap_icon'), '01')
clay.set('scene', 'matcap_icon', '05')
clay.set('extra', 'matcap_icon', '07')
self.assertEqual(clay.get('object', 'matcap_icon'), '07')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,42 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
Clay,
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
@unittest.skip("Uses the clay engine, that is removed #55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
"""
clay = Clay(extra_kid_layer=True)
self.assertEqual(clay.get('object', 'matcap_icon'), '01')
clay.set('mom', 'matcap_icon', '02')
clay.set('extra', 'matcap_icon', '06')
self.assertEqual(clay.get('object', 'matcap_icon'), '06')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,42 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
Clay,
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
@unittest.skip("Uses the clay engine, that is removed #55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
"""
clay = Clay(extra_kid_layer=True)
self.assertEqual(clay.get('object', 'matcap_icon'), '01')
clay.set('kid', 'matcap_icon', '02')
clay.set('extra', 'matcap_icon', '04')
self.assertEqual(clay.get('object', 'matcap_icon'), '04')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,42 @@
# SPDX-FileCopyrightText: 2017-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
Clay,
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
@unittest.skip("Uses the clay engine, that is removed #55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
"""
clay = Clay(extra_kid_layer=True)
self.assertEqual(clay.get('object', 'matcap_icon'), '01')
clay.set('mom', 'matcap_icon', '02')
self.assertEqual(clay.get('extra', 'matcap_icon'), '01')
self.assertEqual(clay.get('object', 'matcap_icon'), '02')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,58 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_selectability(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Selectability Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
_layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = False
bpy.context.view_layer.update() # update depsgraph
cube.select_set(True)
self.assertTrue(cube.visible_get(), "Cube should be visible")
self.assertTrue(cube.select_get(), "Cube should be selected")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,60 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_selectability(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Selectability Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
layer_collection_kid = layer.collections.link(scene_collection_kid)
bpy.context.view_layer.update() # update depsgraph
cube.select_set(True)
layer_collection_mom.collections[layer_collection_kid.name].enabled = False
layer_collection_kid.enabled = False
bpy.context.view_layer.update() # update depsgraph
self.assertFalse(cube.visible_get(), "Cube should be invisible")
self.assertFalse(cube.select_get(), "Cube should be unselected")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,58 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_selectability(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Selectability Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
_layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = True
layer.update() # update depsgraph
cube.select_set(True)
self.assertTrue(cube.visible_get(), "Cube should be visible")
self.assertTrue(cube.select_get(), "Cube should be selected")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,61 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_selectability(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Selectability Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = True
bpy.context.view_layer.update() # update depsgraph
cube.select_set(True)
layer_collection_mom.collections[layer_collection_kid.name].selectable = False
bpy.context.view_layer.update() # update depsgraph
self.assertTrue(cube.visible_get(), "Cube should be visible")
self.assertTrue(cube.select_get(), "Cube should be selected")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,60 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_selectability(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Selectability Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = True
cube.select_set(True)
layer_collection_mom.collections[layer_collection_kid.name].selectable = False
layer_collection_kid.enabled = False
layer.update() # update depsgraph
self.assertTrue(cube.visible_get(), "Cube should be visible")
self.assertFalse(cube.select_get(), "Cube should be unselected")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,49 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_selectability(self):
import bpy
scene = bpy.context.scene
view_layer = bpy.context.view_layer
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
scene_collection = scene.master_collection.collections.new('collection')
layer_collection = view_layer.collections.link(scene_collection)
view_layer.update() # update depsgraph
scene_collection.objects.link(cube)
self.assertTrue(layer_collection.enabled)
self.assertTrue(layer_collection.selectable)
view_layer.update() # update depsgraph
cube.select_set(True)
self.assertTrue(cube.select_get())
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,58 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_visibility(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Visibility Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene.master_collection.collections.new("Kid")
scene_collection_mom.objects.link(cube)
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = False
layer_collection_kid.enabled = True
layer.update() # update depsgraph
self.assertTrue(cube.visible_get(), "Object should be visible")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,58 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_visibility(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Visibility Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = True
layer_collection_mom.collections[layer_collection_kid.name].enabled = False
layer_collection_kid.enabled = False
layer.update() # update depsgraph
self.assertFalse(cube.visible_get(), "Object should be invisible")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,58 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_visibility(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Visibility Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = True
layer_collection_mom.collections[layer_collection_kid.name].enabled = False
layer_collection_kid.enabled = True
layer.update() # update depsgraph
self.assertTrue(cube.visible_get(), "Object should be visible")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,55 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_visibility(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Visibility Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
_layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = True
layer.update() # update depsgraph
self.assertTrue(cube.visible_get(), "Object should be visible")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,59 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_visibility(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Visibility Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_mom.objects.link(cube)
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = True
layer_collection_kid.enabled = False
layer.update() # update depsgraph
self.assertTrue(cube.visible_get(), "Object should be visible")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
# XXX, above statement is not true, why skip the first argument?
UnitTesting._extra_arguments = setup_extra_arguments(__file__)[1:]
unittest.main()

View File

@@ -0,0 +1,59 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_visibility(self):
"""
See if the depsgraph evaluation is correct
"""
import bpy
scene = bpy.context.scene
window = bpy.context.window
cube = bpy.data.objects.new('guinea pig', bpy.data.meshes.new('mesh'))
layer = scene.view_layers.new('Visibility Test')
layer.collections.unlink(layer.collections[0])
window.view_layer = layer
scene_collection_mom = scene.master_collection.collections.new("Mom")
scene_collection_kid = scene_collection_mom.collections.new("Kid")
scene_collection_mom.objects.link(cube)
scene_collection_kid.objects.link(cube)
layer_collection_mom = layer.collections.link(scene_collection_mom)
layer_collection_kid = layer.collections.link(scene_collection_kid)
layer_collection_mom.enabled = True
layer_collection_mom.collections[layer_collection_kid.name].enabled = False
layer_collection_kid.enabled = False
layer.update() # update depsgraph
self.assertTrue(cube.visible_get(), "Object should be visible")
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,35 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_visibility_empty(self):
"""
See if the depsgraph evaluation is correct
"""
self.do_visibility_object_add('EMPTY')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,35 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_visibility_cylinder(self):
"""
See if the depsgraph evaluation is correct
"""
self.do_visibility_object_add('CYLINDER')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,35 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_visibility_torus(self):
"""
See if the depsgraph evaluation is correct
"""
self.do_visibility_object_add('TORUS')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,66 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# 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.
bpy.context.view_layer.update()
self.assertTrue(ob.visible_get())
layer_collection.enabled = False
self.assertFalse(layer_collection.enabled)
# Update depsgraph.
bpy.context.view_layer.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()

View File

@@ -0,0 +1,51 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_group_create_basic(self):
"""
See if the creation of new groups is not crashing anything.
"""
import bpy
scene = bpy.context.scene
layer_collection = bpy.context.layer_collection
# Cleanup Viewport view layer
# technically this shouldn't be needed but
# for now we need it because depsgraph build all the view layers
# at once.
while len(scene.view_layers) > 1:
scene.view_layers.remove(scene.view_layers[1])
# create group
_group = layer_collection.create_group()
# update depsgraph
bpy.context.view_layer.update()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,77 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_group_create_basic(self):
"""
See if the creation of new groups is preserving visibility flags
from the original collections.
"""
import bpy
scene = bpy.context.scene
# clean slate
self.cleanup_tree()
master_collection = scene.master_collection
grandma = master_collection.collections.new('бабушка')
mom = grandma.collections.new('матушка')
child = bpy.data.objects.new("Child", None)
mom.objects.link(child)
grandma_layer_collection = scene.view_layers[0].collections.link(grandma)
mom_layer_collection = grandma_layer_collection.collections[0]
grandma_layer_collection.enabled = True
grandma_layer_collection.enabled = True
mom_layer_collection.enabled = False
mom_layer_collection.selectable = True
# update depsgraph
bpy.context.view_layer.update()
# create group
group = grandma_layer_collection.create_group()
# update depsgraph
bpy.context.view_layer.update()
# compare
self.assertEqual(len(group.view_layer.collections), 1)
grandma_group_layer = group.view_layer.collections[0]
self.assertTrue(grandma_group_layer.enabled, True)
self.assertTrue(grandma_group_layer.selectable)
self.assertEqual(len(grandma_group_layer.collections), 1)
mom_group_layer = grandma_group_layer.collections[0]
self.assertFalse(mom_group_layer.enabled)
self.assertTrue(mom_group_layer.selectable)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,61 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_group_create_basic(self):
"""
More advanced creation of group from a collection not directly linked
to the scene layer.
"""
import bpy
scene = bpy.context.scene
# clean slate
self.cleanup_tree()
children = [bpy.data.objects.new("Child", None) for i in range(3)]
master_collection = scene.master_collection
grandma_scene_collection = master_collection.collections.new('Grand-Mother')
mom_scene_collection = grandma_scene_collection.collections.new('Mother')
grandma_scene_collection.objects.link(children[0])
mom_scene_collection.objects.link(children[1])
grandma_layer_collection = scene.view_layers[0].collections.link(grandma_scene_collection)
mom_layer_collection = grandma_layer_collection.collections[mom_scene_collection.name]
# update depsgraph
bpy.context.view_layer.update()
# create group
_group = mom_layer_collection.create_group()
# update depsgraph
bpy.context.view_layer.update()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,80 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_group_write_load(self):
"""
See if saving/loading is working for groups
"""
import bpy
scene = bpy.context.scene
layer_collection = bpy.context.layer_collection
while len(scene.view_layers) > 1:
scene.view_layers.remove(scene.view_layers[1])
# create group
group = layer_collection.create_group()
self.assertEqual(1, len(bpy.data.groups))
self.assertEqual(1, bpy.data.groups[0].users)
self.assertEqual(3, len(bpy.data.groups[0].objects))
import os
import tempfile
with tempfile.TemporaryDirectory() as dirpath:
filepath = os.path.join(dirpath, 'layers.blend')
for i in range(3):
# save and re-open file
bpy.ops.wm.save_mainfile('EXEC_DEFAULT', filepath=filepath)
bpy.ops.wm.open_mainfile('EXEC_DEFAULT', filepath=filepath)
self.assertEqual(1, len(bpy.data.groups))
self.assertEqual(1, bpy.data.groups[0].users)
self.assertEqual(3, len(bpy.data.groups[0].objects))
# empty the group of objects
group = bpy.data.groups[0]
while group.objects:
group.view_layer.collections[0].collection.objects.unlink(group.objects[0])
# save and re-open file
bpy.ops.wm.save_mainfile('EXEC_DEFAULT', filepath=filepath)
bpy.ops.wm.open_mainfile('EXEC_DEFAULT', filepath=filepath)
self.assertEqual(1, len(bpy.data.groups))
self.assertEqual(0, bpy.data.groups[0].users)
self.assertEqual(0, len(bpy.data.groups[0].objects))
# save and re-open file
bpy.ops.wm.save_mainfile('EXEC_DEFAULT', filepath=filepath)
bpy.ops.wm.open_mainfile('EXEC_DEFAULT', filepath=filepath)
self.assertEqual(0, len(bpy.data.groups))
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,77 @@
# SPDX-FileCopyrightText: 2018-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_group_delete_object(self):
"""
See if we can safely remove instanced objects
"""
import bpy
scene = bpy.context.scene
view_layer = bpy.context.view_layer
ob = bpy.context.object
# clean up the scene a bit
for o in (o for o in view_layer.objects if o != ob):
view_layer.collections[0].collection.objects.unlink(o)
for v in (v for v in scene.view_layers if v != view_layer):
scene.view_layers.remove(v)
# update depsgraph
view_layer.update()
# create group
group = bpy.data.groups.new("Switch")
group.objects.link(ob)
# update depsgraph
view_layer.update()
# instance the group
empty = bpy.data.objects.new("Empty", None)
bpy.context.scene_collection.objects.link(empty)
_layer_collection = bpy.context.layer_collection
empty.instance_type = 'GROUP'
empty.instance_collection = group
# prepare to delete the original object
# we could just pass an overridden context
# but let's do it the old fashion way
view_layer.objects.active = ob
ob.select_set(True)
self.assertTrue(ob.select_get())
empty.select_set(False)
self.assertFalse(empty.select_get())
# update depsgraph
view_layer.update()
# delete the original object
bpy.ops.object.delete()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,118 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
compare_files,
dump,
get_layers,
get_scene_collections,
query_scene,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def do_layer_linking(self, filepath_json, link_mode):
import bpy
import os
import tempfile
ROOT = self.get_root()
with tempfile.TemporaryDirectory() as dirpath:
filepath_layers = os.path.join(ROOT, 'layers.blend')
# open file
bpy.ops.wm.open_mainfile('EXEC_DEFAULT', filepath=filepath_layers)
self.rename_collections()
# 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')
# test linking sync
subzero.objects.link(three_b)
scorpion.objects.link(three_c)
# test unlinking sync
layer = scene.view_layers.new('Fresh new Layer')
if link_mode in {'COLLECTION_LINK', 'COLLECTION_UNLINK'}:
layer.collections.link(subzero)
if link_mode == 'COLLECTION_UNLINK':
initial_collection = layer.collections['Master Collection']
layer.collections.unlink(initial_collection)
# save file
filepath_nested = os.path.join(dirpath, 'nested.blend')
bpy.ops.wm.save_mainfile('EXEC_DEFAULT', filepath=filepath_nested)
# get the generated json
datas = query_scene(filepath_nested, 'Main', (get_scene_collections, get_layers))
self.assertTrue(datas, "Data is not valid")
filepath_nested_json = os.path.join(dirpath, "nested.json")
with open(filepath_nested_json, "w") as f:
for data in datas:
f.write(dump(data))
self.assertTrue(compare_files(
filepath_nested_json,
filepath_json,
),
"Scene dump files differ")
def test_syncing_layer_new(self):
"""
See if the creation of new layers is going well
"""
import os
ROOT = self.get_root()
filepath_json = os.path.join(ROOT, 'layers_new_layer.json')
self.do_layer_linking(filepath_json, 'LAYER_NEW')
def test_syncing_layer_collection_link(self):
"""
See if the creation of new layers is going well
And linking a new scene collection in the layer works
"""
import os
ROOT = self.get_root()
filepath_json = os.path.join(ROOT, 'layers_layer_collection_link.json')
self.do_layer_linking(filepath_json, 'COLLECTION_LINK')
def test_syncing_layer_collection_unlink(self):
"""
See if the creation of new layers is going well
And unlinking the origin scene collection works
"""
import os
ROOT = self.get_root()
filepath_json = os.path.join(ROOT, 'layers_layer_collection_unlink.json')
self.do_layer_linking(filepath_json, 'COLLECTION_UNLINK')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,122 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
compare_files,
dump,
get_layers,
get_scene_collections,
query_scene,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def do_syncing(self, filepath_json, unlink_mode):
import bpy
import os
import tempfile
ROOT = self.get_root()
with tempfile.TemporaryDirectory() as dirpath:
filepath_layers = os.path.join(ROOT, 'layers.blend')
# open file
bpy.ops.wm.open_mainfile('EXEC_DEFAULT', filepath=filepath_layers)
self.rename_collections()
# create sub-collections
three_b = bpy.data.objects.get('T.3b')
three_c = bpy.data.objects.get('T.3c')
three_d = bpy.data.objects.get('T.3d')
scene = bpy.context.scene
subzero = scene.master_collection.collections['1'].collections.new('sub-zero')
scorpion = scene.master_collection.collections['1'].collections.new('scorpion')
# test linking sync
subzero.objects.link(three_b)
scorpion.objects.link(three_c)
# test unlinking sync
if unlink_mode in {'OBJECT', 'COLLECTION'}:
scorpion.objects.link(three_d)
scorpion.objects.unlink(three_d)
if unlink_mode == 'COLLECTION':
scorpion.objects.link(three_d)
scene.master_collection.collections['1'].collections.remove(subzero)
scene.master_collection.collections['1'].collections.remove(scorpion)
# save file
filepath_nested = os.path.join(dirpath, 'nested.blend')
bpy.ops.wm.save_mainfile('EXEC_DEFAULT', filepath=filepath_nested)
# get the generated json
datas = query_scene(filepath_nested, 'Main', (get_scene_collections, get_layers))
self.assertTrue(datas, "Data is not valid")
filepath_nested_json = os.path.join(dirpath, "nested.json")
with open(filepath_nested_json, "w") as f:
for data in datas:
f.write(dump(data))
self.assertTrue(compare_files(
filepath_nested_json,
filepath_json,
),
"Scene dump files differ")
def test_syncing_link(self):
"""
See if scene collections and layer collections are in sync
when we create new subcollections and link new objects
"""
import os
ROOT = self.get_root()
filepath_json = os.path.join(ROOT, 'layers_nested.json')
self.do_syncing(filepath_json, 'NONE')
def test_syncing_unlink_object(self):
"""
See if scene collections and layer collections are in sync
when we create new subcollections, link new objects and unlink
some.
"""
import os
ROOT = self.get_root()
filepath_json = os.path.join(ROOT, 'layers_nested.json')
self.do_syncing(filepath_json, 'OBJECT')
def test_syncing_unlink_collection(self):
"""
See if scene collections and layer collections are in sync
when we create new subcollections, link new objects and unlink full collections
some.
"""
import os
ROOT = self.get_root()
filepath_json = os.path.join(ROOT, 'layers.json')
self.do_syncing(filepath_json, 'COLLECTION')
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,59 @@
# SPDX-FileCopyrightText: 2018-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
ViewLayerTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(ViewLayerTesting):
def test_make_single_user(self):
"""
Really basic test, just to check for crashes on basic files.
"""
import bpy
scene = bpy.context.scene
master_collection = scene.master_collection
view_layer = bpy.context.view_layer
ob = bpy.context.object
# clean up the scene a bit
for o in (o for o in view_layer.objects if o != ob):
view_layer.collections[0].collection.objects.unlink(o)
for v in (v for v in scene.view_layers if v != view_layer):
scene.view_layers.remove(v)
while master_collection.collections:
master_collection.collections.remove(
master_collection.collections[0])
view_layer.collections.link(master_collection)
ob.select_set(True)
# update depsgraph
view_layer.update()
# test itself
bpy.ops.object.make_single_user(object=True)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_below('Layer 1.3', 'Layer 1.C'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_above('Layer 1.C', 'Layer 1.3'))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_below('Layer 1.3.cat', 'Layer 1.3.dog'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_above('Layer 1.3.dog', 'Layer 1.3.cat'))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_below('Layer 1.3.cat', 'Layer 1.3.dog'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_above('Layer 1.3.dog', 'Layer 1.3.cat'))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_above('Layer 2.3.dog', 'Layer 1.C.2'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_below('Layer 1.C.2', 'Layer 2.3.dog'))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_move(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_below('Layer 1.Master Collection', 'Layer 1.C.1'))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,105 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['3', [
['dog', None],
['cat', None],
]],
['2', None],
]],
]
return reference_tree_map
def get_reference_layers_tree_map(self):
reference_layers_map = [
['Layer 1', [
'Master Collection',
'C',
'3',
]],
['Layer 2', [
'C',
'dog',
'cat',
]],
]
return reference_layers_map
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_below('Layer 2.3', 'Layer 2.C.1'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_above('Layer 2.3', 'Layer 2.C.2'))
self.compare_tree_maps()
def test_layer_collection_move_c(self):
"""
Test outliner operations
"""
self.setup_tree()
# collection that will be moved
collection_original = self.parse_move('Layer 2.3')
collection_original.enabled = True
collection_original.selectable = False
# collection that will disappear
collection_old = self.parse_move('Layer 2.C.3')
collection_old.enabled = False
collection_old.selectable = True
# move
self.assertTrue(self.move_below('Layer 2.3', 'Layer 2.C.1'))
self.compare_tree_maps()
# we expect the settings to be carried along from the
# original layer collection
collection_new = self.parse_move('Layer 2.C.3')
self.assertEqual(collection_new.enabled, True)
self.assertEqual(collection_new.selectable, False)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,86 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['cat', None],
['dog', None],
]],
]],
]
return reference_tree_map
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_above('Layer 2.C.3.cat', 'Layer 2.3.dog'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
# collection that will be moved
collection_original = self.parse_move('Layer 2.C.3.cat')
collection_original.enabled = True
collection_original.selectable = False
# collection that will disappear
collection_old = self.parse_move('Layer 2.3.cat')
collection_old.enabled = False
collection_old.selectable = True
# move
self.assertTrue(self.move_above('Layer 2.C.3.cat', 'Layer 2.3.dog'))
self.compare_tree_maps()
# we expect the settings to be carried along from the
# original layer collection
collection_new = self.parse_move('Layer 2.3.cat')
self.assertEqual(collection_new.enabled, True)
self.assertEqual(collection_new.selectable, False)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,71 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_below('Layer 2.C.3.cat', 'Layer 2.3.dog'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
# collection that will be moved
collection_original = self.parse_move('Layer 2.C.3.cat')
collection_original.enabled = True
collection_original.selectable = False
# collection that will disappear
collection_old = self.parse_move('Layer 2.3.cat')
collection_old.enabled = False
collection_old.selectable = True
# move
self.assertTrue(self.move_below('Layer 2.C.3.cat', 'Layer 2.3.dog'))
self.compare_tree_maps()
# we expect the settings to be carried along from the
# original layer collection
collection_new = self.parse_move('Layer 2.3.cat')
self.assertEqual(collection_new.enabled, True)
self.assertEqual(collection_new.selectable, False)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,78 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
reference_layers_map = [
['Layer 1', [
'Master Collection',
'C',
'3',
]],
['Layer 2', [
'3',
'C',
'dog',
'cat',
]],
]
return reference_layers_map
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_below('Layer 2.C', 'Layer 2.3'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
# collection that will be moved
collection_original = self.parse_move('Layer 2.C')
collection_original.enabled = True
collection_original.selectable = False
# move
self.assertTrue(self.move_below('Layer 2.C', 'Layer 2.3'))
self.compare_tree_maps()
# we expect the settings to be carried along from the
# original layer collection
collection_new = self.parse_move('Layer 2.C')
self.assertEqual(collection_new.enabled, True)
self.assertEqual(collection_new.selectable, False)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,68 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_below('Layer 1.3.dog', 'Layer 1.3.cat'))
self.assertTrue(self.move_above('Layer 1.3.dog', 'Layer 1.3.cat'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
# collection that will be moved
collection_original = self.parse_move('Layer 1.3.dog')
collection_original.enabled = True
collection_original.selectable = False
# move
self.assertTrue(self.move_below('Layer 1.3.dog', 'Layer 1.3.cat'))
self.assertTrue(self.move_above('Layer 1.3.dog', 'Layer 1.3.cat'))
self.compare_tree_maps()
# we expect the settings to be carried along from the
# original layer collection
collection_new = self.parse_move('Layer 1.3.dog')
self.assertEqual(collection_new.enabled, True)
self.assertEqual(collection_new.selectable, False)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_move(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_below('Layer 2.C.2', 'Layer 2.3'))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,65 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
reference_layers_map = [
['Layer 1', [
'Master Collection',
'C',
'3',
]],
['Layer 2', [
'C',
'cat',
'3',
'dog',
]],
]
return reference_layers_map
def test_layer_collection_move_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_below('Layer 2.cat', 'Layer 2.C'))
self.compare_tree_maps()
def test_layer_collection_move_b(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_above('Layer 2.cat', 'Layer 2.3'))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,85 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['cat'].move_above(tree['dog']))
self.assertTrue(tree['dog'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['dog'].move_below(tree['cat']))
self.assertTrue(tree['cat'].move_below(tree['dog']))
self.compare_tree_maps()
def test_scene_collection_move_c(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['dog'].move_below(tree['cat']))
self.assertTrue(tree['dog'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_d(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['cat'].move_above(tree['dog']))
self.assertTrue(tree['cat'].move_below(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,74 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['3', [
['dog', None],
['cat', None],
]],
['1', None],
['2', None],
]],
]
return reference_tree_map
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['3'].move_above(tree['1']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['1'].move_below(tree['3']))
self.assertTrue(tree['2'].move_below(tree['1']))
self.compare_tree_maps()
def test_scene_collection_move_c(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['3'].move_above(tree['2']))
self.assertTrue(tree['1'].move_above(tree['2']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['3', [
['dog', None],
['cat', None],
]],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
]],
]
return reference_tree_map
def test_scene_collection_move(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['3'].move_below(tree['ii']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,65 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['B', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['B'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['B'].move_below(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,65 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
reference_tree_map = [
['A', [
['i', None],
['ii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['iii', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['iii'].move_below(tree['dog']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['iii'].move_above(tree['cat']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['dog', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_move(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['A'].move_above(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,49 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['dog'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['cat'].move_below(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,89 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
import bpy
master_collection = bpy.context.scene.master_collection
tree = self.setup_tree()
for collection in tree.values():
# can't move into master_collection anywhere
self.assertFalse(master_collection.move_above(collection))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
import bpy
master_collection = bpy.context.scene.master_collection
tree = self.setup_tree()
for collection in tree.values():
# can't move into master_collection anywhere
self.assertFalse(master_collection.move_below(collection))
self.compare_tree_maps()
def test_scene_collection_move_c(self):
"""
Test outliner operations
"""
import bpy
master_collection = bpy.context.scene.master_collection
tree = self.setup_tree()
for collection in tree.values():
# can't move into master_collection anywhere
self.assertFalse(collection.move_above(master_collection))
self.compare_tree_maps()
def test_scene_collection_move_d(self):
"""
Test outliner operations
"""
import bpy
master_collection = bpy.context.scene.master_collection
tree = self.setup_tree()
for collection in tree.values():
# can't move into master_collection anywhere
self.assertFalse(collection.move_below(master_collection))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,65 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_above(tree['2']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_below(tree['2']))
self.compare_tree_maps()
def test_scene_collection_move_c(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_d(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_below(tree['cat']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,85 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['cat'].move_above(tree['dog']))
self.assertTrue(tree['dog'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['dog'].move_below(tree['cat']))
self.assertTrue(tree['cat'].move_below(tree['dog']))
self.compare_tree_maps()
def test_scene_collection_move_c(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['dog'].move_below(tree['cat']))
self.assertTrue(tree['dog'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_d(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['cat'].move_above(tree['dog']))
self.assertTrue(tree['cat'].move_below(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,74 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['3', [
['dog', None],
['cat', None],
]],
['1', None],
['2', None],
]],
]
return reference_tree_map
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['3'].move_above(tree['1']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['1'].move_below(tree['3']))
self.assertTrue(tree['2'].move_below(tree['1']))
self.compare_tree_maps()
def test_scene_collection_move_c(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['3'].move_above(tree['2']))
self.assertTrue(tree['1'].move_above(tree['2']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['3', [
['dog', None],
['cat', None],
]],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
]],
]
return reference_tree_map
def test_scene_collection_move(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['3'].move_below(tree['ii']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,65 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['B', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['B'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['B'].move_below(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,65 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
reference_tree_map = [
['A', [
['i', None],
['ii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['iii', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['iii'].move_below(tree['dog']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['iii'].move_above(tree['cat']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['dog', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_move(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['A'].move_above(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,49 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['dog'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['cat'].move_below(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,89 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
import bpy
master_collection = bpy.context.scene.master_collection
tree = self.setup_tree()
for collection in tree.values():
# can't move into master_collection anywhere
self.assertFalse(master_collection.move_above(collection))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
import bpy
master_collection = bpy.context.scene.master_collection
tree = self.setup_tree()
for collection in tree.values():
# can't move into master_collection anywhere
self.assertFalse(master_collection.move_below(collection))
self.compare_tree_maps()
def test_scene_collection_move_c(self):
"""
Test outliner operations
"""
import bpy
master_collection = bpy.context.scene.master_collection
tree = self.setup_tree()
for collection in tree.values():
# can't move into master_collection anywhere
self.assertFalse(collection.move_above(master_collection))
self.compare_tree_maps()
def test_scene_collection_move_d(self):
"""
Test outliner operations
"""
import bpy
master_collection = bpy.context.scene.master_collection
tree = self.setup_tree()
for collection in tree.values():
# can't move into master_collection anywhere
self.assertFalse(collection.move_below(master_collection))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,65 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_move_a(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_above(tree['2']))
self.compare_tree_maps()
def test_scene_collection_move_b(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_below(tree['2']))
self.compare_tree_maps()
def test_scene_collection_move_c(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_above(tree['cat']))
self.compare_tree_maps()
def test_scene_collection_move_d(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_below(tree['cat']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,74 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['cat', None],
]],
]],
]
return reference_tree_map
def get_reference_layers_tree_map(self):
# original tree, no changes
reference_layers_map = [
['Layer 1', [
'Master Collection',
'C',
'3',
]],
['Layer 2', [
'C',
'3',
'dog',
'cat',
]],
]
return reference_layers_map
def test_layer_collection_into(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_into("Layer 1.C.2", "Layer 2.3"))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_into(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_into('Layer 1.3', 'Layer 1.3.cat'))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_into(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_into("Layer 2.C", "Layer 2.3"))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_into(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_into("Layer 2.3.cat", "Layer 2.3"))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_into(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_into("Layer 1.Master Collection", "Layer 1.C"))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,91 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
['3', [
['dog', None],
['cat', None],
]],
]],
['B', None],
['C', [
['1', None],
['2', None],
]],
]
return reference_tree_map
def get_reference_layers_tree_map(self):
reference_layers_map = [
['Layer 1', [
'Master Collection',
'C',
]],
['Layer 2', [
'C',
'3',
'dog',
'cat',
]],
]
return reference_layers_map
def test_layer_collection_into_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_into("Layer 1.3", "Layer 1.Master Collection.A"))
self.compare_tree_maps()
def test_layer_collection_into_b(self):
"""
Test outliner operations
"""
self.setup_tree()
# collection that will be moved
collection_original = self.parse_move('Layer 1.3')
collection_original.enabled = True
collection_original.selectable = False
self.assertTrue(self.move_into('Layer 1.3', 'Layer 1.Master Collection.A'))
self.compare_tree_maps()
# we expect the settings to be carried along from the
# original layer collection
collection_new = self.parse_move('Layer 1.Master Collection.A.3')
self.assertEqual(collection_new.enabled, True)
self.assertEqual(collection_new.selectable, False)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,82 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
reference_layers_map = [
['Layer 1', [
'Master Collection',
'C',
'3',
]],
['Layer 2', [
'C',
'dog',
'cat',
]],
]
return reference_layers_map
def test_layer_collection_into_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_into('Layer 2.3', 'Layer 2.C'))
self.compare_tree_maps()
def test_layer_collection_into_b(self):
"""
Test outliner operations
"""
self.setup_tree()
# collection that will be moved
collection_original = self.parse_move('Layer 2.3')
collection_original.enabled = True
collection_original.selectable = False
# collection that will disappear
collection_old = self.parse_move('Layer 2.C.3')
collection_old.enabled = False
collection_old.selectable = True
# move collection
self.assertTrue(self.move_into('Layer 2.3', 'Layer 2.C'))
self.compare_tree_maps()
# we expect the settings to be carried along from the
# original layer collection
collection_new = self.parse_move('Layer 2.C.3')
self.assertEqual(collection_new.enabled, True)
self.assertEqual(collection_new.selectable, False)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,81 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['1', [
['dog', None],
]],
['2', None],
['3', [
['cat', None],
]],
]],
]
return reference_tree_map
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_into_a(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertTrue(self.move_into('Layer 1.3.dog', 'Layer 1.C.1'))
self.compare_tree_maps()
def test_layer_collection_into_b(self):
"""
Test outliner operations
"""
self.setup_tree()
# collection that will be moved
collection_original = self.parse_move('Layer 1.3.dog')
collection_original.enabled = True
collection_original.selectable = False
self.assertTrue(self.move_into('Layer 1.3.dog', 'Layer 1.C.1'))
self.compare_tree_maps()
# we expect the settings to be carried along from the
# original layer collection
collection_new = self.parse_move('Layer 1.C.1.dog')
self.assertEqual(collection_new.enabled, True)
self.assertEqual(collection_new.selectable, False)
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,45 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_into(self):
"""
Test outliner operations
"""
self.setup_tree()
self.assertFalse(self.move_into('Layer 2.C.3', 'Layer 2.dog'))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,46 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def get_reference_layers_tree_map(self):
# original tree, no changes
return self.get_initial_layers_tree_map()
def test_layer_collection_into(self):
"""
Test outliner operations
Prevent collection from being dragged into itself
"""
self.setup_tree()
self.assertFalse(self.move_into("Layer 2.dog", "Layer 2.3.dog"))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,58 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['cat'].move_into(tree['2']))
self.assertTrue(tree['cat'].move_into(tree['3']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveLayerCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveLayerCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', [
['3', [
['dog', None],
['cat', None],
]],
]],
['C', [
['1', None],
['2', None],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['3'].move_into(tree['B']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', [
['cat', None],
]],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['cat'].move_into(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,42 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
# can't move into a collection if already the last item of the collection
self.assertFalse(tree['cat'].move_into(tree['3']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['cat', [
['B', None],
]],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['B'].move_into(tree['cat']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['cat', None],
['B', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['B'].move_into(tree['3']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
]],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['A'].move_into(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', [
['ii', None],
]],
['3', [
['dog', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['ii'].move_into(tree['2']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', [
['ii', None],
]],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['ii'].move_into(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,48 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_into(self):
"""
Test outliner operations
"""
import bpy
master_collection = bpy.context.scene.master_collection
tree = self.setup_tree()
for collection in tree.values():
# can't move into master_collection anywhere
self.assertFalse(master_collection.move_into(collection))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,41 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_into(tree['2']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,41 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertFalse(tree['C'].move_into(tree['cat']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,42 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['cat'].move_into(tree['2']))
self.assertTrue(tree['cat'].move_into(tree['3']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', [
['3', [
['dog', None],
['cat', None],
]],
]],
['C', [
['1', None],
['2', None],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['3'].move_into(tree['B']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', [
['cat', None],
]],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['cat'].move_into(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,42 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
# original tree, no changes
return self.get_initial_scene_tree_map()
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
# can't move into a collection if already the last item of the collection
self.assertFalse(tree['cat'].move_into(tree['3']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['cat', [
['B', None],
]],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['B'].move_into(tree['cat']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,56 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
['C', [
['1', None],
['2', None],
['3', [
['dog', None],
['cat', None],
['B', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['B'].move_into(tree['3']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', [
['A', [
['i', None],
['ii', None],
['iii', None],
]],
]],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['A'].move_into(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', [
['ii', None],
]],
['3', [
['dog', None],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['ii'].move_into(tree['2']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

View File

@@ -0,0 +1,57 @@
# SPDX-FileCopyrightText: 2017-2022 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ############################################################
# Importing - Same For All Render Layer Tests
# ############################################################
import unittest
from view_layer_common import (
MoveSceneCollectionSyncTesting,
setup_extra_arguments,
)
# ############################################################
# Testing
# ############################################################
class UnitTesting(MoveSceneCollectionSyncTesting):
def get_reference_scene_tree_map(self):
reference_tree_map = [
['A', [
['i', None],
['iii', None],
]],
['B', None],
['C', [
['1', None],
['2', None],
['3', [
['dog', [
['ii', None],
]],
['cat', None],
]],
]],
]
return reference_tree_map
def test_scene_collection_into(self):
"""
Test outliner operations
"""
tree = self.setup_tree()
self.assertTrue(tree['ii'].move_into(tree['dog']))
self.compare_tree_maps()
# ############################################################
# Main - Same For All Render Layer Tests
# ############################################################
if __name__ == '__main__':
UnitTesting._extra_arguments = setup_extra_arguments(__file__)
unittest.main()

Some files were not shown because too many files have changed in this diff Show More