summaryrefslogtreecommitdiff
path: root/ext/exif
diff options
context:
space:
mode:
authorAnt Phillips <ant@php.net>2008-12-01 12:25:21 +0000
committerAnt Phillips <ant@php.net>2008-12-01 12:25:21 +0000
commitee934d356b29d9670d0485c3b6ec6bbbde7f0a1b (patch)
tree39413856d3a2e571a8b551585755cdb21cd6719a /ext/exif
parent5eaaf3843f179b0943c6c164057f63744e7df6ff (diff)
downloadphp-git-ee934d356b29d9670d0485c3b6ec6bbbde7f0a1b.tar.gz
Exif tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit).
Diffstat (limited to 'ext/exif')
-rw-r--r--ext/exif/tests/exif_imagetype_basic.phpt23
-rw-r--r--ext/exif/tests/exif_imagetype_error.phpt46
-rw-r--r--ext/exif/tests/exif_imagetype_variation1.phpt199
-rw-r--r--ext/exif/tests/exif_read_exif_data_basic.phpt62
-rw-r--r--ext/exif/tests/exif_tagname_basic.phpt29
-rw-r--r--ext/exif/tests/exif_tagname_error.phpt37
-rw-r--r--ext/exif/tests/exif_tagname_variation1.phpt181
7 files changed, 577 insertions, 0 deletions
diff --git a/ext/exif/tests/exif_imagetype_basic.phpt b/ext/exif/tests/exif_imagetype_basic.phpt
new file mode 100644
index 0000000000..1248d39add
--- /dev/null
+++ b/ext/exif/tests/exif_imagetype_basic.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Check for exif_imagetype default behaviour
+--SKIPIF--
+<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
+--INI--
+output_handler=
+zlib.output_compression=0
+--FILE--
+<?php
+
+/* Prototype : int exif_imagetype ( string $filename )
+ * Description: Determine the type of an image
+ * Source code: ext/exif/exif.c
+*/
+echo "*** Testing exif_imagetype() : basic functionality ***\n";
+
+var_dump(exif_imagetype(dirname(__FILE__).'/test2.jpg'));
+?>
+===Done===
+--EXPECT--
+*** Testing exif_imagetype() : basic functionality ***
+int(2)
+===Done=== \ No newline at end of file
diff --git a/ext/exif/tests/exif_imagetype_error.phpt b/ext/exif/tests/exif_imagetype_error.phpt
new file mode 100644
index 0000000000..989d02b6a4
--- /dev/null
+++ b/ext/exif/tests/exif_imagetype_error.phpt
@@ -0,0 +1,46 @@
+--TEST--
+Test exif_imagetype() function : error conditions
+--SKIPIF--
+<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
+--FILE--
+<?php
+
+/* Prototype : int exif_imagetype ( string $filename )
+ * Description: Determine the type of an image
+ * Source code: ext/exif/exif.c
+*/
+
+echo "*** Testing exif_imagetype() : error conditions ***\n";
+
+echo "\n-- Testing exif_imagetype() function with no arguments --\n";
+var_dump( exif_imagetype() );
+
+echo "\n-- Testing exif_imagetype() function with more than expected no. of arguments --\n";
+$extra_arg = 10;
+var_dump( exif_imagetype(dirname(__FILE__).'/test2.jpg', $extra_arg) );
+
+echo "\n-- Testing exif_imagetype() function with an unknown file --\n";
+var_dump( exif_imagetype(dirname(__FILE__).'/foo.jpg') );
+
+
+?>
+===Done===
+--EXPECTF--
+*** Testing exif_imagetype() : error conditions ***
+
+-- Testing exif_imagetype() function with no arguments --
+
+Warning: exif_imagetype() expects exactly 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing exif_imagetype() function with more than expected no. of arguments --
+
+Warning: exif_imagetype() expects exactly 1 parameter, 2 given in %s on line %d
+NULL
+
+-- Testing exif_imagetype() function with an unknown file --
+
+Warning: exif_imagetype(%s/foo.jpg): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+===Done===
+
diff --git a/ext/exif/tests/exif_imagetype_variation1.phpt b/ext/exif/tests/exif_imagetype_variation1.phpt
new file mode 100644
index 0000000000..190eda378c
--- /dev/null
+++ b/ext/exif/tests/exif_imagetype_variation1.phpt
@@ -0,0 +1,199 @@
+--TEST--
+Test exif_imagetype() function : usage variations - different types for filename argument
+--SKIPIF--
+<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
+--FILE--
+<?php
+
+/* Prototype : int exif_imagetype ( string $filename )
+ * Description: Determine the type of an image
+ * Source code: ext/exif/exif.c
+*/
+
+echo "*** Testing exif_imagetype() : different types for filename argument ***\n";
+// initialize all required variables
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring a class
+class sample {
+ public function __toString() {
+ return "obj'ct";
+ }
+}
+
+// Defining resource
+$file_handle = fopen(__FILE__, 'r');
+
+// array with different values
+$values = array (
+
+ // integer values
+ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float values
+ 10.5,
+ -10.5,
+ 10.1234567e10,
+ 10.7654321E-10,
+ .5,
+
+ // array values
+ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => 'red', 'item' => 'pen'),
+
+ // boolean values
+ true,
+ false,
+ TRUE,
+ FALSE,
+
+ // empty string
+ "",
+ '',
+
+ // undefined variable
+ $undefined_var,
+
+ // unset variable
+ $unset_var,
+
+ // objects
+ new sample(),
+
+ // resource
+ $file_handle,
+
+ NULL,
+ null
+);
+
+
+// loop through each element of the array and check the working of exif_imagetype()
+// when $filename is supplied with different values
+
+echo "\n--- Testing exif_imagetype() by supplying different values for 'filename' argument ---\n";
+$counter = 1;
+foreach($values as $filename) {
+ echo "-- Iteration $counter --\n";
+ var_dump( exif_imagetype($filename) );
+ $counter ++;
+}
+
+// closing the file
+fclose($file_handle);
+
+echo "Done\n";
+?>
+
+?>
+===Done===
+--EXPECTF--
+*** Testing exif_imagetype() : different types for filename argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing exif_imagetype() by supplying different values for 'filename' argument ---
+-- Iteration 1 --
+
+Warning: exif_imagetype(0): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 2 --
+
+Warning: exif_imagetype(1): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 3 --
+
+Warning: exif_imagetype(12345): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 4 --
+
+Warning: exif_imagetype(-2345): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 5 --
+
+Warning: exif_imagetype(10.5): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 6 --
+
+Warning: exif_imagetype(-10.5): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 7 --
+
+Warning: exif_imagetype(101234567000): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 8 --
+
+Warning: exif_imagetype(1.07654321E-9): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 9 --
+
+Warning: exif_imagetype(0.5): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 10 --
+
+Warning: exif_imagetype() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 11 --
+
+Warning: exif_imagetype() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: exif_imagetype() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: exif_imagetype() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: exif_imagetype() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 15 --
+
+Warning: exif_imagetype(1): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 16 --
+bool(false)
+-- Iteration 17 --
+
+Warning: exif_imagetype(1): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 18 --
+bool(false)
+-- Iteration 19 --
+bool(false)
+-- Iteration 20 --
+bool(false)
+-- Iteration 21 --
+bool(false)
+-- Iteration 22 --
+bool(false)
+-- Iteration 23 --
+
+Warning: exif_imagetype(obj'ct): failed to open stream: No such file or directory in %s on line %d
+bool(false)
+-- Iteration 24 --
+
+Warning: exif_imagetype() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+-- Iteration 25 --
+bool(false)
+-- Iteration 26 --
+bool(false)
+Done
+
+?>
+===Done===
+
diff --git a/ext/exif/tests/exif_read_exif_data_basic.phpt b/ext/exif/tests/exif_read_exif_data_basic.phpt
new file mode 100644
index 0000000000..435f13752a
--- /dev/null
+++ b/ext/exif/tests/exif_read_exif_data_basic.phpt
@@ -0,0 +1,62 @@
+--TEST--
+Check for read_exif_data default behaviour
+--SKIPIF--
+<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
+--INI--
+output_handler=
+zlib.output_compression=0
+--FILE--
+<?php
+
+/* Prototype : array read_exif_data ( string $filename [, string $sections [, bool $arrays [, bool $thumbnail ]]] )
+ * Description: Alias of exif_read_data()
+ * Source code: ext/exif/exif.c
+*/
+echo "*** Testing read_exif_data() : basic functionality ***\n";
+
+print_r(read_exif_data(dirname(__FILE__).'/test2.jpg'));
+?>
+===Done===
+--EXPECTF--
+*** Testing read_exif_data() : basic functionality ***
+Array
+(
+ [FileName] => test2.jpg
+ [FileDateTime] => %d
+ [FileSize] => 1240
+ [FileType] => 2
+ [MimeType] => image/jpeg
+ [SectionsFound] => ANY_TAG, IFD0, THUMBNAIL, COMMENT
+ [COMPUTED] => Array
+ (
+ [html] => width="1" height="1"
+ [Height] => 1
+ [Width] => 1
+ [IsColor] => 1
+ [ByteOrderMotorola] => 1
+ [UserComment] => Exif test image.
+ [UserCommentEncoding] => ASCII
+ [Copyright] => Photo (c) M.Boerger, Edited by M.Boerger.
+ [Copyright.Photographer] => Photo (c) M.Boerger
+ [Copyright.Editor] => Edited by M.Boerger.
+ [Thumbnail.FileType] => 2
+ [Thumbnail.MimeType] => image/jpeg
+ )
+
+ [Copyright] => Photo (c) M.Boerger
+ [UserComment] => ASCII
+ [THUMBNAIL] => Array
+ (
+ [JPEGInterchangeFormat] => 134
+ [JPEGInterchangeFormatLength] => 523
+ )
+
+ [COMMENT] => Array
+ (
+ [0] => Comment #1.
+ [1] => Comment #2.
+ [2] => Comment #3end
+ )
+
+)
+===Done=== \ No newline at end of file
diff --git a/ext/exif/tests/exif_tagname_basic.phpt b/ext/exif/tests/exif_tagname_basic.phpt
new file mode 100644
index 0000000000..e33601197b
--- /dev/null
+++ b/ext/exif/tests/exif_tagname_basic.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Test exif_tagname() function : basic functionality
+--SKIPIF--
+<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
+--INI--
+output_handler=
+zlib.output_compression=0
+--FILE--
+<?php
+
+/* Prototype :string exif_tagname ( string $index )
+ * Description: Get the header name for an index
+ * Source code: ext/exif/exif.c
+*/
+
+echo "*** Testing exif_tagname() : basic functionality ***\n";
+
+var_dump(exif_tagname(0x10E));
+var_dump(exif_tagname(0x10F));
+var_dump(exif_tagname(0x110));
+
+?>
+===Done===
+--EXPECT--
+*** Testing exif_tagname() : basic functionality ***
+string(16) "ImageDescription"
+string(4) "Make"
+string(5) "Model"
+===Done===
diff --git a/ext/exif/tests/exif_tagname_error.phpt b/ext/exif/tests/exif_tagname_error.phpt
new file mode 100644
index 0000000000..ed1f2fdc3a
--- /dev/null
+++ b/ext/exif/tests/exif_tagname_error.phpt
@@ -0,0 +1,37 @@
+--TEST--
+Test exif_tagname() function : error conditions
+--SKIPIF--
+<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
+--FILE--
+<?php
+
+/* Prototype :string exif_tagname ( string $index )
+ * Description: Get the header name for an index
+ * Source code: ext/exif/exif.c
+*/
+
+echo "*** Testing exif_tagname() : error conditions ***\n";
+
+echo "\n-- Testing exif_tagname() function with no arguments --\n";
+var_dump( exif_tagname() );
+
+echo "\n-- Testing exif_tagname() function with more than expected no. of arguments --\n";
+$extra_arg = 10;
+var_dump( exif_tagname(0x10E, $extra_arg) );
+
+?>
+===Done===
+--EXPECTF--
+*** Testing exif_tagname() : error conditions ***
+
+-- Testing exif_tagname() function with no arguments --
+
+Warning: exif_tagname() expects exactly 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing exif_tagname() function with more than expected no. of arguments --
+
+Warning: exif_tagname() expects exactly 1 parameter, 2 given in %s on line %d
+NULL
+===Done===
+
diff --git a/ext/exif/tests/exif_tagname_variation1.phpt b/ext/exif/tests/exif_tagname_variation1.phpt
new file mode 100644
index 0000000000..da899194c7
--- /dev/null
+++ b/ext/exif/tests/exif_tagname_variation1.phpt
@@ -0,0 +1,181 @@
+--TEST--
+Test exif_tagname() function : usage variations - different types for index argument
+--SKIPIF--
+<?php if (!extension_loaded('exif')) print 'skip exif extension not available';?>
+--FILE--
+<?php
+
+/* Prototype : string exif_tagname ( string $index )
+ * Description: Get the header name for an index
+ * Source code: ext/exif/exif.c
+*/
+
+echo "*** Testing exif_tagname() : different types for index argument ***\n";
+// initialize all required variables
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring a class
+class sample {
+ public function __toString() {
+ return "obj'ct";
+ }
+}
+
+// Defining resource
+$file_handle = fopen(__FILE__, 'r');
+
+// array with different values
+$values = array (
+
+ // integer values
+ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float values
+ 10.5,
+ -10.5,
+ 10.1234567e10,
+ 10.7654321E-10,
+ .5,
+
+ // array values
+ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => 'red', 'item' => 'pen'),
+
+ // boolean values
+ true,
+ false,
+ TRUE,
+ FALSE,
+
+ // empty string
+ "",
+ '',
+
+ // undefined variable
+ $undefined_var,
+
+ // unset variable
+ $unset_var,
+
+ // objects
+ new sample(),
+
+ // resource
+ $file_handle,
+
+ NULL,
+ null
+);
+
+
+// loop through each element of the array and check the working of exif_tagname()
+// when $index arugment is supplied with different values
+
+echo "\n--- Testing exif_tagname() by supplying different values for 'index' argument ---\n";
+$counter = 1;
+foreach($values as $index) {
+ echo "-- Iteration $counter --\n";
+ var_dump( exif_tagname($index) );
+ $counter ++;
+}
+
+// closing the file
+fclose($file_handle);
+
+echo "Done\n";
+?>
+
+?>
+===Done===
+--EXPECTF--
+*** Testing exif_tagname() : different types for index argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing exif_tagname() by supplying different values for 'index' argument ---
+-- Iteration 1 --
+bool(false)
+-- Iteration 2 --
+bool(false)
+-- Iteration 3 --
+bool(false)
+-- Iteration 4 --
+bool(false)
+-- Iteration 5 --
+bool(false)
+-- Iteration 6 --
+bool(false)
+-- Iteration 7 --
+bool(false)
+-- Iteration 8 --
+bool(false)
+-- Iteration 9 --
+bool(false)
+-- Iteration 10 --
+
+Warning: exif_tagname() expects parameter 1 to be long, array given in %s on line %d
+NULL
+-- Iteration 11 --
+
+Warning: exif_tagname() expects parameter 1 to be long, array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: exif_tagname() expects parameter 1 to be long, array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: exif_tagname() expects parameter 1 to be long, array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: exif_tagname() expects parameter 1 to be long, array given in %s on line %d
+NULL
+-- Iteration 15 --
+bool(false)
+-- Iteration 16 --
+bool(false)
+-- Iteration 17 --
+bool(false)
+-- Iteration 18 --
+bool(false)
+-- Iteration 19 --
+
+Warning: exif_tagname() expects parameter 1 to be long, string given in %s on line %d
+NULL
+-- Iteration 20 --
+
+Warning: exif_tagname() expects parameter 1 to be long, string given in %s on line %d
+NULL
+-- Iteration 21 --
+bool(false)
+-- Iteration 22 --
+bool(false)
+-- Iteration 23 --
+
+Warning: exif_tagname() expects parameter 1 to be long, object given in %s on line %d
+NULL
+-- Iteration 24 --
+
+Warning: exif_tagname() expects parameter 1 to be long, resource given in %s on line %d
+NULL
+-- Iteration 25 --
+bool(false)
+-- Iteration 26 --
+bool(false)
+Done
+
+?>
+===Done===
+