summaryrefslogtreecommitdiff
path: root/tests/gdimageconvolution
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2016-09-25 17:37:45 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2016-09-27 13:34:18 +0200
commit3e8b5c5ee2b17629095e17773ff5c30422756c12 (patch)
tree27bf794a9d2eb44e82f3ae12c04b4feba8dc2a15 /tests/gdimageconvolution
parent827bfd4cdddbd4c60d713c78e4407bf58a2e3fca (diff)
downloadlibgd-3e8b5c5ee2b17629095e17773ff5c30422756c12.tar.gz
Test and document some filter functions
Diffstat (limited to 'tests/gdimageconvolution')
-rw-r--r--tests/gdimageconvolution/.gitignore1
-rw-r--r--tests/gdimageconvolution/CMakeLists.txt5
-rw-r--r--tests/gdimageconvolution/Makemodule.am12
-rw-r--r--tests/gdimageconvolution/basic.c62
-rw-r--r--tests/gdimageconvolution/basic.pngbin0 -> 49446 bytes
-rw-r--r--tests/gdimageconvolution/basic_edge_detect_quick.pngbin0 -> 42824 bytes
-rw-r--r--tests/gdimageconvolution/basic_emboss.pngbin0 -> 36783 bytes
-rw-r--r--tests/gdimageconvolution/basic_mean_removal.pngbin0 -> 45395 bytes
-rw-r--r--tests/gdimageconvolution/basic_smooth.pngbin0 -> 24595 bytes
9 files changed, 80 insertions, 0 deletions
diff --git a/tests/gdimageconvolution/.gitignore b/tests/gdimageconvolution/.gitignore
new file mode 100644
index 0000000..1ffd796
--- /dev/null
+++ b/tests/gdimageconvolution/.gitignore
@@ -0,0 +1 @@
+/basic
diff --git a/tests/gdimageconvolution/CMakeLists.txt b/tests/gdimageconvolution/CMakeLists.txt
new file mode 100644
index 0000000..381c74d
--- /dev/null
+++ b/tests/gdimageconvolution/CMakeLists.txt
@@ -0,0 +1,5 @@
+LIST(APPEND TESTS_FILES
+ basic
+)
+
+ADD_GD_TESTS()
diff --git a/tests/gdimageconvolution/Makemodule.am b/tests/gdimageconvolution/Makemodule.am
new file mode 100644
index 0000000..8f65b0f
--- /dev/null
+++ b/tests/gdimageconvolution/Makemodule.am
@@ -0,0 +1,12 @@
+if HAVE_LIBPNG
+libgd_test_programs += \
+ gdimageconvolution/basic
+endif
+
+EXTRA_DIST += \
+ gdimageconvolution/CMakeLists.txt \
+ gdimageconvolution/basic.png \
+ gdimageconvolution/basic_edge_detect_quick.png \
+ gdimageconvolution/basic_emboss.png \
+ gdimageconvolution/basic_mean_removal.png \
+ gdimageconvolution/basic_smooth.png
diff --git a/tests/gdimageconvolution/basic.c b/tests/gdimageconvolution/basic.c
new file mode 100644
index 0000000..7ca98be
--- /dev/null
+++ b/tests/gdimageconvolution/basic.c
@@ -0,0 +1,62 @@
+/**
+ * Basic test for gdImageConvolution() and related functions
+ */
+
+
+#include "gd.h"
+#include "gdtest.h"
+
+
+static void test_convolution(void (*convolution_func)(gdImagePtr im), const char *expected)
+{
+ gdImagePtr im;
+ FILE *fp;
+ char *path;
+
+ fp = gdTestFileOpen2("gdimageconvolution", "basic.png");
+ im = gdImageCreateFromPng(fp);
+ fclose(fp);
+
+ convolution_func(im);
+
+ path = gdTestFilePath2("gdimageconvolution", expected);
+ gdAssertImageEqualsToFile(path, im);
+ gdFree(path);
+
+ gdImageDestroy(im);
+}
+
+
+static void test_edge_detect_quick(gdImagePtr im)
+{
+ gdImageEdgeDetectQuick(im);
+}
+
+
+static void test_smooth(gdImagePtr im)
+{
+ gdImageSmooth(im, 5);
+}
+
+
+static void test_emboss(gdImagePtr im)
+{
+ gdImageEmboss(im);
+}
+
+
+static void test_mean_removal(gdImagePtr im)
+{
+ gdImageMeanRemoval(im);
+}
+
+
+int main()
+{
+ test_convolution(&test_edge_detect_quick, "basic_edge_detect_quick.png");
+ test_convolution(&test_smooth, "basic_smooth.png");
+ test_convolution(&test_emboss, "basic_emboss.png");
+ test_convolution(&test_mean_removal, "basic_mean_removal.png");
+
+ return gdNumFailures();
+}
diff --git a/tests/gdimageconvolution/basic.png b/tests/gdimageconvolution/basic.png
new file mode 100644
index 0000000..2db7882
--- /dev/null
+++ b/tests/gdimageconvolution/basic.png
Binary files differ
diff --git a/tests/gdimageconvolution/basic_edge_detect_quick.png b/tests/gdimageconvolution/basic_edge_detect_quick.png
new file mode 100644
index 0000000..195a0fd
--- /dev/null
+++ b/tests/gdimageconvolution/basic_edge_detect_quick.png
Binary files differ
diff --git a/tests/gdimageconvolution/basic_emboss.png b/tests/gdimageconvolution/basic_emboss.png
new file mode 100644
index 0000000..bafd882
--- /dev/null
+++ b/tests/gdimageconvolution/basic_emboss.png
Binary files differ
diff --git a/tests/gdimageconvolution/basic_mean_removal.png b/tests/gdimageconvolution/basic_mean_removal.png
new file mode 100644
index 0000000..e98a91a
--- /dev/null
+++ b/tests/gdimageconvolution/basic_mean_removal.png
Binary files differ
diff --git a/tests/gdimageconvolution/basic_smooth.png b/tests/gdimageconvolution/basic_smooth.png
new file mode 100644
index 0000000..7907143
--- /dev/null
+++ b/tests/gdimageconvolution/basic_smooth.png
Binary files differ