diff options
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.c | 56 |
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(); +} |