1--TEST-- 2Test ctype_punct() function : usage variations - different data types as $c argument 3--SKIPIF-- 4<?php require_once('skipif.inc'); ?> 5--FILE-- 6<?php 7/* 8 * Pass different data types as $c argument to ctype_punt() to test behaviour 9 */ 10 11echo "*** Testing ctype_punct() : usage variations ***\n"; 12 13$orig = setlocale(LC_CTYPE, "C"); 14 15//get an unset variable 16$unset_var = 10; 17unset ($unset_var); 18 19// get a class 20class classA 21{ 22 public function __toString() { 23 return ",<.>"; 24 } 25} 26 27// heredoc string 28$heredoc = <<<EOT 29[{}] 30EOT; 31 32// get a resource variable 33$fp = fopen(__FILE__, "r"); 34 35// unexpected values to be passed to $c argument 36$inputs = array( 37 38 // int data 39/*1*/ 0, 40 1, 41 12345, 42 -2345, 43 44 // float data 45/*5*/ 10.5, 46 -10.5, 47 12.3456789000e10, 48 12.3456789000E-10, 49 .5, 50 51 // null data 52/*10*/ NULL, 53 null, 54 55 // boolean data 56/*12*/ true, 57 false, 58 TRUE, 59 FALSE, 60 61 // empty data 62/*16*/ "", 63 '', 64 array(), 65 66 // string data 67/*19*/ ";:'@", 68 '#~/?', 69 $heredoc, 70 71 // object data 72/*22*/ new classA(), 73 74 // undefined data 75/*23*/ @$undefined_var, 76 77 // unset data 78/*24*/ @$unset_var, 79 80 // resource variable 81/*25*/ $fp 82); 83 84// loop through each element of $inputs to check the behavior of ctype_punct 85$iterator = 1; 86foreach($inputs as $input) { 87 echo "\n-- Iteration $iterator --\n"; 88 var_dump( ctype_punct($input) ); 89 $iterator++; 90}; 91 92fclose($fp); 93 94setlocale(LC_CTYPE, $orig); 95?> 96--EXPECT-- 97*** Testing ctype_punct() : usage variations *** 98 99-- Iteration 1 -- 100bool(false) 101 102-- Iteration 2 -- 103bool(false) 104 105-- Iteration 3 -- 106bool(false) 107 108-- Iteration 4 -- 109bool(false) 110 111-- Iteration 5 -- 112bool(false) 113 114-- Iteration 6 -- 115bool(false) 116 117-- Iteration 7 -- 118bool(false) 119 120-- Iteration 8 -- 121bool(false) 122 123-- Iteration 9 -- 124bool(false) 125 126-- Iteration 10 -- 127bool(false) 128 129-- Iteration 11 -- 130bool(false) 131 132-- Iteration 12 -- 133bool(false) 134 135-- Iteration 13 -- 136bool(false) 137 138-- Iteration 14 -- 139bool(false) 140 141-- Iteration 15 -- 142bool(false) 143 144-- Iteration 16 -- 145bool(false) 146 147-- Iteration 17 -- 148bool(false) 149 150-- Iteration 18 -- 151bool(false) 152 153-- Iteration 19 -- 154bool(true) 155 156-- Iteration 20 -- 157bool(true) 158 159-- Iteration 21 -- 160bool(true) 161 162-- Iteration 22 -- 163bool(false) 164 165-- Iteration 23 -- 166bool(false) 167 168-- Iteration 24 -- 169bool(false) 170 171-- Iteration 25 -- 172bool(false) 173