diff options
Diffstat (limited to 'Build/source/libs/gd/libgd-src/tests/xbm')
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am | 12 | ||||
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.c | 35 | ||||
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.xbm | 5 | ||||
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109_exp.png | bin | 0 -> 111 bytes | |||
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.c | 32 | ||||
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.xbm | 4 | ||||
-rw-r--r-- | Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read_exp.png | bin | 0 -> 112 bytes |
8 files changed, 90 insertions, 2 deletions
diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt index 183cf5eaf3f..3e3bb696cad 100644 --- a/Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt +++ b/Build/source/libs/gd/libgd-src/tests/xbm/CMakeLists.txt @@ -1,5 +1,9 @@ +IF(PNG_FOUND) LIST(APPEND TESTS_FILES + github_bug_109 github_bug_170 + x10_basic_read ) +ENDIF(PNG_FOUND) ADD_GD_TESTS() diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am index ba1eabd5bd4..a9a293d1612 100644 --- a/Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am +++ b/Build/source/libs/gd/libgd-src/tests/xbm/Makemodule.am @@ -1,5 +1,13 @@ +if HAVE_LIBPNG libgd_test_programs += \ - xbm/github_bug_170 + xbm/github_bug_109 \ + xbm/github_bug_170 \ + xbm/x10_basic_read +endif EXTRA_DIST += \ - xbm/CMakeLists.txt + xbm/CMakeLists.txt \ + xbm/github_bug_109.xbm \ + xbm/github_bug_109_exp.png \ + xbm/x10_basic_read.xbm \ + xbm/x10_basic_read_exp.png diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.c b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.c new file mode 100644 index 00000000000..c0b50a8f0d4 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.c @@ -0,0 +1,35 @@ +/** + * Test reading of XBM images with a width that is not a multiple of 8 + * + * We're reading such an XBM image, and check that we got what we've expected, + * instead of an error message. + * + * See also <https://github.com/libgd/libgd/issues/109>. + */ + + +#include "gd.h" +#include "gdtest.h" + + +int main() +{ + gdImagePtr im; + FILE *fp; + char *path; + + fp = gdTestFileOpen2("xbm", "github_bug_109.xbm"); + im = gdImageCreateFromXbm(fp); + fclose(fp); + gdTestAssert(im != NULL); + gdTestAssert(gdImageGetTrueColorPixel(im, 0, 0) == 0); + gdTestAssert(gdImageGetTrueColorPixel(im, 0, 1) == 0xffffff); + + path = gdTestFilePath2("xbm", "github_bug_109_exp.png"); + gdAssertImageEqualsToFile(path, im); + gdFree(path); + + gdImageDestroy(im); + + return gdNumFailures(); +} diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.xbm b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.xbm new file mode 100644 index 00000000000..f427d86a54b --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109.xbm @@ -0,0 +1,5 @@ +#define test_width 10 +#define test_height 10 +static unsigned char test_bits[] = { + 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00, + 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x03, 0x00, 0x00}; diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109_exp.png b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109_exp.png Binary files differnew file mode 100644 index 00000000000..505b5457c85 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/xbm/github_bug_109_exp.png diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.c b/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.c new file mode 100644 index 00000000000..99b9019c5f7 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.c @@ -0,0 +1,32 @@ +/** + * Test reading of an X10 style XBM file + * + * X10 style XBMs define a short[] instead of a char[] array. We're testing + * that such files are read correctly, particularly regarding the line padding, + * which is 2 bytes instead of 1, and the endianess. + */ + + +#include "gd.h" +#include "gdtest.h" + + +int main() +{ + gdImagePtr im; + FILE *fp; + char *path; + + fp = gdTestFileOpen2("xbm", "x10_basic_read.xbm"); + im = gdImageCreateFromXbm(fp); + fclose(fp); + gdTestAssert(im != NULL); + + path = gdTestFilePath2("xbm", "x10_basic_read_exp.png"); + gdAssertImageEqualsToFile(path, im); + gdFree(path); + + gdImageDestroy(im); + + return gdNumFailures(); +} diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.xbm b/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.xbm new file mode 100644 index 00000000000..d8ca2cd4292 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read.xbm @@ -0,0 +1,4 @@ +#define x10_basic_read_width 17 +#define x10_basic_read_height 3 +static unsigned short x10_basic_read_bits[] = { + 0xFFFF, 0x0001, 0x0000, 0x0000, 0xFFFF, 0x0001}; diff --git a/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read_exp.png b/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read_exp.png Binary files differnew file mode 100644 index 00000000000..fbcdf0cfe57 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/xbm/x10_basic_read_exp.png |