summaryrefslogtreecommitdiff
path: root/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon')
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/CMakeLists.txt7
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/Makemodule.am18
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/bug00100.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon0.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon1.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon2.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/gdimagefilledpolygon3.c2
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/php_bug_64641.c47
-rw-r--r--Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/php_bug_64641.pngbin0 -> 1425 bytes
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
new file mode 100644
index 00000000000..62fb6212981
--- /dev/null
+++ b/Build/source/libs/gd/libgd-src/tests/gdimagefilledpolygon/php_bug_64641.png
Binary files differ