1--TEST-- 2Test exif_tagname() function : usage variations - different types for index argument 3--SKIPIF-- 4<?php if (!extension_loaded('exif')) print 'skip exif extension not available'; 5if (PHP_INT_SIZE != 8) die('skip 64-bit only'); 6?> 7--FILE-- 8<?php 9 10/* Prototype : string exif_tagname ( string $index ) 11 * Description: Get the header name for an index 12 * Source code: ext/exif/exif.c 13*/ 14 15echo "*** Testing exif_tagname() : different types for index argument ***\n"; 16// initialize all required variables 17 18// get an unset variable 19$unset_var = 'string_val'; 20unset($unset_var); 21 22// declaring a class 23class sample { 24 public function __toString() { 25 return "obj'ct"; 26 } 27} 28 29// Defining resource 30$file_handle = fopen(__FILE__, 'r'); 31 32// array with different values 33$values = array ( 34 35 // integer values 36 0, 37 1, 38 12345, 39 -2345, 40 41 // float values 42 10.5, 43 -10.5, 44 10.1234567e10, 45 10.7654321E-10, 46 .5, 47 48 // array values 49 array(), 50 array(0), 51 array(1), 52 array(1, 2), 53 array('color' => 'red', 'item' => 'pen'), 54 55 // boolean values 56 true, 57 false, 58 TRUE, 59 FALSE, 60 61 // empty string 62 "", 63 '', 64 65 // undefined variable 66 $undefined_var, 67 68 // unset variable 69 $unset_var, 70 71 // objects 72 new sample(), 73 74 // resource 75 $file_handle, 76 77 NULL, 78 null 79); 80 81 82// loop through each element of the array and check the working of exif_tagname() 83// when $index argument is supplied with different values 84 85echo "\n--- Testing exif_tagname() by supplying different values for 'index' argument ---\n"; 86$counter = 1; 87foreach($values as $index) { 88 echo "-- Iteration $counter --\n"; 89 var_dump( exif_tagname($index) ); 90 $counter ++; 91} 92 93// closing the file 94fclose($file_handle); 95 96echo "Done\n"; 97?> 98 99?> 100===Done=== 101--EXPECTF-- 102*** Testing exif_tagname() : different types for index argument *** 103 104Notice: Undefined variable: undefined_var in %s on line %d 105 106Notice: Undefined variable: unset_var in %s on line %d 107 108--- Testing exif_tagname() by supplying different values for 'index' argument --- 109-- Iteration 1 -- 110bool(false) 111-- Iteration 2 -- 112bool(false) 113-- Iteration 3 -- 114bool(false) 115-- Iteration 4 -- 116bool(false) 117-- Iteration 5 -- 118bool(false) 119-- Iteration 6 -- 120bool(false) 121-- Iteration 7 -- 122bool(false) 123-- Iteration 8 -- 124bool(false) 125-- Iteration 9 -- 126bool(false) 127-- Iteration 10 -- 128 129Warning: exif_tagname() expects parameter 1 to be integer, array given in %s on line %d 130NULL 131-- Iteration 11 -- 132 133Warning: exif_tagname() expects parameter 1 to be integer, array given in %s on line %d 134NULL 135-- Iteration 12 -- 136 137Warning: exif_tagname() expects parameter 1 to be integer, array given in %s on line %d 138NULL 139-- Iteration 13 -- 140 141Warning: exif_tagname() expects parameter 1 to be integer, array given in %s on line %d 142NULL 143-- Iteration 14 -- 144 145Warning: exif_tagname() expects parameter 1 to be integer, array given in %s on line %d 146NULL 147-- Iteration 15 -- 148bool(false) 149-- Iteration 16 -- 150bool(false) 151-- Iteration 17 -- 152bool(false) 153-- Iteration 18 -- 154bool(false) 155-- Iteration 19 -- 156 157Warning: exif_tagname() expects parameter 1 to be integer, string given in %s on line %d 158NULL 159-- Iteration 20 -- 160 161Warning: exif_tagname() expects parameter 1 to be integer, string given in %s on line %d 162NULL 163-- Iteration 21 -- 164bool(false) 165-- Iteration 22 -- 166bool(false) 167-- Iteration 23 -- 168 169Warning: exif_tagname() expects parameter 1 to be integer, object given in %s on line %d 170NULL 171-- Iteration 24 -- 172 173Warning: exif_tagname() expects parameter 1 to be integer, resource given in %s on line %d 174NULL 175-- Iteration 25 -- 176bool(false) 177-- Iteration 26 -- 178bool(false) 179Done 180 181?> 182===Done=== 183 184