66 changed files with 6526 additions and 0 deletions
-
33ext/ctype/tests/ctype_alnum_basic.phpt
-
49ext/ctype/tests/ctype_alnum_error.phpt
-
183ext/ctype/tests/ctype_alnum_variation1.phpt
-
163ext/ctype/tests/ctype_alnum_variation2.phpt
-
133ext/ctype/tests/ctype_alnum_variation3.phpt
-
68ext/ctype/tests/ctype_alnum_variation4.phpt
-
33ext/ctype/tests/ctype_alpha_basic.phpt
-
45ext/ctype/tests/ctype_alpha_error.phpt
-
183ext/ctype/tests/ctype_alpha_variation1.phpt
-
153ext/ctype/tests/ctype_alpha_variation2.phpt
-
134ext/ctype/tests/ctype_alpha_variation3.phpt
-
68ext/ctype/tests/ctype_alpha_variation4.phpt
-
33ext/ctype/tests/ctype_cntrl_basic.phpt
-
45ext/ctype/tests/ctype_cntrl_error.phpt
-
184ext/ctype/tests/ctype_cntrl_variation1.phpt
-
102ext/ctype/tests/ctype_cntrl_variation2.phpt
-
162ext/ctype/tests/ctype_cntrl_variation3.phpt
-
67ext/ctype/tests/ctype_cntrl_variation4.phpt
-
33ext/ctype/tests/ctype_digit_basic.phpt
-
45ext/ctype/tests/ctype_digit_error.phpt
-
183ext/ctype/tests/ctype_digit_variation1.phpt
-
46ext/ctype/tests/ctype_digit_variation2.phpt
-
164ext/ctype/tests/ctype_digit_variation3.phpt
-
68ext/ctype/tests/ctype_digit_variation4.phpt
-
33ext/ctype/tests/ctype_graph_basic.phpt
-
45ext/ctype/tests/ctype_graph_error.phpt
-
183ext/ctype/tests/ctype_graph_variation1.phpt
-
224ext/ctype/tests/ctype_graph_variation2.phpt
-
152ext/ctype/tests/ctype_graph_variation3.phpt
-
68ext/ctype/tests/ctype_graph_variation4.phpt
-
33ext/ctype/tests/ctype_lower_basic.phpt
-
45ext/ctype/tests/ctype_lower_error.phpt
-
183ext/ctype/tests/ctype_lower_variation1.phpt
-
97ext/ctype/tests/ctype_lower_variation2.phpt
-
144ext/ctype/tests/ctype_lower_variation3.phpt
-
68ext/ctype/tests/ctype_lower_variation4.phpt
-
33ext/ctype/tests/ctype_print_basic.phpt
-
45ext/ctype/tests/ctype_print_error.phpt
-
183ext/ctype/tests/ctype_print_variation1.phpt
-
226ext/ctype/tests/ctype_print_variation2.phpt
-
132ext/ctype/tests/ctype_print_variation3.phpt
-
67ext/ctype/tests/ctype_print_variation4.phpt
-
34ext/ctype/tests/ctype_punct_basic.phpt
-
50ext/ctype/tests/ctype_punct_error.phpt
-
184ext/ctype/tests/ctype_punct_variation1.phpt
-
65ext/ctype/tests/ctype_punct_variation2.phpt
-
144ext/ctype/tests/ctype_punct_variation3.phpt
-
69ext/ctype/tests/ctype_punct_variation4.phpt
-
33ext/ctype/tests/ctype_space_basic.phpt
-
49ext/ctype/tests/ctype_space_error.phpt
-
183ext/ctype/tests/ctype_space_variation1.phpt
-
47ext/ctype/tests/ctype_space_variation2.phpt
-
144ext/ctype/tests/ctype_space_variation3.phpt
-
75ext/ctype/tests/ctype_space_variation4.phpt
-
33ext/ctype/tests/ctype_upper_basic.phpt
-
45ext/ctype/tests/ctype_upper_error.phpt
-
183ext/ctype/tests/ctype_upper_variation1.phpt
-
91ext/ctype/tests/ctype_upper_variation2.phpt
-
143ext/ctype/tests/ctype_upper_variation3.phpt
-
67ext/ctype/tests/ctype_upper_variation4.phpt
-
32ext/ctype/tests/ctype_xdigit_basic.phpt
-
45ext/ctype/tests/ctype_xdigit_error.phpt
-
183ext/ctype/tests/ctype_xdigit_variation1.phpt
-
58ext/ctype/tests/ctype_xdigit_variation2.phpt
-
144ext/ctype/tests/ctype_xdigit_variation3.phpt
-
87ext/ctype/tests/ctype_xdigit_variation4.phpt
@ -0,0 +1,33 @@ |
|||
--TEST-- |
|||
Test ctype_alnum() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alnum(mixed $c) |
|||
* Description: Checks for alphanumeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alnum() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = 'abcXYZ'; |
|||
$c2 = ' \t*@'; |
|||
|
|||
var_dump(ctype_alnum($c1)); |
|||
var_dump(ctype_alnum($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alnum() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,49 @@ |
|||
--TEST-- |
|||
Test ctype_alnum() function : error conditions - Incorrect number of args |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alnum(mixed $c) |
|||
* Description: Checks for alphanumeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass incorrect number of arguments to ctype_alnum() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alnum() : error conditions ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_alnum() function with Zero arguments --\n"; |
|||
var_dump( ctype_alnum() ); |
|||
|
|||
//Test ctype_alnum with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_alnum() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_alnum($c, $extra_arg) ); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alnum() : error conditions *** |
|||
|
|||
-- Testing ctype_alnum() function with Zero arguments -- |
|||
|
|||
Warning: ctype_alnum() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_alnum() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_alnum() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,183 @@ |
|||
--TEST-- |
|||
Test ctype_alnum() function : usage variations - Different data types as $c arg |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alnum(mixed $c) |
|||
* Description: Checks for alphanumeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_alnum() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alnum() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "xyz"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
123 |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "pqr", |
|||
'LMN', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_alnum() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_alnum($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alnum() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,163 @@ |
|||
--TEST-- |
|||
Test ctype_alnum() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alnum(mixed $c) |
|||
* Description: Checks for alphanumeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_alnum() to test which character codes are considered |
|||
* valid alphanumeric characters |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alnum() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($i = 0; $i < 256; $i++) { |
|||
if (ctype_alnum($i)) { |
|||
echo "character code $i is alpha numeric\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alnum() : usage variations *** |
|||
character code 48 is alpha numeric |
|||
character code 49 is alpha numeric |
|||
character code 50 is alpha numeric |
|||
character code 51 is alpha numeric |
|||
character code 52 is alpha numeric |
|||
character code 53 is alpha numeric |
|||
character code 54 is alpha numeric |
|||
character code 55 is alpha numeric |
|||
character code 56 is alpha numeric |
|||
character code 57 is alpha numeric |
|||
character code 65 is alpha numeric |
|||
character code 66 is alpha numeric |
|||
character code 67 is alpha numeric |
|||
character code 68 is alpha numeric |
|||
character code 69 is alpha numeric |
|||
character code 70 is alpha numeric |
|||
character code 71 is alpha numeric |
|||
character code 72 is alpha numeric |
|||
character code 73 is alpha numeric |
|||
character code 74 is alpha numeric |
|||
character code 75 is alpha numeric |
|||
character code 76 is alpha numeric |
|||
character code 77 is alpha numeric |
|||
character code 78 is alpha numeric |
|||
character code 79 is alpha numeric |
|||
character code 80 is alpha numeric |
|||
character code 81 is alpha numeric |
|||
character code 82 is alpha numeric |
|||
character code 83 is alpha numeric |
|||
character code 84 is alpha numeric |
|||
character code 85 is alpha numeric |
|||
character code 86 is alpha numeric |
|||
character code 87 is alpha numeric |
|||
character code 88 is alpha numeric |
|||
character code 89 is alpha numeric |
|||
character code 90 is alpha numeric |
|||
character code 97 is alpha numeric |
|||
character code 98 is alpha numeric |
|||
character code 99 is alpha numeric |
|||
character code 100 is alpha numeric |
|||
character code 101 is alpha numeric |
|||
character code 102 is alpha numeric |
|||
character code 103 is alpha numeric |
|||
character code 104 is alpha numeric |
|||
character code 105 is alpha numeric |
|||
character code 106 is alpha numeric |
|||
character code 107 is alpha numeric |
|||
character code 108 is alpha numeric |
|||
character code 109 is alpha numeric |
|||
character code 110 is alpha numeric |
|||
character code 111 is alpha numeric |
|||
character code 112 is alpha numeric |
|||
character code 113 is alpha numeric |
|||
character code 114 is alpha numeric |
|||
character code 115 is alpha numeric |
|||
character code 116 is alpha numeric |
|||
character code 117 is alpha numeric |
|||
character code 118 is alpha numeric |
|||
character code 119 is alpha numeric |
|||
character code 120 is alpha numeric |
|||
character code 121 is alpha numeric |
|||
character code 122 is alpha numeric |
|||
character code 170 is alpha numeric |
|||
character code 181 is alpha numeric |
|||
character code 186 is alpha numeric |
|||
character code 192 is alpha numeric |
|||
character code 193 is alpha numeric |
|||
character code 194 is alpha numeric |
|||
character code 195 is alpha numeric |
|||
character code 196 is alpha numeric |
|||
character code 197 is alpha numeric |
|||
character code 198 is alpha numeric |
|||
character code 199 is alpha numeric |
|||
character code 200 is alpha numeric |
|||
character code 201 is alpha numeric |
|||
character code 202 is alpha numeric |
|||
character code 203 is alpha numeric |
|||
character code 204 is alpha numeric |
|||
character code 205 is alpha numeric |
|||
character code 206 is alpha numeric |
|||
character code 207 is alpha numeric |
|||
character code 208 is alpha numeric |
|||
character code 209 is alpha numeric |
|||
character code 210 is alpha numeric |
|||
character code 211 is alpha numeric |
|||
character code 212 is alpha numeric |
|||
character code 213 is alpha numeric |
|||
character code 214 is alpha numeric |
|||
character code 216 is alpha numeric |
|||
character code 217 is alpha numeric |
|||
character code 218 is alpha numeric |
|||
character code 219 is alpha numeric |
|||
character code 220 is alpha numeric |
|||
character code 221 is alpha numeric |
|||
character code 222 is alpha numeric |
|||
character code 223 is alpha numeric |
|||
character code 224 is alpha numeric |
|||
character code 225 is alpha numeric |
|||
character code 226 is alpha numeric |
|||
character code 227 is alpha numeric |
|||
character code 228 is alpha numeric |
|||
character code 229 is alpha numeric |
|||
character code 230 is alpha numeric |
|||
character code 231 is alpha numeric |
|||
character code 232 is alpha numeric |
|||
character code 233 is alpha numeric |
|||
character code 234 is alpha numeric |
|||
character code 235 is alpha numeric |
|||
character code 236 is alpha numeric |
|||
character code 237 is alpha numeric |
|||
character code 238 is alpha numeric |
|||
character code 239 is alpha numeric |
|||
character code 240 is alpha numeric |
|||
character code 241 is alpha numeric |
|||
character code 242 is alpha numeric |
|||
character code 243 is alpha numeric |
|||
character code 244 is alpha numeric |
|||
character code 245 is alpha numeric |
|||
character code 246 is alpha numeric |
|||
character code 248 is alpha numeric |
|||
character code 249 is alpha numeric |
|||
character code 250 is alpha numeric |
|||
character code 251 is alpha numeric |
|||
character code 252 is alpha numeric |
|||
character code 253 is alpha numeric |
|||
character code 254 is alpha numeric |
|||
character code 255 is alpha numeric |
|||
===DONE=== |
|||
@ -0,0 +1,133 @@ |
|||
--TEST-- |
|||
Test ctype_alnum() function : usage variations - different string values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alnum(mixed $c) |
|||
* Description: Checks for alphanumeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different strings to ctype_alnum to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alnum() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
'abc123\n', |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
/*23*/ base64_decode("w4DDoMOHw6fDiMOo") // non-ascii characters |
|||
); |
|||
|
|||
|
|||
// loop through each element of $values to test behaviour of ctype_alnum() |
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_alnum($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alnum() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 4 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 5 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 6 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 7 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 8 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 9 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 10 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,68 @@ |
|||
--TEST-- |
|||
Test ctype_alnum() function : usage variations - octal and hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alnum(mixed $c) |
|||
* Description: Checks for alphanumeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass octal and hexadecimal values to ctype_alnum() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alnum() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array (060, 061, 062, 063); |
|||
$hex_values = array(0x30, 0x31, 0x32, 0x33); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_alnum($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_alnum($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alnum() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,33 @@ |
|||
--TEST-- |
|||
Test ctype_alpha() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alpha(mixed $c) |
|||
* Description: Checks for alphabetic character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alpha() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = 'abcXYZ'; |
|||
$c2 = "Hello, World!"; |
|||
|
|||
var_dump(ctype_alpha($c1)); |
|||
var_dump(ctype_alpha($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alpha() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,45 @@ |
|||
--TEST-- |
|||
Test ctype_alpha() function : error conditions - Incorrect number of arguments |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alpha(mixed $c) |
|||
* Description: Checks for alphabetic character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass an incorrect number of arguments to ctype_alpha() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alpha() : error conditions ***\n"; |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_alpha() function with Zero arguments --\n"; |
|||
var_dump( ctype_alpha() ); |
|||
|
|||
//Test ctype_alpha with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_alpha() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_alpha($c, $extra_arg) ); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alpha() : error conditions *** |
|||
|
|||
-- Testing ctype_alpha() function with Zero arguments -- |
|||
|
|||
Warning: ctype_alpha() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_alpha() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_alpha() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,183 @@ |
|||
--TEST-- |
|||
Test ctype_alpha() function : usage variations - different data types as $c arg |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alpha(mixed $c) |
|||
* Description: Checks for alphabetic character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_alpha() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alpha() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "abcdef"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
XYZ |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "string", |
|||
'string', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_alpha() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_alpha($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alpha() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,153 @@ |
|||
--TEST-- |
|||
Test ctype_alpha() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alpha(mixed $c) |
|||
* Description: Checks for alphabetic character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_alpha() to test which character codes are considered |
|||
* valid alphabetic characters |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alpha() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($i = 0; $i < 256; $i++) { |
|||
if (ctype_alpha($i)) { |
|||
echo "character code $i is alphabetic\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alpha() : usage variations *** |
|||
character code 65 is alphabetic |
|||
character code 66 is alphabetic |
|||
character code 67 is alphabetic |
|||
character code 68 is alphabetic |
|||
character code 69 is alphabetic |
|||
character code 70 is alphabetic |
|||
character code 71 is alphabetic |
|||
character code 72 is alphabetic |
|||
character code 73 is alphabetic |
|||
character code 74 is alphabetic |
|||
character code 75 is alphabetic |
|||
character code 76 is alphabetic |
|||
character code 77 is alphabetic |
|||
character code 78 is alphabetic |
|||
character code 79 is alphabetic |
|||
character code 80 is alphabetic |
|||
character code 81 is alphabetic |
|||
character code 82 is alphabetic |
|||
character code 83 is alphabetic |
|||
character code 84 is alphabetic |
|||
character code 85 is alphabetic |
|||
character code 86 is alphabetic |
|||
character code 87 is alphabetic |
|||
character code 88 is alphabetic |
|||
character code 89 is alphabetic |
|||
character code 90 is alphabetic |
|||
character code 97 is alphabetic |
|||
character code 98 is alphabetic |
|||
character code 99 is alphabetic |
|||
character code 100 is alphabetic |
|||
character code 101 is alphabetic |
|||
character code 102 is alphabetic |
|||
character code 103 is alphabetic |
|||
character code 104 is alphabetic |
|||
character code 105 is alphabetic |
|||
character code 106 is alphabetic |
|||
character code 107 is alphabetic |
|||
character code 108 is alphabetic |
|||
character code 109 is alphabetic |
|||
character code 110 is alphabetic |
|||
character code 111 is alphabetic |
|||
character code 112 is alphabetic |
|||
character code 113 is alphabetic |
|||
character code 114 is alphabetic |
|||
character code 115 is alphabetic |
|||
character code 116 is alphabetic |
|||
character code 117 is alphabetic |
|||
character code 118 is alphabetic |
|||
character code 119 is alphabetic |
|||
character code 120 is alphabetic |
|||
character code 121 is alphabetic |
|||
character code 122 is alphabetic |
|||
character code 170 is alphabetic |
|||
character code 181 is alphabetic |
|||
character code 186 is alphabetic |
|||
character code 192 is alphabetic |
|||
character code 193 is alphabetic |
|||
character code 194 is alphabetic |
|||
character code 195 is alphabetic |
|||
character code 196 is alphabetic |
|||
character code 197 is alphabetic |
|||
character code 198 is alphabetic |
|||
character code 199 is alphabetic |
|||
character code 200 is alphabetic |
|||
character code 201 is alphabetic |
|||
character code 202 is alphabetic |
|||
character code 203 is alphabetic |
|||
character code 204 is alphabetic |
|||
character code 205 is alphabetic |
|||
character code 206 is alphabetic |
|||
character code 207 is alphabetic |
|||
character code 208 is alphabetic |
|||
character code 209 is alphabetic |
|||
character code 210 is alphabetic |
|||
character code 211 is alphabetic |
|||
character code 212 is alphabetic |
|||
character code 213 is alphabetic |
|||
character code 214 is alphabetic |
|||
character code 216 is alphabetic |
|||
character code 217 is alphabetic |
|||
character code 218 is alphabetic |
|||
character code 219 is alphabetic |
|||
character code 220 is alphabetic |
|||
character code 221 is alphabetic |
|||
character code 222 is alphabetic |
|||
character code 223 is alphabetic |
|||
character code 224 is alphabetic |
|||
character code 225 is alphabetic |
|||
character code 226 is alphabetic |
|||
character code 227 is alphabetic |
|||
character code 228 is alphabetic |
|||
character code 229 is alphabetic |
|||
character code 230 is alphabetic |
|||
character code 231 is alphabetic |
|||
character code 232 is alphabetic |
|||
character code 233 is alphabetic |
|||
character code 234 is alphabetic |
|||
character code 235 is alphabetic |
|||
character code 236 is alphabetic |
|||
character code 237 is alphabetic |
|||
character code 238 is alphabetic |
|||
character code 239 is alphabetic |
|||
character code 240 is alphabetic |
|||
character code 241 is alphabetic |
|||
character code 242 is alphabetic |
|||
character code 243 is alphabetic |
|||
character code 244 is alphabetic |
|||
character code 245 is alphabetic |
|||
character code 246 is alphabetic |
|||
character code 248 is alphabetic |
|||
character code 249 is alphabetic |
|||
character code 250 is alphabetic |
|||
character code 251 is alphabetic |
|||
character code 252 is alphabetic |
|||
character code 253 is alphabetic |
|||
character code 254 is alphabetic |
|||
character code 255 is alphabetic |
|||
===DONE=== |
|||
@ -0,0 +1,134 @@ |
|||
--TEST-- |
|||
Test ctype_alpha() function : usage variations - different strings |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alpha(mixed $c) |
|||
* Description: Checks for alphabetic character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_alpha() to test |
|||
* which are considered valid alphabetic character only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alpha() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
'abc123\n', |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
/*23*/ base64_decode("w4DDoMOHw6fDiMOo") // non-ascii characters |
|||
); |
|||
|
|||
|
|||
// loop through each element of $values to test behaviour of ctype_alnum() |
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_alpha($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alpha() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 4 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 5 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 6 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 7 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 8 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 9 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 10 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,68 @@ |
|||
--TEST-- |
|||
Test ctype_alpha() function : usage variations - Octal and hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_alpha(mixed $c) |
|||
* Description: Checks for alphabetic character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass octal and hexadecimal values to ctype_alpha() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_alpha() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array (0101, 0102, 0103, 0104); |
|||
$hex_values = array (0x41, 0x42, 0x43, 0x44); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_alpha($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_alpha($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_alpha() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,33 @@ |
|||
--TEST-- |
|||
Test ctype_cntrl() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_cntrl(mixed $c) |
|||
* Description: Checks for control character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_cntrl() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = "\r\n\t"; |
|||
$c2 = "Hello, World!\n"; |
|||
|
|||
var_dump(ctype_cntrl($c1)); |
|||
var_dump(ctype_cntrl($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_cntrl() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,45 @@ |
|||
--TEST-- |
|||
Test ctype_cntrl() function : error conditions - Incorrect number of args |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_cntrl(mixed $c) |
|||
* Description: Checks for control character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass an incorrect number of arguments to ctype_cntrl() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_cntrl() : error conditions ***\n"; |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_cntrl() function with Zero arguments --\n"; |
|||
var_dump( ctype_cntrl() ); |
|||
|
|||
//Test ctype_cntrl with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_cntrl() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_cntrl($c, $extra_arg) ); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_cntrl() : error conditions *** |
|||
|
|||
-- Testing ctype_cntrl() function with Zero arguments -- |
|||
|
|||
Warning: ctype_cntrl() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_cntrl() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_cntrl() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,184 @@ |
|||
--TEST-- |
|||
Test ctype_cntrl() function : usage variations - Different data types as $c arg |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_cntrl(mixed $c) |
|||
* Description: Checks for control character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_cntrl() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_cntrl() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "\n\r\t"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
\t\r\n |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "\t\r\n", |
|||
' |
|||
', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_cntrl() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_cntrl($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_cntrl() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,102 @@ |
|||
--TEST-- |
|||
Test ctype_cntrl() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_cntrl(mixed $c) |
|||
* Description: Checks for control character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_cntrl() to test which character codes are considered |
|||
* valid control characters |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_cntrl() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($i = 0; $i < 256; $i++) { |
|||
if (ctype_cntrl($i)) { |
|||
echo "character code $i is control character\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_cntrl() : usage variations *** |
|||
character code 0 is control character |
|||
character code 1 is control character |
|||
character code 2 is control character |
|||
character code 3 is control character |
|||
character code 4 is control character |
|||
character code 5 is control character |
|||
character code 6 is control character |
|||
character code 7 is control character |
|||
character code 8 is control character |
|||
character code 9 is control character |
|||
character code 10 is control character |
|||
character code 11 is control character |
|||
character code 12 is control character |
|||
character code 13 is control character |
|||
character code 14 is control character |
|||
character code 15 is control character |
|||
character code 16 is control character |
|||
character code 17 is control character |
|||
character code 18 is control character |
|||
character code 19 is control character |
|||
character code 20 is control character |
|||
character code 21 is control character |
|||
character code 22 is control character |
|||
character code 23 is control character |
|||
character code 24 is control character |
|||
character code 25 is control character |
|||
character code 26 is control character |
|||
character code 27 is control character |
|||
character code 28 is control character |
|||
character code 29 is control character |
|||
character code 30 is control character |
|||
character code 31 is control character |
|||
character code 127 is control character |
|||
character code 128 is control character |
|||
character code 129 is control character |
|||
character code 130 is control character |
|||
character code 131 is control character |
|||
character code 132 is control character |
|||
character code 133 is control character |
|||
character code 134 is control character |
|||
character code 135 is control character |
|||
character code 136 is control character |
|||
character code 137 is control character |
|||
character code 138 is control character |
|||
character code 139 is control character |
|||
character code 140 is control character |
|||
character code 141 is control character |
|||
character code 142 is control character |
|||
character code 143 is control character |
|||
character code 144 is control character |
|||
character code 145 is control character |
|||
character code 146 is control character |
|||
character code 147 is control character |
|||
character code 148 is control character |
|||
character code 149 is control character |
|||
character code 150 is control character |
|||
character code 151 is control character |
|||
character code 152 is control character |
|||
character code 153 is control character |
|||
character code 154 is control character |
|||
character code 155 is control character |
|||
character code 156 is control character |
|||
character code 157 is control character |
|||
character code 158 is control character |
|||
character code 159 is control character |
|||
character code 173 is control character |
|||
===DONE=== |
|||
@ -0,0 +1,162 @@ |
|||
--TEST-- |
|||
Test ctype_cntrl() function : usage variations - Different strings |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_cntrl(mixed $c) |
|||
* Description: Checks for control character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_cntrl() to test |
|||
* which are considered valid control character only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_cntrl() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
'abc123\n', |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
base64_decode("w4DDoMOHw6fDiMOo"), // non-ascii characters |
|||
"\n", |
|||
/*25*/ "\r", |
|||
"\t", |
|||
"0xD", |
|||
"0xA", |
|||
"0xE", |
|||
/*30*/ "\t\r\n", |
|||
); |
|||
|
|||
|
|||
// loop through each element of $values to test behaviour of ctype_cntrl() |
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_cntrl($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_cntrl() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 26 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 27 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 28 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 29 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 30 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,67 @@ |
|||
--TEST-- |
|||
Test ctype_cntrl() function : usage variations - Octal and hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_cntrl(mixed $c) |
|||
* Description: Checks for control character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass hexadecimal and octal values to ctype_cntrl() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_cntrl() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array(01, 02, 03, 04); |
|||
$hex_values = array(0x1, 0x2, 0x3, 0x4); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_cntrl($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_cntrl($c)); |
|||
$iterator++; |
|||
} |
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_cntrl() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,33 @@ |
|||
--TEST-- |
|||
Test ctype_digit() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_digit(mixed $c) |
|||
* Description: Checks for numeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_digit() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = '1234'; |
|||
$c2 = 'abc123'; |
|||
|
|||
var_dump(ctype_digit($c1)); |
|||
var_dump(ctype_digit($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_digit() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,45 @@ |
|||
--TEST-- |
|||
Test ctype_digit() function : error conditions - incorrect number of arguments |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_digit(mixed $c) |
|||
* Description: Checks for numeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass an incorrect number of arguments to ctype_digit() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_digit() : error conditions ***\n"; |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_digit() function with Zero arguments --\n"; |
|||
var_dump( ctype_digit() ); |
|||
|
|||
//Test ctype_digit with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_digit() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_digit($c, $extra_arg) ); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_digit() : error conditions *** |
|||
|
|||
-- Testing ctype_digit() function with Zero arguments -- |
|||
|
|||
Warning: ctype_digit() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_digit() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_digit() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,183 @@ |
|||
--TEST-- |
|||
Test ctype_digit() function : usage variations - different data types as $c arg |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_digit(mixed $c) |
|||
* Description: Checks for numeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_digit() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_digit() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "123456"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
1 |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "2", |
|||
'309', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_digit() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_digit($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_digit() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,46 @@ |
|||
--TEST-- |
|||
Test ctype_digit() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_digit(mixed $c) |
|||
* Description: Checks for numeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_digit() to test which character codes are considered |
|||
* valid decimal digits |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_digit() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($i = 0; $i < 256; $i++) { |
|||
if (ctype_digit($i)) { |
|||
echo "character code $i is a numeric digit\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_digit() : usage variations *** |
|||
character code 48 is a numeric digit |
|||
character code 49 is a numeric digit |
|||
character code 50 is a numeric digit |
|||
character code 51 is a numeric digit |
|||
character code 52 is a numeric digit |
|||
character code 53 is a numeric digit |
|||
character code 54 is a numeric digit |
|||
character code 55 is a numeric digit |
|||
character code 56 is a numeric digit |
|||
character code 57 is a numeric digit |
|||
===DONE=== |
|||
@ -0,0 +1,164 @@ |
|||
--TEST-- |
|||
Test ctype_digit() function : usage variations - different strings |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_digit(mixed $c) |
|||
* Description: Checks for numeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_digit() to test |
|||
* which are considered valid decimal digit only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_digit() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
"0", |
|||
/*15*/ "3", |
|||
"9", |
|||
"1234", |
|||
"7890", |
|||
"0677", |
|||
/*20*/ '0', |
|||
'3', |
|||
'9', |
|||
'1234', |
|||
'7890', |
|||
/*25*/ "123abc", |
|||
"abc123", |
|||
"123\r\t", |
|||
"123 ", |
|||
" 123", |
|||
/*30*/ "123E4", |
|||
/*31*/ "0x3F", |
|||
); |
|||
|
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_digit($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_digit() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 26 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 27 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 28 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 29 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 30 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 31 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,68 @@ |
|||
--TEST-- |
|||
Test ctype_digit() function : usage variations - octal and hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_digit(mixed $c) |
|||
* Description: Checks for numeric character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass octal and hexadecimal values as $c argument to ctype_digit() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_digit() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array(061, 062, 063, 064); |
|||
$hex_values = array (0x31, 0x32, 0x33, 0x34); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_digit($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_digit($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_digit() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,33 @@ |
|||
--TEST-- |
|||
Test ctype_graph() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_graph(mixed $c) |
|||
* Description: Checks for any printable character(s) except space |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_graph() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = 'helloWorld!'; |
|||
$c2 = "Hello, world!\n"; |
|||
|
|||
var_dump(ctype_graph($c1)); |
|||
var_dump(ctype_graph($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_graph() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,45 @@ |
|||
--TEST-- |
|||
Test ctype_graph() function : error conditions - incorrect number of arguments |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_graph(mixed $c) |
|||
* Description: Checks for any printable character(s) except space |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass an incorrect number of arguments to ctype_graph() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_graph() : error conditions ***\n"; |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_graph() function with Zero arguments --\n"; |
|||
var_dump( ctype_graph() ); |
|||
|
|||
//Test ctype_graph with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_graph() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_graph($c, $extra_arg) ); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_graph() : error conditions *** |
|||
|
|||
-- Testing ctype_graph() function with Zero arguments -- |
|||
|
|||
Warning: ctype_graph() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_graph() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_graph() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,183 @@ |
|||
--TEST-- |
|||
Test ctype_graph() function : usage variations - different data types as $c arg |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_graph(mixed $c) |
|||
* Description: Checks for any printable character(s) except space |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_graph() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_graph() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "myClass"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
hiWorld! |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "string", |
|||
'string', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_graph() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_graph($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_graph() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,224 @@ |
|||
--TEST-- |
|||
Test ctype_graph() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_graph(mixed $c) |
|||
* Description: Checks for any printable character(s) except space |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_graph() to test which character codes are considered |
|||
* valid visibly printable characters |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_graph() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($i = 0; $i < 256; $i++) { |
|||
if (ctype_graph($i)) { |
|||
echo "character code $i is a printable character\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_graph() : usage variations *** |
|||
character code 33 is a printable character |
|||
character code 34 is a printable character |
|||
character code 35 is a printable character |
|||
character code 36 is a printable character |
|||
character code 37 is a printable character |
|||
character code 38 is a printable character |
|||
character code 39 is a printable character |
|||
character code 40 is a printable character |
|||
character code 41 is a printable character |
|||
character code 42 is a printable character |
|||
character code 43 is a printable character |
|||
character code 44 is a printable character |
|||
character code 45 is a printable character |
|||
character code 46 is a printable character |
|||
character code 47 is a printable character |
|||
character code 48 is a printable character |
|||
character code 49 is a printable character |
|||
character code 50 is a printable character |
|||
character code 51 is a printable character |
|||
character code 52 is a printable character |
|||
character code 53 is a printable character |
|||
character code 54 is a printable character |
|||
character code 55 is a printable character |
|||
character code 56 is a printable character |
|||
character code 57 is a printable character |
|||
character code 58 is a printable character |
|||
character code 59 is a printable character |
|||
character code 60 is a printable character |
|||
character code 61 is a printable character |
|||
character code 62 is a printable character |
|||
character code 63 is a printable character |
|||
character code 64 is a printable character |
|||
character code 65 is a printable character |
|||
character code 66 is a printable character |
|||
character code 67 is a printable character |
|||
character code 68 is a printable character |
|||
character code 69 is a printable character |
|||
character code 70 is a printable character |
|||
character code 71 is a printable character |
|||
character code 72 is a printable character |
|||
character code 73 is a printable character |
|||
character code 74 is a printable character |
|||
character code 75 is a printable character |
|||
character code 76 is a printable character |
|||
character code 77 is a printable character |
|||
character code 78 is a printable character |
|||
character code 79 is a printable character |
|||
character code 80 is a printable character |
|||
character code 81 is a printable character |
|||
character code 82 is a printable character |
|||
character code 83 is a printable character |
|||
character code 84 is a printable character |
|||
character code 85 is a printable character |
|||
character code 86 is a printable character |
|||
character code 87 is a printable character |
|||
character code 88 is a printable character |
|||
character code 89 is a printable character |
|||
character code 90 is a printable character |
|||
character code 91 is a printable character |
|||
character code 92 is a printable character |
|||
character code 93 is a printable character |
|||
character code 94 is a printable character |
|||
character code 95 is a printable character |
|||
character code 96 is a printable character |
|||
character code 97 is a printable character |
|||
character code 98 is a printable character |
|||
character code 99 is a printable character |
|||
character code 100 is a printable character |
|||
character code 101 is a printable character |
|||
character code 102 is a printable character |
|||
character code 103 is a printable character |
|||
character code 104 is a printable character |
|||
character code 105 is a printable character |
|||
character code 106 is a printable character |
|||
character code 107 is a printable character |
|||
character code 108 is a printable character |
|||
character code 109 is a printable character |
|||
character code 110 is a printable character |
|||
character code 111 is a printable character |
|||
character code 112 is a printable character |
|||
character code 113 is a printable character |
|||
character code 114 is a printable character |
|||
character code 115 is a printable character |
|||
character code 116 is a printable character |
|||
character code 117 is a printable character |
|||
character code 118 is a printable character |
|||
character code 119 is a printable character |
|||
character code 120 is a printable character |
|||
character code 121 is a printable character |
|||
character code 122 is a printable character |
|||
character code 123 is a printable character |
|||
character code 124 is a printable character |
|||
character code 125 is a printable character |
|||
character code 126 is a printable character |
|||
character code 161 is a printable character |
|||
character code 162 is a printable character |
|||
character code 163 is a printable character |
|||
character code 164 is a printable character |
|||
character code 165 is a printable character |
|||
character code 166 is a printable character |
|||
character code 167 is a printable character |
|||
character code 168 is a printable character |
|||
character code 169 is a printable character |
|||
character code 170 is a printable character |
|||
character code 171 is a printable character |
|||
character code 172 is a printable character |
|||
character code 174 is a printable character |
|||
character code 175 is a printable character |
|||
character code 176 is a printable character |
|||
character code 177 is a printable character |
|||
character code 178 is a printable character |
|||
character code 179 is a printable character |
|||
character code 180 is a printable character |
|||
character code 181 is a printable character |
|||
character code 182 is a printable character |
|||
character code 183 is a printable character |
|||
character code 184 is a printable character |
|||
character code 185 is a printable character |
|||
character code 186 is a printable character |
|||
character code 187 is a printable character |
|||
character code 188 is a printable character |
|||
character code 189 is a printable character |
|||
character code 190 is a printable character |
|||
character code 191 is a printable character |
|||
character code 192 is a printable character |
|||
character code 193 is a printable character |
|||
character code 194 is a printable character |
|||
character code 195 is a printable character |
|||
character code 196 is a printable character |
|||
character code 197 is a printable character |
|||
character code 198 is a printable character |
|||
character code 199 is a printable character |
|||
character code 200 is a printable character |
|||
character code 201 is a printable character |
|||
character code 202 is a printable character |
|||
character code 203 is a printable character |
|||
character code 204 is a printable character |
|||
character code 205 is a printable character |
|||
character code 206 is a printable character |
|||
character code 207 is a printable character |
|||
character code 208 is a printable character |
|||
character code 209 is a printable character |
|||
character code 210 is a printable character |
|||
character code 211 is a printable character |
|||
character code 212 is a printable character |
|||
character code 213 is a printable character |
|||
character code 214 is a printable character |
|||
character code 215 is a printable character |
|||
character code 216 is a printable character |
|||
character code 217 is a printable character |
|||
character code 218 is a printable character |
|||
character code 219 is a printable character |
|||
character code 220 is a printable character |
|||
character code 221 is a printable character |
|||
character code 222 is a printable character |
|||
character code 223 is a printable character |
|||
character code 224 is a printable character |
|||
character code 225 is a printable character |
|||
character code 226 is a printable character |
|||
character code 227 is a printable character |
|||
character code 228 is a printable character |
|||
character code 229 is a printable character |
|||
character code 230 is a printable character |
|||
character code 231 is a printable character |
|||
character code 232 is a printable character |
|||
character code 233 is a printable character |
|||
character code 234 is a printable character |
|||
character code 235 is a printable character |
|||
character code 236 is a printable character |
|||
character code 237 is a printable character |
|||
character code 238 is a printable character |
|||
character code 239 is a printable character |
|||
character code 240 is a printable character |
|||
character code 241 is a printable character |
|||
character code 242 is a printable character |
|||
character code 243 is a printable character |
|||
character code 244 is a printable character |
|||
character code 245 is a printable character |
|||
character code 246 is a printable character |
|||
character code 247 is a printable character |
|||
character code 248 is a printable character |
|||
character code 249 is a printable character |
|||
character code 250 is a printable character |
|||
character code 251 is a printable character |
|||
character code 252 is a printable character |
|||
character code 253 is a printable character |
|||
character code 254 is a printable character |
|||
character code 255 is a printable character |
|||
===DONE=== |
|||
@ -0,0 +1,152 @@ |
|||
--TEST-- |
|||
Test ctype_graph() function : usage variations - different strings |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_graph(mixed $c) |
|||
* Description: Checks for any printable character(s) except space |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_graph() to test |
|||
* which are considered valid printable character only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_graph() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
"abc123\n", |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
base64_decode("w4DDoMOHw6fDiMOo"), // non-ascii characters |
|||
"!$%^&*()_+-={}[]:;@~'#<,>.?/", |
|||
/*25*/ "\"ABC\"", |
|||
"String\twith\ttabs", |
|||
"Sample string with newline\n", |
|||
/*28*/ "123 ABC XYZ", |
|||
); |
|||
|
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_graph($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_graph() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 4 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 5 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 6 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 7 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 8 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 9 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 10 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 26 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 27 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 28 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,68 @@ |
|||
--TEST-- |
|||
Test ctype_graph() function : usage variations - octal and hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_graph(mixed $c) |
|||
* Description: Checks for any printable character(s) except space |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass octal and hexadecimal values to ctype_graph() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_graph() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array(061, 062, 063, 064); |
|||
$hex_values = array (0x31, 0x32, 0x33, 0x34); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_graph($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_graph($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_graph() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,33 @@ |
|||
--TEST-- |
|||
Test ctype_lower() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_lower(mixed $c) |
|||
* Description: Checks for lowercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_lower() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = 'helloworld'; |
|||
$c2 = "Hello, world!\n"; |
|||
|
|||
var_dump(ctype_lower($c1)); |
|||
var_dump(ctype_lower($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_lower() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,45 @@ |
|||
--TEST-- |
|||
Test ctype_lower() function : error conditions - incorrect number of args |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_lower(mixed $c) |
|||
* Description: Checks for lowercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass incorrect number of arguments to ctype_lower() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_lower() : error conditions ***\n"; |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_lower() function with Zero arguments --\n"; |
|||
var_dump( ctype_lower() ); |
|||
|
|||
//Test ctype_lower with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_lower() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_lower($c, $extra_arg) ); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_lower() : error conditions *** |
|||
|
|||
-- Testing ctype_lower() function with Zero arguments -- |
|||
|
|||
Warning: ctype_lower() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_lower() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_lower() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,183 @@ |
|||
--TEST-- |
|||
Test ctype_lower() function : usage variations - different data types as $c arg |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_lower(mixed $c) |
|||
* Description: Checks for lowercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_lower() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_lower() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "class"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
heredoc |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "string", |
|||
'string', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_lower() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_lower($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_lower() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,97 @@ |
|||
--TEST-- |
|||
Test ctype_lower() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_lower(mixed $c) |
|||
* Description: Checks for lowercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_lower() to test which character codes are considered |
|||
* valid lowercase characters |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_lower() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($i = 0; $i < 256; $i++) { |
|||
if (ctype_lower($i)) { |
|||
echo "character code $i is a lower case character\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_lower() : usage variations *** |
|||
character code 97 is a lower case character |
|||
character code 98 is a lower case character |
|||
character code 99 is a lower case character |
|||
character code 100 is a lower case character |
|||
character code 101 is a lower case character |
|||
character code 102 is a lower case character |
|||
character code 103 is a lower case character |
|||
character code 104 is a lower case character |
|||
character code 105 is a lower case character |
|||
character code 106 is a lower case character |
|||
character code 107 is a lower case character |
|||
character code 108 is a lower case character |
|||
character code 109 is a lower case character |
|||
character code 110 is a lower case character |
|||
character code 111 is a lower case character |
|||
character code 112 is a lower case character |
|||
character code 113 is a lower case character |
|||
character code 114 is a lower case character |
|||
character code 115 is a lower case character |
|||
character code 116 is a lower case character |
|||
character code 117 is a lower case character |
|||
character code 118 is a lower case character |
|||
character code 119 is a lower case character |
|||
character code 120 is a lower case character |
|||
character code 121 is a lower case character |
|||
character code 122 is a lower case character |
|||
character code 170 is a lower case character |
|||
character code 181 is a lower case character |
|||
character code 186 is a lower case character |
|||
character code 223 is a lower case character |
|||
character code 224 is a lower case character |
|||
character code 225 is a lower case character |
|||
character code 226 is a lower case character |
|||
character code 227 is a lower case character |
|||
character code 228 is a lower case character |
|||
character code 229 is a lower case character |
|||
character code 230 is a lower case character |
|||
character code 231 is a lower case character |
|||
character code 232 is a lower case character |
|||
character code 233 is a lower case character |
|||
character code 234 is a lower case character |
|||
character code 235 is a lower case character |
|||
character code 236 is a lower case character |
|||
character code 237 is a lower case character |
|||
character code 238 is a lower case character |
|||
character code 239 is a lower case character |
|||
character code 240 is a lower case character |
|||
character code 241 is a lower case character |
|||
character code 242 is a lower case character |
|||
character code 243 is a lower case character |
|||
character code 244 is a lower case character |
|||
character code 245 is a lower case character |
|||
character code 246 is a lower case character |
|||
character code 248 is a lower case character |
|||
character code 249 is a lower case character |
|||
character code 250 is a lower case character |
|||
character code 251 is a lower case character |
|||
character code 252 is a lower case character |
|||
character code 253 is a lower case character |
|||
character code 254 is a lower case character |
|||
character code 255 is a lower case character |
|||
===DONE=== |
|||
@ -0,0 +1,144 @@ |
|||
--TEST-- |
|||
Test ctype_lower() function : usage variations - different strings |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_lower(mixed $c) |
|||
* Description: Checks for lowercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_lower() to test |
|||
* which are considered valid lowercase character only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_lower() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
'abc123\n', |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
base64_decode("w4DDoMOHw6fDiMOo"), // non-ascii characters |
|||
"abcXYZ", |
|||
/*25*/ "abc xyz", |
|||
/*26*/ "abc+efg*xyz", |
|||
); |
|||
|
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_lower($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_lower() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 4 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 5 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 6 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 7 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 8 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 9 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 10 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 26 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,68 @@ |
|||
--TEST-- |
|||
Test ctype_lower() function : usage variations - octal and hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_lower(mixed $c) |
|||
* Description: Checks for lowercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass octal and hexadecimal values to ctype_lower() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_lower() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array(0141, 0142, 0143, 0144); |
|||
$hex_values = array (0x61, 0x62, 0x63, 0x64); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_lower($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_lower($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_lower() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,33 @@ |
|||
--TEST-- |
|||
Test ctype_print() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_print(mixed $c) |
|||
* Description: Checks for printable character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_print() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = "Hello, World!"; |
|||
$c2 = null; |
|||
|
|||
var_dump(ctype_print($c1)); |
|||
var_dump(ctype_print($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_print() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,45 @@ |
|||
--TEST-- |
|||
Test ctype_print() function : error conditions - incorrect number of args |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_print(mixed $c) |
|||
* Description: Checks for printable character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass incorrect number of arguments to ctype_print() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_print() : error conditions ***\n"; |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_print() function with Zero arguments --\n"; |
|||
var_dump( ctype_print() ); |
|||
|
|||
//Test ctype_print with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_print() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_print($c, $extra_arg) ); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_print() : error conditions *** |
|||
|
|||
-- Testing ctype_print() function with Zero arguments -- |
|||
|
|||
Warning: ctype_print() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_print() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_print() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,183 @@ |
|||
--TEST-- |
|||
Test ctype_print() function : usage variations - different data types as $c arg |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_print(mixed $c) |
|||
* Description: Checks for printable character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_print() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_print() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "Class A object"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
hello world |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "string", |
|||
'string', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_print() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_print($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_print() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,226 @@ |
|||
--TEST-- |
|||
Test ctype_print() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_print(mixed $c) |
|||
* Description: Checks for printable character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_print() to test which character codes are considered |
|||
* valid printable characters |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_print() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($i = 0; $i < 256; $i++) { |
|||
if (ctype_print($i)) { |
|||
echo "character code $i is a printable character\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_print() : usage variations *** |
|||
character code 32 is a printable character |
|||
character code 33 is a printable character |
|||
character code 34 is a printable character |
|||
character code 35 is a printable character |
|||
character code 36 is a printable character |
|||
character code 37 is a printable character |
|||
character code 38 is a printable character |
|||
character code 39 is a printable character |
|||
character code 40 is a printable character |
|||
character code 41 is a printable character |
|||
character code 42 is a printable character |
|||
character code 43 is a printable character |
|||
character code 44 is a printable character |
|||
character code 45 is a printable character |
|||
character code 46 is a printable character |
|||
character code 47 is a printable character |
|||
character code 48 is a printable character |
|||
character code 49 is a printable character |
|||
character code 50 is a printable character |
|||
character code 51 is a printable character |
|||
character code 52 is a printable character |
|||
character code 53 is a printable character |
|||
character code 54 is a printable character |
|||
character code 55 is a printable character |
|||
character code 56 is a printable character |
|||
character code 57 is a printable character |
|||
character code 58 is a printable character |
|||
character code 59 is a printable character |
|||
character code 60 is a printable character |
|||
character code 61 is a printable character |
|||
character code 62 is a printable character |
|||
character code 63 is a printable character |
|||
character code 64 is a printable character |
|||
character code 65 is a printable character |
|||
character code 66 is a printable character |
|||
character code 67 is a printable character |
|||
character code 68 is a printable character |
|||
character code 69 is a printable character |
|||
character code 70 is a printable character |
|||
character code 71 is a printable character |
|||
character code 72 is a printable character |
|||
character code 73 is a printable character |
|||
character code 74 is a printable character |
|||
character code 75 is a printable character |
|||
character code 76 is a printable character |
|||
character code 77 is a printable character |
|||
character code 78 is a printable character |
|||
character code 79 is a printable character |
|||
character code 80 is a printable character |
|||
character code 81 is a printable character |
|||
character code 82 is a printable character |
|||
character code 83 is a printable character |
|||
character code 84 is a printable character |
|||
character code 85 is a printable character |
|||
character code 86 is a printable character |
|||
character code 87 is a printable character |
|||
character code 88 is a printable character |
|||
character code 89 is a printable character |
|||
character code 90 is a printable character |
|||
character code 91 is a printable character |
|||
character code 92 is a printable character |
|||
character code 93 is a printable character |
|||
character code 94 is a printable character |
|||
character code 95 is a printable character |
|||
character code 96 is a printable character |
|||
character code 97 is a printable character |
|||
character code 98 is a printable character |
|||
character code 99 is a printable character |
|||
character code 100 is a printable character |
|||
character code 101 is a printable character |
|||
character code 102 is a printable character |
|||
character code 103 is a printable character |
|||
character code 104 is a printable character |
|||
character code 105 is a printable character |
|||
character code 106 is a printable character |
|||
character code 107 is a printable character |
|||
character code 108 is a printable character |
|||
character code 109 is a printable character |
|||
character code 110 is a printable character |
|||
character code 111 is a printable character |
|||
character code 112 is a printable character |
|||
character code 113 is a printable character |
|||
character code 114 is a printable character |
|||
character code 115 is a printable character |
|||
character code 116 is a printable character |
|||
character code 117 is a printable character |
|||
character code 118 is a printable character |
|||
character code 119 is a printable character |
|||
character code 120 is a printable character |
|||
character code 121 is a printable character |
|||
character code 122 is a printable character |
|||
character code 123 is a printable character |
|||
character code 124 is a printable character |
|||
character code 125 is a printable character |
|||
character code 126 is a printable character |
|||
character code 160 is a printable character |
|||
character code 161 is a printable character |
|||
character code 162 is a printable character |
|||
character code 163 is a printable character |
|||
character code 164 is a printable character |
|||
character code 165 is a printable character |
|||
character code 166 is a printable character |
|||
character code 167 is a printable character |
|||
character code 168 is a printable character |
|||
character code 169 is a printable character |
|||
character code 170 is a printable character |
|||
character code 171 is a printable character |
|||
character code 172 is a printable character |
|||
character code 174 is a printable character |
|||
character code 175 is a printable character |
|||
character code 176 is a printable character |
|||
character code 177 is a printable character |
|||
character code 178 is a printable character |
|||
character code 179 is a printable character |
|||
character code 180 is a printable character |
|||
character code 181 is a printable character |
|||
character code 182 is a printable character |
|||
character code 183 is a printable character |
|||
character code 184 is a printable character |
|||
character code 185 is a printable character |
|||
character code 186 is a printable character |
|||
character code 187 is a printable character |
|||
character code 188 is a printable character |
|||
character code 189 is a printable character |
|||
character code 190 is a printable character |
|||
character code 191 is a printable character |
|||
character code 192 is a printable character |
|||
character code 193 is a printable character |
|||
character code 194 is a printable character |
|||
character code 195 is a printable character |
|||
character code 196 is a printable character |
|||
character code 197 is a printable character |
|||
character code 198 is a printable character |
|||
character code 199 is a printable character |
|||
character code 200 is a printable character |
|||
character code 201 is a printable character |
|||
character code 202 is a printable character |
|||
character code 203 is a printable character |
|||
character code 204 is a printable character |
|||
character code 205 is a printable character |
|||
character code 206 is a printable character |
|||
character code 207 is a printable character |
|||
character code 208 is a printable character |
|||
character code 209 is a printable character |
|||
character code 210 is a printable character |
|||
character code 211 is a printable character |
|||
character code 212 is a printable character |
|||
character code 213 is a printable character |
|||
character code 214 is a printable character |
|||
character code 215 is a printable character |
|||
character code 216 is a printable character |
|||
character code 217 is a printable character |
|||
character code 218 is a printable character |
|||
character code 219 is a printable character |
|||
character code 220 is a printable character |
|||
character code 221 is a printable character |
|||
character code 222 is a printable character |
|||
character code 223 is a printable character |
|||
character code 224 is a printable character |
|||
character code 225 is a printable character |
|||
character code 226 is a printable character |
|||
character code 227 is a printable character |
|||
character code 228 is a printable character |
|||
character code 229 is a printable character |
|||
character code 230 is a printable character |
|||
character code 231 is a printable character |
|||
character code 232 is a printable character |
|||
character code 233 is a printable character |
|||
character code 234 is a printable character |
|||
character code 235 is a printable character |
|||
character code 236 is a printable character |
|||
character code 237 is a printable character |
|||
character code 238 is a printable character |
|||
character code 239 is a printable character |
|||
character code 240 is a printable character |
|||
character code 241 is a printable character |
|||
character code 242 is a printable character |
|||
character code 243 is a printable character |
|||
character code 244 is a printable character |
|||
character code 245 is a printable character |
|||
character code 246 is a printable character |
|||
character code 247 is a printable character |
|||
character code 248 is a printable character |
|||
character code 249 is a printable character |
|||
character code 250 is a printable character |
|||
character code 251 is a printable character |
|||
character code 252 is a printable character |
|||
character code 253 is a printable character |
|||
character code 254 is a printable character |
|||
character code 255 is a printable character |
|||
===DONE=== |
|||
@ -0,0 +1,132 @@ |
|||
--TEST-- |
|||
Test ctype_print() function : usage variations - different strings |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_print(mixed $c) |
|||
* Description: Checks for printable character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_print() to test |
|||
* which are considered valid printable character only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_print() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
"abc123\n", |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
/*23*/ base64_decode("w4DDoMOHw6fDiMOo") // non-ascii characters |
|||
); |
|||
|
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_print($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_print() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 5 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 6 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 7 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 8 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 9 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 10 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,67 @@ |
|||
--TEST-- |
|||
Test ctype_print() function : usage variations - octal and hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_print(mixed $c) |
|||
* Description: Checks for printable character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass octal and hexadecimal values to ctype_print() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_print() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array(040, 041, 042, 043); |
|||
$hex_values = array (0x20, 0x21, 0x23, 0x24); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_print($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_print($c)); |
|||
$iterator++; |
|||
} |
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_print() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,34 @@ |
|||
--TEST-- |
|||
Test ctype_punct() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_punct(mixed $c) |
|||
* Description: Checks for any printable character which is not whitespace |
|||
* or an alphanumeric character |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_punct() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = '@!$*'; |
|||
$c2 = 'hello, world!'; |
|||
|
|||
var_dump(ctype_punct($c1)); |
|||
var_dump(ctype_punct($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_punct() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,50 @@ |
|||
--TEST-- |
|||
Test ctype_punct() function : error conditions - incorrect number of args |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_punct(mixed $c) |
|||
* Description: Checks for any printable character which is not whitespace |
|||
* or an alphanumeric character |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass incorrect number of arguments to ctype_punct() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_punct() : error conditions ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_punct() function with Zero arguments --\n"; |
|||
var_dump( ctype_punct() ); |
|||
|
|||
//Test ctype_punct with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_punct() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_punct($c, $extra_arg) ); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_punct() : error conditions *** |
|||
|
|||
-- Testing ctype_punct() function with Zero arguments -- |
|||
|
|||
Warning: ctype_punct() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_punct() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_punct() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,184 @@ |
|||
--TEST-- |
|||
Test ctype_punct() function : usage variations - different data types as $c argument |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_punct(mixed $c) |
|||
* Description: Checks for any printable character which is not whitespace |
|||
* or an alphanumeric character |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_punt() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_punct() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return ",<.>"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
[{}] |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ ";:'@", |
|||
'#~/?', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_punct |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_punct($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_punct() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,65 @@ |
|||
--TEST-- |
|||
Test ctype_punct() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_punct(mixed $c) |
|||
* Description: Checks for any printable character which is not whitespace |
|||
* or an alphanumeric character |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_punct() to test which character codes are considered |
|||
* valid punctuation characters |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_punct() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($c = 1; $c < 256; $c++) { |
|||
if (ctype_punct($c)) { |
|||
echo "character code $c is punctuation\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_punct() : usage variations *** |
|||
character code 33 is punctuation |
|||
character code 34 is punctuation |
|||
character code 35 is punctuation |
|||
character code 37 is punctuation |
|||
character code 38 is punctuation |
|||
character code 39 is punctuation |
|||
character code 40 is punctuation |
|||
character code 41 is punctuation |
|||
character code 42 is punctuation |
|||
character code 44 is punctuation |
|||
character code 45 is punctuation |
|||
character code 46 is punctuation |
|||
character code 47 is punctuation |
|||
character code 58 is punctuation |
|||
character code 59 is punctuation |
|||
character code 63 is punctuation |
|||
character code 64 is punctuation |
|||
character code 91 is punctuation |
|||
character code 92 is punctuation |
|||
character code 93 is punctuation |
|||
character code 95 is punctuation |
|||
character code 123 is punctuation |
|||
character code 125 is punctuation |
|||
character code 161 is punctuation |
|||
character code 171 is punctuation |
|||
character code 183 is punctuation |
|||
character code 187 is punctuation |
|||
character code 191 is punctuation |
|||
===DONE=== |
|||
@ -0,0 +1,144 @@ |
|||
--TEST-- |
|||
Test ctype_punct() function : usage variations - different punctuation |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_punct(mixed $c) |
|||
* Description: Checks for any printable character which is not whitespace |
|||
* or an alphanumeric character |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_punct() to test |
|||
* which are considered valid punctuation character only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_punct() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
"abc123\n", |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
base64_decode("w4DDoMOHw6fDiMOo"), // non-ascii characters |
|||
"!$%@\n", |
|||
/*25*/ "\"?!\"", |
|||
/*26*/ "|\ @~", |
|||
); |
|||
|
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_punct($value) ); |
|||
$iterator++; |
|||
}; |
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_punct() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 26 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,69 @@ |
|||
--TEST-- |
|||
Test ctype_punct() function : usage variations - Octal and Hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_punct(mixed $c) |
|||
* Description: Checks for any printable character which is not whitespace |
|||
* or an alphanumeric character |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different octal and hexadecimal values to ctype_punct() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_punct() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array(045, 046, 047, 050); |
|||
$hex_values = array(0x25, 0x26, 0x27, 0x28); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_punct($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_punct($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_punct() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,33 @@ |
|||
--TEST-- |
|||
Test ctype_space() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_space(mixed $c) |
|||
* Description: Checks for whitespace character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_space() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = " \t\r\n"; |
|||
var_dump(ctype_space($c1)); |
|||
|
|||
$c2 = "Hello, world!\n"; |
|||
var_dump(ctype_space($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_space() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,49 @@ |
|||
--TEST-- |
|||
Test ctype_space() function : error conditions - Incorrect number of args |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_space(mixed $c) |
|||
* Description: Checks for whitespace character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass an incorrect number of arguments to ctype_space() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_space() : error conditions ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_space() function with Zero arguments --\n"; |
|||
var_dump( ctype_space() ); |
|||
|
|||
//Test ctype_space with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_space() function with more than expected no. of arguments --\n"; |
|||
$c = " "; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_space($c, $extra_arg) ); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_space() : error conditions *** |
|||
|
|||
-- Testing ctype_space() function with Zero arguments -- |
|||
|
|||
Warning: ctype_space() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_space() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_space() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,183 @@ |
|||
--TEST-- |
|||
Test ctype_space() function : usage variations - different data types as $c argument |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_space(mixed $c) |
|||
* Description: Checks for whitespace character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_space() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_space() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "\n\t\r"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
|
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "\n\t\r", |
|||
' ', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_space() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_space($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_space() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,47 @@ |
|||
--TEST-- |
|||
Test ctype_space() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_space(mixed $c) |
|||
* Description: Checks for whitespace character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_space() to test which character codes are considered |
|||
* valid whitespace characters |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_space() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($c = 1; $c < 256; $c++) { |
|||
if (ctype_space($c)) { |
|||
echo "character code $c is a space character\n"; |
|||
} |
|||
} |
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_space() : usage variations *** |
|||
character code 9 is a space character |
|||
character code 10 is a space character |
|||
character code 11 is a space character |
|||
character code 12 is a space character |
|||
character code 13 is a space character |
|||
character code 28 is a space character |
|||
character code 29 is a space character |
|||
character code 30 is a space character |
|||
character code 31 is a space character |
|||
character code 32 is a space character |
|||
character code 133 is a space character |
|||
character code 160 is a space character |
|||
===DONE=== |
|||
@ -0,0 +1,144 @@ |
|||
--TEST-- |
|||
Test ctype_space() function : usage variations - different strings |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_space(mixed $c) |
|||
* Description: Checks for whitespace character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_space() to test |
|||
* which are considered valid whitespace character only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_space() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
"abc123\n", |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
base64_decode("w4DDoMOHw6fDiMOo"), // non-ascii characters |
|||
"\"\n", |
|||
/*25*/ " \t\r\n", |
|||
/*26*/ "\v\f", |
|||
); |
|||
|
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_space($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_space() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 5 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 6 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 7 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 8 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 9 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 10 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 26 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,75 @@ |
|||
--TEST-- |
|||
Test ctype_space() function : usage variations - octal and hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_space(mixed $c) |
|||
* Description: Checks for whitespace character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass octal and hexadecimal values as $c to ctype_space() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_space() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array (011, 012, 013, 014, 015, 040); |
|||
$hex_values = array (0x9, 0xA, 0xB, 0xC, 0xD, 0x20); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_space($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_space($c)); |
|||
$iterator++; |
|||
} |
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_space() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
-- Iteration 5 -- |
|||
bool(true) |
|||
-- Iteration 6 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
-- Iteration 5 -- |
|||
bool(true) |
|||
-- Iteration 6 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,33 @@ |
|||
--TEST-- |
|||
Test ctype_upper() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_upper(mixed $c) |
|||
* Description: Checks for uppercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_upper() : basic functionality ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = 'HELLOWORLD'; |
|||
$c2 = "Hello, World!\n"; |
|||
|
|||
var_dump(ctype_upper($c1)); |
|||
var_dump(ctype_upper($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_upper() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,45 @@ |
|||
--TEST-- |
|||
Test ctype_upper() function : error conditions - incorrect number of args |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_upper(mixed $c) |
|||
* Description: Checks for uppercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass incorrect number of arguments to ctype_upper() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_upper() : error conditions ***\n"; |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_upper() function with Zero arguments --\n"; |
|||
var_dump( ctype_upper() ); |
|||
|
|||
//Test ctype_upper with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_upper() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_upper($c, $extra_arg) ); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_upper() : error conditions *** |
|||
|
|||
-- Testing ctype_upper() function with Zero arguments -- |
|||
|
|||
Warning: ctype_upper() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_upper() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_upper() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,183 @@ |
|||
--TEST-- |
|||
Test ctype_upper() function : usage variations - different data types |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_upper(mixed $c) |
|||
* Description: Checks for uppercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_upper() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_upper() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "HELLO"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
HI |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "STRING", |
|||
'STRING', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_upper() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_upper($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_upper() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,91 @@ |
|||
--TEST-- |
|||
Test ctype_upper() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_upper(mixed $c) |
|||
* Description: Checks for uppercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_upper() to test which character codes are considered |
|||
* valid uppercase characters |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_upper() : usage variations ***\n"; |
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for ($i = 0; $i < 256; $i++) { |
|||
if (ctype_upper($i)) { |
|||
echo "character code $i is a uppercase character\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_upper() : usage variations *** |
|||
character code 65 is a uppercase character |
|||
character code 66 is a uppercase character |
|||
character code 67 is a uppercase character |
|||
character code 68 is a uppercase character |
|||
character code 69 is a uppercase character |
|||
character code 70 is a uppercase character |
|||
character code 71 is a uppercase character |
|||
character code 72 is a uppercase character |
|||
character code 73 is a uppercase character |
|||
character code 74 is a uppercase character |
|||
character code 75 is a uppercase character |
|||
character code 76 is a uppercase character |
|||
character code 77 is a uppercase character |
|||
character code 78 is a uppercase character |
|||
character code 79 is a uppercase character |
|||
character code 80 is a uppercase character |
|||
character code 81 is a uppercase character |
|||
character code 82 is a uppercase character |
|||
character code 83 is a uppercase character |
|||
character code 84 is a uppercase character |
|||
character code 85 is a uppercase character |
|||
character code 86 is a uppercase character |
|||
character code 87 is a uppercase character |
|||
character code 88 is a uppercase character |
|||
character code 89 is a uppercase character |
|||
character code 90 is a uppercase character |
|||
character code 192 is a uppercase character |
|||
character code 193 is a uppercase character |
|||
character code 194 is a uppercase character |
|||
character code 195 is a uppercase character |
|||
character code 196 is a uppercase character |
|||
character code 197 is a uppercase character |
|||
character code 198 is a uppercase character |
|||
character code 199 is a uppercase character |
|||
character code 200 is a uppercase character |
|||
character code 201 is a uppercase character |
|||
character code 202 is a uppercase character |
|||
character code 203 is a uppercase character |
|||
character code 204 is a uppercase character |
|||
character code 205 is a uppercase character |
|||
character code 206 is a uppercase character |
|||
character code 207 is a uppercase character |
|||
character code 208 is a uppercase character |
|||
character code 209 is a uppercase character |
|||
character code 210 is a uppercase character |
|||
character code 211 is a uppercase character |
|||
character code 212 is a uppercase character |
|||
character code 213 is a uppercase character |
|||
character code 214 is a uppercase character |
|||
character code 216 is a uppercase character |
|||
character code 217 is a uppercase character |
|||
character code 218 is a uppercase character |
|||
character code 219 is a uppercase character |
|||
character code 220 is a uppercase character |
|||
character code 221 is a uppercase character |
|||
character code 222 is a uppercase character |
|||
===DONE=== |
|||
@ -0,0 +1,143 @@ |
|||
--TEST-- |
|||
Test ctype_upper() function : usage variations - different strings |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_upper(mixed $c) |
|||
* Description: Checks for uppercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_upper() to test |
|||
* which are considered valid uppercase character only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_upper() : usage variations ***\n"; |
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
'abc123\n', |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
base64_decode("w4DDoMOHw6fDiMOo"), // non-ascii characters |
|||
"abcXYZ", |
|||
/*25*/ "ABC XYZ", |
|||
/*26*/ "ABC+EFG*XYZ", |
|||
); |
|||
|
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_upper($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_upper() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 4 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 5 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 6 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 7 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 8 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 9 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 10 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 26 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,67 @@ |
|||
--TEST-- |
|||
Test ctype_upper() function : usage variations - octal and hexadecimal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_upper(mixed $c) |
|||
* Description: Checks for uppercase character(s) |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass octal and hexadecimal values to ctype_upper() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_upper() : usage variations ***\n"; |
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$octal_values = array(0101, 0102, 0103, 0104); |
|||
$hex_values = array(0x41, 0x42, 0x43, 0x44); |
|||
|
|||
echo "\n-- Octal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($octal_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_upper($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal Values --\n"; |
|||
$iterator = 1; |
|||
foreach($hex_values as $c) { |
|||
echo "-- Iteration $iterator --\n"; |
|||
var_dump(ctype_upper($c)); |
|||
$iterator++; |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_upper() : usage variations *** |
|||
|
|||
-- Octal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
|
|||
-- Hexadecimal Values -- |
|||
-- Iteration 1 -- |
|||
bool(true) |
|||
-- Iteration 2 -- |
|||
bool(true) |
|||
-- Iteration 3 -- |
|||
bool(true) |
|||
-- Iteration 4 -- |
|||
bool(true) |
|||
===DONE=== |
|||
@ -0,0 +1,32 @@ |
|||
--TEST-- |
|||
Test ctype_xdigit() function : basic functionality |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_xdigit(mixed $c) |
|||
* Description: Checks for character(s) representing a hexadecimal digit |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_xdigit() : basic functionality ***\n"; |
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$c1 = 'abcdefABCDEF0123456789'; |
|||
$c2 = 'face 034'; |
|||
|
|||
var_dump(ctype_xdigit($c1)); |
|||
var_dump(ctype_xdigit($c2)); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_xdigit() : basic functionality *** |
|||
bool(true) |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,45 @@ |
|||
--TEST-- |
|||
Test ctype_xdigit() function : error conditions - Incorrect number of args |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_xdigit(mixed $c) |
|||
* Description: Checks for character(s) representing a hexadecimal digit |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass incorrect number of arguments to ctype_xdigit() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_xdigit() : error conditions ***\n"; |
|||
|
|||
// Zero arguments |
|||
echo "\n-- Testing ctype_xdigit() function with Zero arguments --\n"; |
|||
var_dump( ctype_xdigit() ); |
|||
|
|||
//Test ctype_xdigit with one more than the expected number of arguments |
|||
echo "\n-- Testing ctype_xdigit() function with more than expected no. of arguments --\n"; |
|||
$c = 1; |
|||
$extra_arg = 10; |
|||
var_dump( ctype_xdigit($c, $extra_arg) ); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_xdigit() : error conditions *** |
|||
|
|||
-- Testing ctype_xdigit() function with Zero arguments -- |
|||
|
|||
Warning: ctype_xdigit() expects exactly 1 parameter, 0 given in %s on line %d |
|||
NULL |
|||
|
|||
-- Testing ctype_xdigit() function with more than expected no. of arguments -- |
|||
|
|||
Warning: ctype_xdigit() expects exactly 1 parameter, 2 given in %s on line %d |
|||
NULL |
|||
===DONE=== |
|||
@ -0,0 +1,183 @@ |
|||
--TEST-- |
|||
Test ctype_xdigit() function : usage variations - different data typse as $c arg |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_xdigit(mixed $c) |
|||
* Description: Checks for character(s) representing a hexadecimal digit |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different data types as $c argument to ctype_xdigit() to test behaviour |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_xdigit() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
//get an unset variable |
|||
$unset_var = 10; |
|||
unset ($unset_var); |
|||
|
|||
// get a class |
|||
class classA |
|||
{ |
|||
public function __toString() { |
|||
return "ABcd"; |
|||
} |
|||
} |
|||
|
|||
// heredoc string |
|||
$heredoc = <<<EOT |
|||
234 |
|||
EOT; |
|||
|
|||
// get a resource variable |
|||
$fp = fopen(__FILE__, "r"); |
|||
|
|||
// unexpected values to be passed to $c argument |
|||
$inputs = array( |
|||
|
|||
// int data |
|||
/*1*/ 0, |
|||
1, |
|||
12345, |
|||
-2345, |
|||
|
|||
// float data |
|||
/*5*/ 10.5, |
|||
-10.5, |
|||
12.3456789000e10, |
|||
12.3456789000E-10, |
|||
.5, |
|||
|
|||
// null data |
|||
/*10*/ NULL, |
|||
null, |
|||
|
|||
// boolean data |
|||
/*12*/ true, |
|||
false, |
|||
TRUE, |
|||
FALSE, |
|||
|
|||
// empty data |
|||
/*16*/ "", |
|||
'', |
|||
array(), |
|||
|
|||
// string data |
|||
/*19*/ "456", |
|||
'def', |
|||
$heredoc, |
|||
|
|||
// object data |
|||
/*22*/ new classA(), |
|||
|
|||
// undefined data |
|||
/*23*/ @$undefined_var, |
|||
|
|||
// unset data |
|||
/*24*/ @$unset_var, |
|||
|
|||
// resource variable |
|||
/*25*/ $fp |
|||
); |
|||
|
|||
// loop through each element of $inputs to check the behavior of ctype_xdigit() |
|||
$iterator = 1; |
|||
foreach($inputs as $input) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_xdigit($input) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
fclose($fp); |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_xdigit() : usage variations *** |
|||
|
|||
-- 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 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,58 @@ |
|||
--TEST-- |
|||
Test ctype_xdigit() function : usage variations - different integers |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_xdigit(mixed $c) |
|||
* Description: Checks for character(s) representing a hexadecimal digit |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different integers to ctype_xdigit() to test which character codes are considered |
|||
* valid hexadecimal 'digits' |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_xdigit() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
for($c = 1; $c < 256; $c++) { |
|||
if (ctype_xdigit($c)) { |
|||
echo "character code $c is a hexadecimal 'digit'\n"; |
|||
} |
|||
} |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_xdigit() : usage variations *** |
|||
character code 48 is a hexadecimal 'digit' |
|||
character code 49 is a hexadecimal 'digit' |
|||
character code 50 is a hexadecimal 'digit' |
|||
character code 51 is a hexadecimal 'digit' |
|||
character code 52 is a hexadecimal 'digit' |
|||
character code 53 is a hexadecimal 'digit' |
|||
character code 54 is a hexadecimal 'digit' |
|||
character code 55 is a hexadecimal 'digit' |
|||
character code 56 is a hexadecimal 'digit' |
|||
character code 57 is a hexadecimal 'digit' |
|||
character code 65 is a hexadecimal 'digit' |
|||
character code 66 is a hexadecimal 'digit' |
|||
character code 67 is a hexadecimal 'digit' |
|||
character code 68 is a hexadecimal 'digit' |
|||
character code 69 is a hexadecimal 'digit' |
|||
character code 70 is a hexadecimal 'digit' |
|||
character code 97 is a hexadecimal 'digit' |
|||
character code 98 is a hexadecimal 'digit' |
|||
character code 99 is a hexadecimal 'digit' |
|||
character code 100 is a hexadecimal 'digit' |
|||
character code 101 is a hexadecimal 'digit' |
|||
character code 102 is a hexadecimal 'digit' |
|||
===DONE=== |
|||
@ -0,0 +1,144 @@ |
|||
--TEST-- |
|||
Test ctype_xdigit() function : usage variations - Different strings |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_xdigit(mixed $c) |
|||
* Description: Checks for character(s) representing a hexadecimal digit |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass strings containing different character types to ctype_xdigit() to test |
|||
* which are considered valid hexadecimal 'digit' only strings |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_xdigit() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
$values = array( |
|||
/*1*/ "This string contains just letters and spaces", // Simple string |
|||
"but this one contains some numbers too 123+456 = 678", // Mixed string |
|||
"", |
|||
" ", |
|||
/*5*/ "a", |
|||
"ABCXYZ", |
|||
"abcxyz", |
|||
"ABCXYZ123DEF456", |
|||
"abczyz123DEF456", |
|||
/*10*/ "\r\n", |
|||
"123", |
|||
"03F", // hexadecimal 'digits' |
|||
")speci@! ch@r$(", |
|||
'@!$*', |
|||
/*15*/ 'ABC', |
|||
'abc', |
|||
'ABC123', |
|||
'abc123', |
|||
'abc123\n', |
|||
/*20*/ 'abc 123', |
|||
'', |
|||
' ', |
|||
base64_decode("w4DDoMOHw6fDiMOo"), // non-ascii characters |
|||
'ABCdef07', |
|||
"56ea\tFB", |
|||
"0x2A" |
|||
); |
|||
|
|||
$iterator = 1; |
|||
foreach($values as $value) { |
|||
echo "\n-- Iteration $iterator --\n"; |
|||
var_dump( ctype_xdigit($value) ); |
|||
$iterator++; |
|||
}; |
|||
|
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_xdigit() : usage variations *** |
|||
|
|||
-- Iteration 1 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 2 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 3 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 4 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 5 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 6 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 7 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 8 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 9 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 10 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 11 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 12 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 13 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 14 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 15 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 16 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 17 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 18 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 19 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 20 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 21 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 22 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 23 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 24 -- |
|||
bool(true) |
|||
|
|||
-- Iteration 25 -- |
|||
bool(false) |
|||
|
|||
-- Iteration 26 -- |
|||
bool(false) |
|||
===DONE=== |
|||
@ -0,0 +1,87 @@ |
|||
--TEST-- |
|||
Test ctype_xdigit() function : usage variations - heaxadecimal and octal values |
|||
--SKIPIF-- |
|||
<?php |
|||
if( ini_get("unicode.semantics") == "1") { |
|||
die('skip do not run when unicode on'); |
|||
} |
|||
?> |
|||
--FILE-- |
|||
<?php |
|||
/* Prototype : bool ctype_xdigit(mixed $c) |
|||
* Description: Checks for character(s) representing a hexadecimal digit |
|||
* Source code: ext/ctype/ctype.c |
|||
*/ |
|||
|
|||
/* |
|||
* Pass different hexadecimal and octal values that: |
|||
* 1. contain hexadecimal digits |
|||
* 2. correspond to character codes recognised as hexadecimal digits (see variation2) |
|||
* referred to as 'correct' integers below |
|||
*/ |
|||
|
|||
echo "*** Testing ctype_xdigit() : usage variations ***\n"; |
|||
|
|||
$orig = setlocale(LC_CTYPE, "C"); |
|||
|
|||
// contain hexadecimal digits but do not correspond to 'correct' ints |
|||
$octal_values1 = array(012, 013, 014, 015); |
|||
|
|||
// correspond to 'correct' integers |
|||
$octal_values2 = array(061, 062, 063, 064); |
|||
|
|||
// contain hexadecimal digits but do not correspond to 'correct' ints |
|||
$hex_values1 = array(0x1A, 0x1B, 0x1C, 0x1D); |
|||
|
|||
//correspond to 'correct' integers |
|||
$hex_values2 = array(0x61, 0x62, 0x63, 0x64); |
|||
|
|||
echo "\n-- Octal values --\n"; |
|||
echo "'Incorrect' Integers: \n"; |
|||
foreach($octal_values1 as $c) { |
|||
var_dump(ctype_xdigit($c)); |
|||
} |
|||
echo "'Correct' Integers: \n"; |
|||
foreach($octal_values2 as $c) { |
|||
var_dump(ctype_xdigit($c)); |
|||
} |
|||
|
|||
echo "\n-- Hexadecimal values --\n"; |
|||
echo "'Incorrect' Integers: \n"; |
|||
foreach($hex_values1 as $c) { |
|||
var_dump(ctype_xdigit($c)); |
|||
} |
|||
echo "'Correct' Integers: \n"; |
|||
foreach($hex_values2 as $c) { |
|||
var_dump(ctype_xdigit($c)); |
|||
} |
|||
setlocale(LC_CTYPE, $orig); |
|||
?> |
|||
===DONE=== |
|||
--EXPECTF-- |
|||
*** Testing ctype_xdigit() : usage variations *** |
|||
|
|||
-- Octal values -- |
|||
'Incorrect' Integers: |
|||
bool(false) |
|||
bool(false) |
|||
bool(false) |
|||
bool(false) |
|||
'Correct' Integers: |
|||
bool(true) |
|||
bool(true) |
|||
bool(true) |
|||
bool(true) |
|||
|
|||
-- Hexadecimal values -- |
|||
'Incorrect' Integers: |
|||
bool(false) |
|||
bool(false) |
|||
bool(false) |
|||
bool(false) |
|||
'Correct' Integers: |
|||
bool(true) |
|||
bool(true) |
|||
bool(true) |
|||
bool(true) |
|||
===DONE=== |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue