]> granicus.if.org Git - php/commitdiff
Exif tests: checked on PHP 5.2.6, 5.3 and 6.0 (Windows, Linux and Linux 64 bit).
authorAnt Phillips <ant@php.net>
Mon, 1 Dec 2008 12:25:21 +0000 (12:25 +0000)
committerAnt Phillips <ant@php.net>
Mon, 1 Dec 2008 12:25:21 +0000 (12:25 +0000)
ext/exif/tests/exif_imagetype_basic.phpt [new file with mode: 0644]
ext/exif/tests/exif_imagetype_error.phpt [new file with mode: 0644]
ext/exif/tests/exif_imagetype_variation1.phpt [new file with mode: 0644]
ext/exif/tests/exif_read_exif_data_basic.phpt [new file with mode: 0644]
ext/exif/tests/exif_tagname_basic.phpt [new file with mode: 0644]
ext/exif/tests/exif_tagname_error.phpt [new file with mode: 0644]
ext/exif/tests/exif_tagname_variation1.phpt [new file with mode: 0644]

diff --git a/ext/exif/tests/exif_imagetype_basic.phpt b/ext/exif/tests/exif_imagetype_basic.phpt
new file mode 100644 (file)
index 0000000..1248d39
--- /dev/null
@@ -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 (file)
index 0000000..989d02b
--- /dev/null
@@ -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 (file)
index 0000000..190eda3
--- /dev/null
@@ -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 (file)
index 0000000..435f137
--- /dev/null
@@ -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 (file)
index 0000000..e336011
--- /dev/null
@@ -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 (file)
index 0000000..ed1f2fd
--- /dev/null
@@ -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 (file)
index 0000000..da89919
--- /dev/null
@@ -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===
+