summaryrefslogtreecommitdiff
path: root/Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c')
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c56
1 files changed, 56 insertions, 0 deletions
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c b/Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c
new file mode 100644
index 00000000000..0e8367a8095
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagecompare/gdimagecompare.c
@@ -0,0 +1,56 @@
+/**
+ * Base test for gdImageCompare()
+ */
+
+#include "gd.h"
+#include "gdtest.h"
+
+int main()
+{
+ gdImagePtr im1;
+ gdImagePtr im2;
+ int black;
+ int red1, red2;
+ int yellow1, yellow2;
+ int white;
+ int blue;
+ int ret;
+
+ im1 = gdImageCreate(128, 128);
+ im2 = gdImageCreateTrueColor(256, 256);
+
+ /* Set different interlace */
+ gdImageInterlace(im1, 1);
+ gdImageInterlace(im2, 2);
+
+ /* Set different transparent */
+ gdImageColorTransparent(im1, 10);
+ gdImageColorTransparent(im2, 20);
+
+ /* Allocate different color number */
+ black = gdImageColorAllocate(im1, 0, 0, 0);
+ red1 = gdImageColorAllocate(im1, 255, 0, 0);
+ yellow1 = gdImageColorAllocate(im1, 255, 255, 0);
+ red2 = gdImageColorAllocate(im2, 255, 0, 0);
+ yellow2 = gdImageColorAllocate(im2, 255, 255, 0);
+ white = gdImageColorAllocate(im2, 255, 255, 255);
+ blue = gdImageColorAllocate(im2, 0, 0, 255);
+
+ /* Filled different color */
+ gdImageFilledRectangle(im1, 0, 0, 127, 8, black);
+ gdImageFilledRectangle(im1, 9, 0, 127, 16, red1);
+ gdImageFilledRectangle(im1, 17, 0, 127, 24, yellow1);
+ gdImageFilledRectangle(im2, 0, 0, 127, 8, red2);
+ gdImageFilledRectangle(im2, 9, 0, 127, 16, yellow2);
+ gdImageFilledRectangle(im2, 17, 0, 127, 24, white);
+ gdImageFilledRectangle(im2, 25, 0, 127, 32, blue);
+
+ ret = gdImageCompare(im1, im2);
+
+ gdTestAssert(ret == (GD_CMP_INTERLACE | GD_CMP_TRANSPARENT | GD_CMP_TRUECOLOR | GD_CMP_SIZE_X | GD_CMP_SIZE_Y | GD_CMP_COLOR | GD_CMP_IMAGE | GD_CMP_NUM_COLORS));
+
+ gdImageDestroy(im1);
+ gdImageDestroy(im2);
+
+ return gdNumFailures();
+}