[gimp] app/tests: Add layer group regression testing for XCF write and read
- From: Martin Nordholts <martinn src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp] app/tests: Add layer group regression testing for XCF write and read
- Date: Sat, 21 Aug 2010 09:06:53 +0000 (UTC)
commit 3a447213a9878eae967395c2a0acb2e207ef08e4
Author: Martin Nordholts <martinn src gnome org>
Date: Sat Aug 21 11:14:20 2010 +0200
app/tests: Add layer group regression testing for XCF write and read
app/tests/test-xcf.c | 99 +++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 97 insertions(+), 2 deletions(-)
---
diff --git a/app/tests/test-xcf.c b/app/tests/test-xcf.c
index 429ba26..58ff190 100644
--- a/app/tests/test-xcf.c
+++ b/app/tests/test-xcf.c
@@ -30,6 +30,7 @@
#include "core/gimpchannel-select.h"
#include "core/gimpdrawable.h"
#include "core/gimpgrid.h"
+#include "core/gimpgrouplayer.h"
#include "core/gimpguide.h"
#include "core/gimpimage.h"
#include "core/gimpimage-grid.h"
@@ -72,6 +73,16 @@
#define GIMP_MAINIMAGE_LAYER2_OPACITY 0.0
#define GIMP_MAINIMAGE_LAYER2_MODE GIMP_MULTIPLY_MODE
+#define GIMP_MAINIMAGE_GROUP1_NAME "group1"
+
+#define GIMP_MAINIMAGE_LAYER3_NAME "layer3"
+
+#define GIMP_MAINIMAGE_LAYER4_NAME "layer4"
+
+#define GIMP_MAINIMAGE_GROUP2_NAME "group2"
+
+#define GIMP_MAINIMAGE_LAYER5_NAME "layer5"
+
#define GIMP_MAINIMAGE_VGUIDE1_POS 42
#define GIMP_MAINIMAGE_VGUIDE2_POS 82
#define GIMP_MAINIMAGE_HGUIDE1_POS 3
@@ -545,7 +556,78 @@ gimp_create_mainimage (gboolean with_unusual_stuff,
/* Adds stuff like layer groups */
if (use_gimp_2_8_features)
{
- /* TODO: mitch? ;) */
+ GimpLayer *parent;
+
+ /* Add a layer group and some layers:
+ *
+ * group1
+ * layer3
+ * layer4
+ * group2
+ * layer5
+ */
+
+ /* group1 */
+ layer = gimp_group_layer_new (image);
+ gimp_object_set_name (GIMP_OBJECT (layer), GIMP_MAINIMAGE_GROUP1_NAME);
+ gimp_image_add_layer (image,
+ layer,
+ NULL /*parent*/,
+ -1 /*position*/,
+ FALSE /*push_undo*/);
+ parent = layer;
+
+ /* layer3 */
+ layer = gimp_layer_new (image,
+ GIMP_MAINIMAGE_LAYER1_WIDTH,
+ GIMP_MAINIMAGE_LAYER1_HEIGHT,
+ GIMP_MAINIMAGE_LAYER1_TYPE,
+ GIMP_MAINIMAGE_LAYER3_NAME,
+ GIMP_MAINIMAGE_LAYER1_OPACITY,
+ GIMP_MAINIMAGE_LAYER1_MODE);
+ gimp_image_add_layer (image,
+ layer,
+ parent,
+ -1 /*position*/,
+ FALSE /*push_undo*/);
+
+ /* layer4 */
+ layer = gimp_layer_new (image,
+ GIMP_MAINIMAGE_LAYER1_WIDTH,
+ GIMP_MAINIMAGE_LAYER1_HEIGHT,
+ GIMP_MAINIMAGE_LAYER1_TYPE,
+ GIMP_MAINIMAGE_LAYER4_NAME,
+ GIMP_MAINIMAGE_LAYER1_OPACITY,
+ GIMP_MAINIMAGE_LAYER1_MODE);
+ gimp_image_add_layer (image,
+ layer,
+ parent,
+ -1 /*position*/,
+ FALSE /*push_undo*/);
+
+ /* group2 */
+ layer = gimp_group_layer_new (image);
+ gimp_object_set_name (GIMP_OBJECT (layer), GIMP_MAINIMAGE_GROUP2_NAME);
+ gimp_image_add_layer (image,
+ layer,
+ parent,
+ -1 /*position*/,
+ FALSE /*push_undo*/);
+ parent = layer;
+
+ /* layer5 */
+ layer = gimp_layer_new (image,
+ GIMP_MAINIMAGE_LAYER1_WIDTH,
+ GIMP_MAINIMAGE_LAYER1_HEIGHT,
+ GIMP_MAINIMAGE_LAYER1_TYPE,
+ GIMP_MAINIMAGE_LAYER5_NAME,
+ GIMP_MAINIMAGE_LAYER1_OPACITY,
+ GIMP_MAINIMAGE_LAYER1_MODE);
+ gimp_image_add_layer (image,
+ layer,
+ parent,
+ -1 /*position*/,
+ FALSE /*push_undo*/);
}
/* Todo, should be tested somehow:
@@ -848,7 +930,20 @@ gimp_assert_mainimage (GimpImage *image,
if (use_gimp_2_8_features)
{
- /* TODO: mitch? ;) */
+ /* Only verify the parent relationships, the layer attributes
+ * are tested above
+ */
+ GimpItem *group1 = GIMP_ITEM (gimp_image_get_layer_by_name (image, GIMP_MAINIMAGE_GROUP1_NAME));
+ GimpItem *layer3 = GIMP_ITEM (gimp_image_get_layer_by_name (image, GIMP_MAINIMAGE_LAYER3_NAME));
+ GimpItem *layer4 = GIMP_ITEM (gimp_image_get_layer_by_name (image, GIMP_MAINIMAGE_LAYER4_NAME));
+ GimpItem *group2 = GIMP_ITEM (gimp_image_get_layer_by_name (image, GIMP_MAINIMAGE_GROUP2_NAME));
+ GimpItem *layer5 = GIMP_ITEM (gimp_image_get_layer_by_name (image, GIMP_MAINIMAGE_LAYER5_NAME));
+
+ g_assert (gimp_item_get_parent (group1) == NULL);
+ g_assert (gimp_item_get_parent (layer3) == group1);
+ g_assert (gimp_item_get_parent (layer4) == group1);
+ g_assert (gimp_item_get_parent (group2) == group1);
+ g_assert (gimp_item_get_parent (layer5) == group2);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]