diff options
Diffstat (limited to 'Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon')
9 files changed, 72 insertions, 10 deletions
diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/CMakeLists.txt b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/CMakeLists.txt index 2ca4bf51f99..1a2d3305f5e 100644 --- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/CMakeLists.txt +++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/CMakeLists.txt @@ -4,10 +4,7 @@ SET(TESTS_FILES gdimagefilledpolygon2 gdimagefilledpolygon3 bug00100 + php_bug_64641 ) -FOREACH(test_name ${TESTS_FILES}) - add_executable(${test_name} "${test_name}.c") - target_link_libraries (${test_name} gdTest) - add_test(NAME ${test_name} COMMAND ${test_name}) -ENDFOREACH(test_name) +ADD_GD_TESTS() diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/Makemodule.am b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/Makemodule.am new file mode 100644 index 00000000000..7a2f6812bbf --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/Makemodule.am @@ -0,0 +1,18 @@ +if HAVE_LIBPNG +libgd_test_programs += \ + gdimagefilledpolygon/bug00100 \ + gdimagefilledpolygon/gdimagefilledpolygon0 \ + gdimagefilledpolygon/gdimagefilledpolygon1 \ + gdimagefilledpolygon/gdimagefilledpolygon2 \ + gdimagefilledpolygon/gdimagefilledpolygon3 \ + gdimagefilledpolygon/php_bug_64641 +endif + +EXTRA_DIST += \ + gdimagefilledpolygon/CMakeLists.txt \ + gdimagefilledpolygon/bug00100.png \ + gdimagefilledpolygon/gdimagefilledpolygon0.png \ + gdimagefilledpolygon/gdimagefilledpolygon1.png \ + gdimagefilledpolygon/gdimagefilledpolygon2.png \ + gdimagefilledpolygon/gdimagefilledpolygon3.png \ + gdimagefilledpolygon/php_bug_64641.png diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/bug00100.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/bug00100.c index ae2e084fe41..d020749e55f 100644 --- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/bug00100.c +++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/bug00100.c @@ -150,7 +150,7 @@ main(void) pointy[4].y = bot; gdImageFilledPolygon(im, pointy, 5, black); - r = gdAssertImageEqualsToFile(GDTEST_TOP_DIR "/gdimagefilledpolygon/bug00100.png", im); + r = gdAssertImageEqualsToFile("gdimagefilledpolygon/bug00100.png", im); gdImageDestroy(im); if (!r) exit(EXIT_FAILURE); return EXIT_SUCCESS; diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c index 5ca877c630c..b7e9299209e 100644 --- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c +++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c @@ -15,7 +15,7 @@ main(void) gdImageFilledRectangle(im, 0, 0, 99, 99, white); gdImageFilledPolygon(im, NULL, 0, black); /* no effect */ gdImageFilledPolygon(im, NULL, -1, black); /* no effect */ - r = gdAssertImageEqualsToFile(GDTEST_TOP_DIR "/gdimagefilledpolygon/gdimagefilledpolygon0.png", im); + r = gdAssertImageEqualsToFile("gdimagefilledpolygon/gdimagefilledpolygon0.png", im); gdImageDestroy(im); if (!r) exit(EXIT_FAILURE); return EXIT_SUCCESS; diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c index 950035e2b4b..58052a0af2a 100644 --- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c +++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c @@ -23,7 +23,7 @@ main(void) points[0].x = 10; points[0].y = 10; gdImageFilledPolygon(im, points, 1, black); - r = gdAssertImageEqualsToFile(GDTEST_TOP_DIR "/gdimagefilledpolygon/gdimagefilledpolygon1.png", im); + r = gdAssertImageEqualsToFile("gdimagefilledpolygon/gdimagefilledpolygon1.png", im); free(points); gdImageDestroy(im); if (!r) exit(EXIT_FAILURE); diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c index 628665a1919..95d85566ca1 100644 --- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c +++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c @@ -25,7 +25,7 @@ main(void) points[1].x = 50; points[1].y = 70; gdImageFilledPolygon(im, points, 2, black); - r = gdAssertImageEqualsToFile(GDTEST_TOP_DIR "/gdimagefilledpolygon/gdimagefilledpolygon2.png", im); + r = gdAssertImageEqualsToFile("gdimagefilledpolygon/gdimagefilledpolygon2.png", im); free(points); gdImageDestroy(im); if (!r) exit(EXIT_FAILURE); diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c index 0db5c8519e1..0c9ed3e65a3 100644 --- a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c +++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c @@ -27,7 +27,7 @@ main(void) points[2].x = 90; points[2].y = 30; gdImageFilledPolygon(im, points, 3, black); - r = gdAssertImageEqualsToFile(GDTEST_TOP_DIR "/gdimagefilledpolygon/gdimagefilledpolygon3.png", im); + r = gdAssertImageEqualsToFile("gdimagefilledpolygon/gdimagefilledpolygon3.png", im); free(points); gdImageDestroy(im); if (!r) exit(EXIT_FAILURE); diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/php_bug_64641.c b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/php_bug_64641.c new file mode 100644 index 00000000000..baf89134340 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/php_bug_64641.c @@ -0,0 +1,47 @@ +/* + Test drawing of 1-dimensional filled polygons + + We're drawing a vertical and a horizontal 1-dimensional filled polygon, + which is supposed to result in a vertical and a horizontal line. + + See also <https://bugs.php.net/64641>. +*/ + +#include "gd.h" +#include "gdtest.h" + +int main() +{ + gdImagePtr im; + gdPointPtr points; + + im = gdImageCreateTrueColor(640, 480); + + points = (gdPointPtr)calloc(3, sizeof(gdPoint)); + gdTestAssert(points != NULL); + + /* vertical line */ + points[0].x = 100; + points[0].y = 100; + points[1].x = 100; + points[1].y = 200; + points[2].x = 100; + points[2].y = 300; + gdImageFilledPolygon(im, points, 3, 0xFFFF00); + + /* horizontal line */ + points[0].x = 300; + points[0].y = 200; + points[1].x = 400; + points[1].y = 200; + points[2].x = 500; + points[2].y = 200; + gdImageFilledPolygon(im, points, 3, 0xFFFF00); + + gdAssertImageEqualsToFile("gdimagefilledpolygon/php_bug_64641.png", im); + + free(points); + gdImageDestroy(im); + + return gdNumFailures(); +} diff --git a/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/php_bug_64641.png b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/php_bug_64641.png Binary files differnew file mode 100644 index 00000000000..62fb6212981 --- /dev/null +++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/php_bug_64641.png |