summaryrefslogtreecommitdiff
path: root/ext/gd/tests/imageinterpolation_basic.phpt
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-01-06 12:49:07 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2020-01-14 18:25:27 +0100
commit03bd4333f62d89047ba4e9ce3625e44c063391de (patch)
treecd21ce180a71b0b541a3527a6fd62f852de1a0f6 /ext/gd/tests/imageinterpolation_basic.phpt
parent127d6f3f39235478d124635822343c2cd1205f4d (diff)
downloadphp-git-03bd4333f62d89047ba4e9ce3625e44c063391de.tar.gz
Add imagegetinterpolation()
While `imagesetinterpolation()` is available as of PHP 5.5.0, there is no according getter function, so users would have to track the current interpolation method manually. To remedy this, we introduce `imagegetinterpolation()` as thin wrapper for `gdImageGetInterpolationMethod()` (which has been introduced with libgd 2.1.1), and use `im->interpolation_id` as fallback for older libgd. Since our bundled libgd does not yet have this function, we add it. We also simplify the recently introduced bug79068.phpt, where it is sufficient to check that the interpolation method has not been changed.
Diffstat (limited to 'ext/gd/tests/imageinterpolation_basic.phpt')
-rw-r--r--ext/gd/tests/imageinterpolation_basic.phpt59
1 files changed, 59 insertions, 0 deletions
diff --git a/ext/gd/tests/imageinterpolation_basic.phpt b/ext/gd/tests/imageinterpolation_basic.phpt
new file mode 100644
index 0000000000..80e88647d8
--- /dev/null
+++ b/ext/gd/tests/imageinterpolation_basic.phpt
@@ -0,0 +1,59 @@
+--TEST--
+imagegetinterpolation() and imagesetinterpolation() basic test
+--SKIPIF--
+<?php
+if (!extension_loaded('gd')) die('skip gd extension not available');
+?>
+--FILE--
+<?php
+$methods = array(
+ IMG_BELL,
+ IMG_BESSEL,
+ IMG_BILINEAR_FIXED,
+ IMG_BICUBIC,
+ IMG_BICUBIC_FIXED,
+ IMG_BLACKMAN,
+ IMG_BOX,
+ IMG_BSPLINE,
+ IMG_CATMULLROM,
+ IMG_GAUSSIAN,
+ IMG_GENERALIZED_CUBIC,
+ IMG_HERMITE,
+ IMG_HAMMING,
+ IMG_HANNING,
+ IMG_MITCHELL,
+ IMG_NEAREST_NEIGHBOUR,
+ IMG_POWER,
+ IMG_QUADRATIC,
+ IMG_SINC,
+ IMG_TRIANGLE,
+ IMG_WEIGHTED4,
+);
+$im = imagecreate(8, 8);
+foreach ($methods as $method) {
+ imagesetinterpolation($im, $method);
+ var_dump(imagegetinterpolation($im) === $method);
+}
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)
+bool(true)