Layers: move LayerCollection
This is to be used from the Outliner, when dragging and dropping collections from the Active Render Layer It also includes a cleanup on the outliner so it calls the new functions. Note: the outliner still needs fix to allow all the functionality here exposed. But this will be tackled by Julian Eisel later.
This commit is contained in:
parent
3a1748146b
commit
d9f42e5fab
|
@ -66,7 +66,7 @@ void BKE_scene_layer_engine_set(struct SceneLayer *sl, const char *engine);
|
|||
|
||||
void BKE_scene_layer_selected_objects_tag(struct SceneLayer *sl, const int tag);
|
||||
|
||||
struct SceneLayer *BKE_scene_layer_find_from_collection(struct Scene *scene, struct LayerCollection *lc);
|
||||
struct SceneLayer *BKE_scene_layer_find_from_collection(const struct Scene *scene, struct LayerCollection *lc);
|
||||
struct Base *BKE_scene_layer_base_find(struct SceneLayer *sl, struct Object *ob);
|
||||
void BKE_scene_layer_base_deselect_all(struct SceneLayer *sl);
|
||||
void BKE_scene_layer_base_select(struct SceneLayer *sl, struct Base *selbase);
|
||||
|
@ -83,9 +83,7 @@ struct LayerCollection *BKE_layer_collection_active(struct SceneLayer *sl);
|
|||
|
||||
int BKE_layer_collection_count(struct SceneLayer *sl);
|
||||
|
||||
int BKE_layer_collection_findindex(struct SceneLayer *sl, struct LayerCollection *lc);
|
||||
bool BKE_layer_collection_reinsert_after(const struct Scene *scene, struct SceneLayer *sl,
|
||||
struct LayerCollection *lc_reinsert, struct LayerCollection *lc_after);
|
||||
int BKE_layer_collection_findindex(struct SceneLayer *sl, const struct LayerCollection *lc);
|
||||
|
||||
bool BKE_layer_collection_move_above(const struct Scene *scene, struct LayerCollection *lc_dst, struct LayerCollection *lc_src);
|
||||
bool BKE_layer_collection_move_below(const struct Scene *scene, struct LayerCollection *lc_dst, struct LayerCollection *lc_src);
|
||||
|
|
|
@ -192,7 +192,7 @@ static bool find_scene_collection_in_scene_collections(ListBase *lb, const Layer
|
|||
/**
|
||||
* Find the SceneLayer a LayerCollection belongs to
|
||||
*/
|
||||
SceneLayer *BKE_scene_layer_find_from_collection(Scene *scene, LayerCollection *lc)
|
||||
SceneLayer *BKE_scene_layer_find_from_collection(const Scene *scene, LayerCollection *lc)
|
||||
{
|
||||
for (SceneLayer *sl = scene->render_layers.first; sl; sl = sl->next) {
|
||||
if (find_scene_collection_in_scene_collections(&sl->layer_collections, lc)) {
|
||||
|
@ -465,7 +465,7 @@ int BKE_layer_collection_count(SceneLayer *sl)
|
|||
/**
|
||||
* Recursively get the index for a given collection
|
||||
*/
|
||||
static int index_from_collection(ListBase *lb, LayerCollection *lc, int *i)
|
||||
static int index_from_collection(ListBase *lb, const LayerCollection *lc, int *i)
|
||||
{
|
||||
for (LayerCollection *lcol = lb->first; lcol; lcol = lcol->next) {
|
||||
if (lcol == lc) {
|
||||
|
@ -485,7 +485,7 @@ static int index_from_collection(ListBase *lb, LayerCollection *lc, int *i)
|
|||
/**
|
||||
* Return -1 if not found
|
||||
*/
|
||||
int BKE_layer_collection_findindex(SceneLayer *sl, LayerCollection *lc)
|
||||
int BKE_layer_collection_findindex(SceneLayer *sl, const LayerCollection *lc)
|
||||
{
|
||||
int i = 0;
|
||||
return index_from_collection(&sl->layer_collections, lc, &i);
|
||||
|
@ -510,6 +510,7 @@ static ListBase *layer_collection_listbase_find(ListBase *lb, LayerCollection *l
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#if 0
|
||||
/**
|
||||
* Lookup the listbase that contains \a sc.
|
||||
*/
|
||||
|
@ -528,50 +529,7 @@ static ListBase *scene_collection_listbase_find(ListBase *lb, SceneCollection *s
|
|||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Move \a lc_reinsert so that it follows \a lc_after. Both have to be stored in \a sl.
|
||||
* \param lc_after: Can be NULL to reinsert \a lc_after as first collection of its own list.
|
||||
*/
|
||||
bool BKE_layer_collection_reinsert_after(
|
||||
const Scene *scene, SceneLayer *sl, LayerCollection *lc_reinsert, LayerCollection *lc_after)
|
||||
{
|
||||
/* TODO this function probably needs to be rewritten completely to support all cases
|
||||
* (reinserting master collection, reinsert into different hierarchy levels, etc) */
|
||||
TODO_LAYER_OPERATORS;
|
||||
#if 0
|
||||
SceneCollection *sc_master = BKE_collection_master(scene);
|
||||
SceneCollection *sc_reinsert = lc_reinsert->scene_collection;
|
||||
ListBase *lc_reinsert_lb = layer_collection_listbase_find(&sl->layer_collections, lc_reinsert);
|
||||
ListBase *sc_reinsert_lb = scene_collection_listbase_find(&sc_master->scene_collections, sc_reinsert);
|
||||
|
||||
BLI_assert(BLI_findindex(lc_reinsert_lb, lc_reinsert) > -1);
|
||||
BLI_assert(BLI_findindex(sc_reinsert_lb, sc_reinsert) > -1);
|
||||
BLI_remlink(lc_reinsert_lb, lc_reinsert);
|
||||
BLI_remlink(sc_reinsert_lb, sc_reinsert);
|
||||
|
||||
/* insert after lc_after or */
|
||||
if (lc_after == NULL) {
|
||||
BLI_addhead(lc_reinsert_lb, lc_reinsert);
|
||||
BLI_addhead(sc_reinsert_lb, sc_reinsert);
|
||||
}
|
||||
else {
|
||||
SceneCollection *sc_after = lc_after->scene_collection;
|
||||
ListBase *lc_after_lb = layer_collection_listbase_find(&sl->layer_collections, lc_after);
|
||||
ListBase *sc_after_lb = scene_collection_listbase_find(&sc_master->scene_collections, sc_after);
|
||||
|
||||
BLI_insertlinkafter(lc_after_lb, lc_after, lc_reinsert);
|
||||
BLI_insertlinkafter(sc_after_lb, sc_after, sc_reinsert);
|
||||
}
|
||||
|
||||
BKE_scene_layer_base_flag_recalculate(sl);
|
||||
BKE_scene_layer_engine_settings_collection_recalculate(sl, lc_reinsert);
|
||||
#else
|
||||
UNUSED_VARS(scene, sl, lc_reinsert, lc_after);
|
||||
UNUSED_VARS(layer_collection_listbase_find, scene_collection_listbase_find);
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
/* Outliner drag and drop */
|
||||
|
@ -590,28 +548,233 @@ bool BKE_layer_collection_reinsert_after(
|
|||
* \param lc_src LayerCollection to nest into \a lc_dst
|
||||
* \param lc_dst LayerCollection to have \a lc_src inserted into
|
||||
*/
|
||||
bool BKE_layer_collection_move_into(const Scene *scene, LayerCollection *lc_src, LayerCollection *lc_dst)
|
||||
|
||||
static void layer_collection_swap(
|
||||
SceneLayer *sl, ListBase *lb_a, ListBase *lb_b,
|
||||
LayerCollection *lc_a, LayerCollection *lc_b)
|
||||
{
|
||||
/* TODO this is missing */
|
||||
TODO_LAYER_OPERATORS;
|
||||
UNUSED_VARS(scene, lc_src, lc_dst);
|
||||
return false;
|
||||
if (lb_a == NULL) {
|
||||
lb_a = layer_collection_listbase_find(&sl->layer_collections, lc_a);
|
||||
}
|
||||
|
||||
if (lb_b == NULL) {
|
||||
lb_b = layer_collection_listbase_find(&sl->layer_collections, lc_b);
|
||||
}
|
||||
|
||||
BLI_assert(lb_a);
|
||||
BLI_assert(lb_b);
|
||||
|
||||
BLI_listbases_swaplinks(lb_a, lb_b, lc_a, lc_b);
|
||||
}
|
||||
|
||||
/**
|
||||
* Move \a lc_src into \a lc_dst. Both have to be stored in \a sl.
|
||||
* If \a lc_src is directly linked to the SceneLayer it's unlinked
|
||||
*/
|
||||
bool BKE_layer_collection_move_into(const Scene *scene, LayerCollection *lc_dst, LayerCollection *lc_src)
|
||||
{
|
||||
SceneLayer *sl = BKE_scene_layer_find_from_collection(scene, lc_src);
|
||||
bool is_directly_linked = false;
|
||||
|
||||
if ((!sl) || (sl != BKE_scene_layer_find_from_collection(scene, lc_dst))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Collection is already where we wanted it to be */
|
||||
if (lc_dst->layer_collections.last == lc_src) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Collection is already where we want it to be in the scene tree
|
||||
* but we want to swap it in the layer tree still */
|
||||
if (lc_dst->scene_collection->scene_collections.last == lc_src->scene_collection) {
|
||||
LayerCollection *lc_swap = lc_dst->layer_collections.last;
|
||||
layer_collection_swap(sl, &lc_dst->layer_collections, NULL, lc_dst->layer_collections.last, lc_src);
|
||||
|
||||
if (BLI_findindex(&sl->layer_collections, lc_swap) != -1) {
|
||||
BKE_collection_unlink(sl, lc_swap);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
LayerCollection *lc_temp;
|
||||
is_directly_linked = BLI_findindex(&sl->layer_collections, lc_src) != -1;
|
||||
|
||||
if (!is_directly_linked) {
|
||||
/* lc_src will be invalid after BKE_collection_move_into!
|
||||
* so we swap it with lc_temp to preserve its settings */
|
||||
lc_temp = BKE_collection_link(sl, lc_src->scene_collection);
|
||||
layer_collection_swap(sl, &sl->layer_collections, NULL, lc_temp, lc_src);
|
||||
}
|
||||
|
||||
if (!BKE_collection_move_into(scene, lc_dst->scene_collection, lc_src->scene_collection)) {
|
||||
if (!is_directly_linked) {
|
||||
/* Swap back and remove */
|
||||
layer_collection_swap(sl, NULL, NULL, lc_temp, lc_src);
|
||||
BKE_collection_unlink(sl, lc_temp);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
LayerCollection *lc_new = BLI_findptr(&lc_dst->layer_collections, lc_src->scene_collection, offsetof(LayerCollection, scene_collection));
|
||||
BLI_assert(lc_new);
|
||||
layer_collection_swap(sl, &lc_dst->layer_collections, NULL, lc_new, lc_src);
|
||||
|
||||
/* If it's directly linked, unlink it after the swap */
|
||||
if (BLI_findindex(&sl->layer_collections, lc_new) != -1) {
|
||||
BKE_collection_unlink(sl, lc_new);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Move \a lc_src above \a lc_dst. Both have to be stored in \a sl.
|
||||
* If \a lc_src is directly linked to the SceneLayer it's unlinked
|
||||
*/
|
||||
bool BKE_layer_collection_move_above(const Scene *scene, LayerCollection *lc_dst, LayerCollection *lc_src)
|
||||
{
|
||||
/* TODO this is missing */
|
||||
TODO_LAYER_OPERATORS;
|
||||
UNUSED_VARS(scene, lc_dst, lc_src);
|
||||
return false;
|
||||
SceneLayer *sl = BKE_scene_layer_find_from_collection(scene, lc_src);
|
||||
const bool is_directly_linked_src = BLI_findindex(&sl->layer_collections, lc_src) != -1;
|
||||
const bool is_directly_linked_dst = BLI_findindex(&sl->layer_collections, lc_dst) != -1;
|
||||
|
||||
if ((!sl) || (sl != BKE_scene_layer_find_from_collection(scene, lc_dst))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Collection is already where we wanted it to be */
|
||||
if (lc_dst->prev == lc_src) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Collection is already where we want it to be in the scene tree
|
||||
* but we want to swap it in the layer tree still */
|
||||
if (lc_dst->prev && lc_dst->prev->scene_collection == lc_src->scene_collection) {
|
||||
LayerCollection *lc_swap = lc_dst->prev;
|
||||
layer_collection_swap(sl, NULL, NULL, lc_dst->prev, lc_src);
|
||||
|
||||
if (BLI_findindex(&sl->layer_collections, lc_swap) != -1) {
|
||||
BKE_collection_unlink(sl, lc_swap);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/* We don't allow to move above/below a directly linked collection
|
||||
* unless the source collection is also directly linked */
|
||||
else if (is_directly_linked_dst) {
|
||||
/* Both directly linked to the SceneLayer, just need to swap */
|
||||
if (is_directly_linked_src) {
|
||||
BLI_listbase_swaplinks(&sl->layer_collections, lc_src, lc_dst);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
LayerCollection *lc_temp;
|
||||
|
||||
if (!is_directly_linked_src) {
|
||||
/* lc_src will be invalid after BKE_collection_move_into!
|
||||
* so we swap it with lc_temp to preserve its settings */
|
||||
lc_temp = BKE_collection_link(sl, lc_src->scene_collection);
|
||||
layer_collection_swap(sl, &sl->layer_collections, NULL, lc_temp, lc_src);
|
||||
}
|
||||
|
||||
if (!BKE_collection_move_above(scene, lc_dst->scene_collection, lc_src->scene_collection)) {
|
||||
if (!is_directly_linked_src) {
|
||||
/* Swap back and remove */
|
||||
layer_collection_swap(sl, NULL, NULL, lc_temp, lc_src);
|
||||
BKE_collection_unlink(sl, lc_temp);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
LayerCollection *lc_new = lc_dst->prev;
|
||||
BLI_assert(lc_new);
|
||||
layer_collection_swap(sl, NULL, NULL, lc_new, lc_src);
|
||||
|
||||
/* If it's directly linked, unlink it after the swap */
|
||||
if (BLI_findindex(&sl->layer_collections, lc_new) != -1) {
|
||||
BKE_collection_unlink(sl, lc_new);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Move \a lc_src below \a lc_dst. Both have to be stored in \a sl.
|
||||
* If \a lc_src is directly linked to the SceneLayer it's unlinked
|
||||
*/
|
||||
bool BKE_layer_collection_move_below(const Scene *scene, LayerCollection *lc_dst, LayerCollection *lc_src)
|
||||
{
|
||||
/* TODO this is missing */
|
||||
TODO_LAYER_OPERATORS;
|
||||
UNUSED_VARS(scene, lc_dst, lc_src);
|
||||
return false;
|
||||
SceneLayer *sl = BKE_scene_layer_find_from_collection(scene, lc_src);
|
||||
const bool is_directly_linked_src = BLI_findindex(&sl->layer_collections, lc_src) != -1;
|
||||
const bool is_directly_linked_dst = BLI_findindex(&sl->layer_collections, lc_dst) != -1;
|
||||
|
||||
if ((!sl) || (sl != BKE_scene_layer_find_from_collection(scene, lc_dst))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Collection is already where we wanted it to be */
|
||||
if (lc_dst->next == lc_src) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Collection is already where we want it to be in the scene tree
|
||||
* but we want to swap it in the layer tree still */
|
||||
if (lc_dst->next && lc_dst->next->scene_collection == lc_src->scene_collection) {
|
||||
LayerCollection *lc_swap = lc_dst->next;
|
||||
layer_collection_swap(sl, NULL, NULL, lc_dst->next, lc_src);
|
||||
|
||||
if (BLI_findindex(&sl->layer_collections, lc_swap) != -1) {
|
||||
BKE_collection_unlink(sl, lc_swap);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
/* We don't allow to move above/below a directly linked collection
|
||||
* unless the source collection is also directly linked */
|
||||
else if (is_directly_linked_dst) {
|
||||
/* Both directly linked to the SceneLayer, just need to swap */
|
||||
if (is_directly_linked_src) {
|
||||
BLI_listbase_swaplinks(&sl->layer_collections, lc_src, lc_dst);
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
LayerCollection *lc_temp;
|
||||
|
||||
if (!is_directly_linked_src) {
|
||||
/* lc_src will be invalid after BKE_collection_move_into!
|
||||
* so we swap it with lc_temp to preserve its settings */
|
||||
lc_temp = BKE_collection_link(sl, lc_src->scene_collection);
|
||||
layer_collection_swap(sl, &sl->layer_collections, NULL, lc_temp, lc_src);
|
||||
}
|
||||
|
||||
if (!BKE_collection_move_below(scene, lc_dst->scene_collection, lc_src->scene_collection)) {
|
||||
if (!is_directly_linked_src) {
|
||||
/* Swap back and remove */
|
||||
layer_collection_swap(sl, NULL, NULL, lc_temp, lc_src);
|
||||
BKE_collection_unlink(sl, lc_temp);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
LayerCollection *lc_new = lc_dst->next;
|
||||
BLI_assert(lc_new);
|
||||
layer_collection_swap(sl, NULL, NULL, lc_new, lc_src);
|
||||
|
||||
/* If it's directly linked, unlink it after the swap */
|
||||
if (BLI_findindex(&sl->layer_collections, lc_new) != -1) {
|
||||
BKE_collection_unlink(sl, lc_new);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool layer_collection_resync(SceneLayer *sl, LayerCollection *lc, const SceneCollection *sc)
|
||||
|
|
|
@ -1290,15 +1290,23 @@ static void outliner_add_orphaned_datablocks(Main *mainvar, SpaceOops *soops)
|
|||
static void outliner_layer_collections_reorder(const Scene *scene, TreeElement *insert_element, TreeElement *insert_handle,
|
||||
TreeElementInsertType action)
|
||||
{
|
||||
SceneLayer *sl = BKE_scene_layer_render_active(scene);
|
||||
LayerCollection *insert_coll = insert_element->directdata;
|
||||
LayerCollection *insert_handle_coll = insert_handle ? insert_handle->directdata : NULL;
|
||||
LayerCollection *sc_src = insert_element->directdata;
|
||||
LayerCollection *sc_dst = insert_handle ? insert_handle->directdata : NULL;
|
||||
|
||||
if (action == TE_INSERT_AFTER) {
|
||||
BKE_layer_collection_reinsert_after(scene, sl, insert_coll, insert_handle_coll);
|
||||
if (sc_dst == NULL) {
|
||||
/* It needs a LayerCollection to use as reference,
|
||||
* specially now that we are to allow insert in collections
|
||||
* that don't belong to the same hierarchical level */
|
||||
TODO_LAYER_OPERATORS;
|
||||
/* BKE_layer_collection_move_after(scene, sc_dst, sc_src); */
|
||||
}
|
||||
else {
|
||||
BKE_layer_collection_move_below(scene, sc_dst, sc_src);
|
||||
}
|
||||
}
|
||||
else if (action == TE_INSERT_INTO) {
|
||||
BKE_layer_collection_move_into(scene, insert_coll, insert_handle_coll);
|
||||
BKE_layer_collection_move_into(scene, sc_src, sc_dst);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1312,7 +1320,7 @@ static void outliner_scene_collections_reorder(const Scene *scene, TreeElement *
|
|||
if (sc_dst == NULL) {
|
||||
/* It needs a SceneCollection to use as reference,
|
||||
* specially now that we are to allow insert in collections
|
||||
* that don't belong to the same hierarchical level*/
|
||||
* that don't belong to the same hierarchical level */
|
||||
TODO_LAYER_OPERATORS;
|
||||
/* BKE_collection_move_after(scene, sc_dst, sc_src); */
|
||||
}
|
||||
|
|
|
@ -114,6 +114,26 @@ RENDER_LAYER_TEST(move_into_scene_collection_sync_i)
|
|||
RENDER_LAYER_TEST(move_into_scene_collection_sync_j)
|
||||
RENDER_LAYER_TEST(move_into_scene_collection_sync_k)
|
||||
RENDER_LAYER_TEST(move_into_scene_collection_sync_l)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_a)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_b)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_c)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_d)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_e)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_f)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_g)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_h)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_i)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_j)
|
||||
RENDER_LAYER_TEST(move_above_below_layer_collection_k)
|
||||
RENDER_LAYER_TEST(move_into_layer_collection_a)
|
||||
RENDER_LAYER_TEST(move_into_layer_collection_b)
|
||||
RENDER_LAYER_TEST(move_into_layer_collection_c)
|
||||
RENDER_LAYER_TEST(move_into_layer_collection_d)
|
||||
RENDER_LAYER_TEST(move_into_layer_collection_e)
|
||||
RENDER_LAYER_TEST(move_into_layer_collection_f)
|
||||
RENDER_LAYER_TEST(move_into_layer_collection_g)
|
||||
RENDER_LAYER_TEST(move_into_layer_collection_h)
|
||||
RENDER_LAYER_TEST(move_into_layer_collection_i)
|
||||
RENDER_LAYER_TEST(layer_linking)
|
||||
RENDER_LAYER_TEST(layer_syncinc)
|
||||
RENDER_LAYER_TEST(scene_copy)
|
||||
|
|
|
@ -467,6 +467,12 @@ class MoveSceneCollectionSyncTesting(MoveSceneCollectionTesting):
|
|||
]
|
||||
return layers_map
|
||||
|
||||
def get_reference_layers_tree_map(self):
|
||||
"""
|
||||
For those classes we don't expect any changes in the layer tree
|
||||
"""
|
||||
return self.get_initial_layers_tree_map()
|
||||
|
||||
def setup_tree(self):
|
||||
tree = super(MoveSceneCollectionSyncTesting, self).setup_tree()
|
||||
|
||||
|
@ -493,7 +499,7 @@ class MoveSceneCollectionSyncTesting(MoveSceneCollectionTesting):
|
|||
|
||||
import bpy
|
||||
scene = bpy.context.scene
|
||||
layers_map = self.get_initial_layers_tree_map()
|
||||
layers_map = self.get_reference_layers_tree_map()
|
||||
|
||||
for layer_name, collections_names in layers_map:
|
||||
layer = scene.render_layers.get(layer_name)
|
||||
|
@ -515,3 +521,41 @@ class MoveSceneCollectionSyncTesting(MoveSceneCollectionTesting):
|
|||
self.assertEqual(nested_collection.collection.name, scene_collection.collections[i].name)
|
||||
self.assertEqual(nested_collection.collection, scene_collection.collections[i])
|
||||
self.verify_collection_tree(nested_collection)
|
||||
|
||||
|
||||
class MoveLayerCollectionTesting(MoveSceneCollectionSyncTesting):
|
||||
"""
|
||||
To be used by tests of render_layer_move_into_layer_collection
|
||||
"""
|
||||
def parse_move(self, path, sep='.'):
|
||||
"""
|
||||
convert 'Layer 1.C.2' into:
|
||||
bpy.context.scene.render_layers['Layer 1'].collections['C'].collections['2']
|
||||
"""
|
||||
import bpy
|
||||
|
||||
paths = path.split(sep)
|
||||
layer = bpy.context.scene.render_layers[paths[0]]
|
||||
collections = layer.collections
|
||||
|
||||
for subpath in paths[1:]:
|
||||
collection = collections[subpath]
|
||||
collections = collection.collections
|
||||
|
||||
return collection
|
||||
|
||||
def move_into(self, src, dst):
|
||||
layer_collection_src = self.parse_move(src)
|
||||
layer_collection_dst = self.parse_move(dst)
|
||||
return layer_collection_src.move_into(layer_collection_dst)
|
||||
|
||||
def move_above(self, src, dst):
|
||||
layer_collection_src = self.parse_move(src)
|
||||
layer_collection_dst = self.parse_move(dst)
|
||||
return layer_collection_src.move_above(layer_collection_dst)
|
||||
|
||||
def move_below(self, src, dst):
|
||||
layer_collection_src = self.parse_move(src)
|
||||
layer_collection_dst = self.parse_move(dst)
|
||||
return layer_collection_src.move_below(layer_collection_dst)
|
||||
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,56 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,56 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,56 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,48 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,108 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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.hide = False
|
||||
collection_original.hide_select = True
|
||||
|
||||
# collection that will disappear
|
||||
collection_old = self.parse_move('Layer 2.C.3')
|
||||
collection_old.hide = True
|
||||
collection_old.hide_select = False
|
||||
|
||||
# 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.hide, False)
|
||||
self.assertEqual(collection_new.hide_select, True)
|
||||
|
||||
|
||||
# ############################################################
|
||||
# Main - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,89 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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.hide = False
|
||||
collection_original.hide_select = True
|
||||
|
||||
# collection that will disappear
|
||||
collection_old = self.parse_move('Layer 2.3.cat')
|
||||
collection_old.hide = True
|
||||
collection_old.hide_select = False
|
||||
|
||||
# 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.hide, False)
|
||||
self.assertEqual(collection_new.hide_select, True)
|
||||
|
||||
|
||||
# ############################################################
|
||||
# Main - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,74 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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.hide = False
|
||||
collection_original.hide_select = True
|
||||
|
||||
# collection that will disappear
|
||||
collection_old = self.parse_move('Layer 2.3.cat')
|
||||
collection_old.hide = True
|
||||
collection_old.hide_select = False
|
||||
|
||||
# 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.hide, False)
|
||||
self.assertEqual(collection_new.hide_select, True)
|
||||
|
||||
|
||||
# ############################################################
|
||||
# Main - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,81 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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.hide = False
|
||||
collection_original.hide_select = True
|
||||
|
||||
# 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.hide, False)
|
||||
self.assertEqual(collection_new.hide_select, True)
|
||||
|
||||
|
||||
# ############################################################
|
||||
# Main - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,71 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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.hide = False
|
||||
collection_original.hide_select = True
|
||||
|
||||
# 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.hide, False)
|
||||
self.assertEqual(collection_new.hide_select, True)
|
||||
|
||||
|
||||
# ############################################################
|
||||
# Main - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,48 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,77 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,48 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,48 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,48 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,48 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,94 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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.hide = False
|
||||
collection_original.hide_select = True
|
||||
|
||||
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.hide, False)
|
||||
self.assertEqual(collection_new.hide_select, True)
|
||||
|
||||
|
||||
# ############################################################
|
||||
# Main - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,85 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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.hide = False
|
||||
collection_original.hide_select = True
|
||||
|
||||
# collection that will disappear
|
||||
collection_old = self.parse_move('Layer 2.C.3')
|
||||
collection_old.hide = True
|
||||
collection_old.hide_select = False
|
||||
|
||||
# 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.hide, False)
|
||||
self.assertEqual(collection_new.hide_select, True)
|
||||
|
||||
|
||||
# ############################################################
|
||||
# Main - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,84 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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.hide = False
|
||||
collection_original.hide_select = True
|
||||
|
||||
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.hide, False)
|
||||
self.assertEqual(collection_new.hide_select, True)
|
||||
|
||||
|
||||
# ############################################################
|
||||
# Main - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
if __name__ == '__main__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
|
@ -0,0 +1,48 @@
|
|||
# ./blender.bin --background -noaudio --python tests/python/render_layer/test_link.py -- --testdir="/data/lib/tests/"
|
||||
|
||||
# ############################################################
|
||||
# Importing - Same For All Render Layer Tests
|
||||
# ############################################################
|
||||
|
||||
import unittest
|
||||
|
||||
import os, sys
|
||||
sys.path.append(os.path.dirname(__file__))
|
||||
|
||||
from render_layer_common import *
|
||||
|
||||
|
||||
# ############################################################
|
||||
# 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__':
|
||||
import sys
|
||||
|
||||
extra_arguments = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
|
||||
sys.argv = [__file__] + (sys.argv[sys.argv.index("--") + 2:] if "--" in sys.argv else [])
|
||||
|
||||
UnitTesting._extra_arguments = extra_arguments
|
||||
unittest.main()
|
Loading…
Reference in New Issue