1
0
mirror of https://github.com/php/php-src.git synced 2026-03-28 18:22:42 +01:00
Files
archived-php-src/ext/standard/tests/strings/str_split_variation2.phpt
Gabriel Caruso ce1d69a1f6 Use int instead of integer in type errors
PHP requires integer typehints to be written "int" and does not
allow "integer" as an alias. This changes type error messages to
match the actual type name and avoids confusing messages like
"must be of the type integer, integer given".
2018-02-04 19:08:23 +01:00

291 lines
5.8 KiB
PHP

--TEST--
Test str_split() function : usage variations - unexpected values for 'split_length' argument
--SKIPIF--
<?php
if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
?>
--FILE--
<?php
/* Prototype : array str_split(string $str [, int $split_length])
* Description: Convert a string to an array. If split_length is
specified, break the string down into chunks each
split_length characters long.
* Source code: ext/standard/string.c
* Alias to functions: none
*/
echo "*** Testing str_split() : unexpected values for 'split_length' ***\n";
// Initialise function arguments
$str = 'variation2:split_length';
//get an unset variable
$unset_var = 10;
unset ($unset_var);
//defining class for object variable
class MyClass
{
public function __toString()
{
return "object";
}
}
//resource variable
$fp = fopen(__FILE__, 'r');
//different values for 'split_length'
$values = array(
// float data
10.5,
-10.5,
10.6E10,
10.6E-10,
.5,
// array data
array(),
array(0),
array(1),
array(1, 2),
array('color' => 'red', 'item' => 'pen'),
// null data
NULL,
null,
// boolean data
true,
false,
TRUE,
FALSE,
// empty data
"",
'',
// string data
"string",
'string',
// object data
new MyClass(),
// undefined data
@$undefined_var,
// unset data
@$unset_var,
//resource data
$fp
);
// loop through each element of $values for 'split_length'
for($count = 0; $count < count($values); $count++) {
echo "--Iteration ".($count+1)." --\n";
var_dump( str_split($str, $values[$count]) );
}
//closing resource
fclose($fp);
echo "Done";
?>
--EXPECTF--
*** Testing str_split() : unexpected values for 'split_length' ***
--Iteration 1 --
array(3) {
[0]=>
string(10) "variation2"
[1]=>
string(10) ":split_len"
[2]=>
string(3) "gth"
}
--Iteration 2 --
Warning: str_split(): The length of each segment must be greater than zero in %sstr_split_variation2.php on line %d
bool(false)
--Iteration 3 --
Warning: str_split() expects parameter 2 to be int, float given in %s on line %d
NULL
--Iteration 4 --
Warning: str_split(): The length of each segment must be greater than zero in %sstr_split_variation2.php on line %d
bool(false)
--Iteration 5 --
Warning: str_split(): The length of each segment must be greater than zero in %sstr_split_variation2.php on line %d
bool(false)
--Iteration 6 --
Warning: str_split() expects parameter 2 to be int, array given in %sstr_split_variation2.php on line %d
NULL
--Iteration 7 --
Warning: str_split() expects parameter 2 to be int, array given in %sstr_split_variation2.php on line %d
NULL
--Iteration 8 --
Warning: str_split() expects parameter 2 to be int, array given in %sstr_split_variation2.php on line %d
NULL
--Iteration 9 --
Warning: str_split() expects parameter 2 to be int, array given in %sstr_split_variation2.php on line %d
NULL
--Iteration 10 --
Warning: str_split() expects parameter 2 to be int, array given in %sstr_split_variation2.php on line %d
NULL
--Iteration 11 --
Warning: str_split(): The length of each segment must be greater than zero in %sstr_split_variation2.php on line %d
bool(false)
--Iteration 12 --
Warning: str_split(): The length of each segment must be greater than zero in %sstr_split_variation2.php on line %d
bool(false)
--Iteration 13 --
array(23) {
[0]=>
string(1) "v"
[1]=>
string(1) "a"
[2]=>
string(1) "r"
[3]=>
string(1) "i"
[4]=>
string(1) "a"
[5]=>
string(1) "t"
[6]=>
string(1) "i"
[7]=>
string(1) "o"
[8]=>
string(1) "n"
[9]=>
string(1) "2"
[10]=>
string(1) ":"
[11]=>
string(1) "s"
[12]=>
string(1) "p"
[13]=>
string(1) "l"
[14]=>
string(1) "i"
[15]=>
string(1) "t"
[16]=>
string(1) "_"
[17]=>
string(1) "l"
[18]=>
string(1) "e"
[19]=>
string(1) "n"
[20]=>
string(1) "g"
[21]=>
string(1) "t"
[22]=>
string(1) "h"
}
--Iteration 14 --
Warning: str_split(): The length of each segment must be greater than zero in %sstr_split_variation2.php on line %d
bool(false)
--Iteration 15 --
array(23) {
[0]=>
string(1) "v"
[1]=>
string(1) "a"
[2]=>
string(1) "r"
[3]=>
string(1) "i"
[4]=>
string(1) "a"
[5]=>
string(1) "t"
[6]=>
string(1) "i"
[7]=>
string(1) "o"
[8]=>
string(1) "n"
[9]=>
string(1) "2"
[10]=>
string(1) ":"
[11]=>
string(1) "s"
[12]=>
string(1) "p"
[13]=>
string(1) "l"
[14]=>
string(1) "i"
[15]=>
string(1) "t"
[16]=>
string(1) "_"
[17]=>
string(1) "l"
[18]=>
string(1) "e"
[19]=>
string(1) "n"
[20]=>
string(1) "g"
[21]=>
string(1) "t"
[22]=>
string(1) "h"
}
--Iteration 16 --
Warning: str_split(): The length of each segment must be greater than zero in %sstr_split_variation2.php on line %d
bool(false)
--Iteration 17 --
Warning: str_split() expects parameter 2 to be int, string given in %sstr_split_variation2.php on line %d
NULL
--Iteration 18 --
Warning: str_split() expects parameter 2 to be int, string given in %sstr_split_variation2.php on line %d
NULL
--Iteration 19 --
Warning: str_split() expects parameter 2 to be int, string given in %sstr_split_variation2.php on line %d
NULL
--Iteration 20 --
Warning: str_split() expects parameter 2 to be int, string given in %sstr_split_variation2.php on line %d
NULL
--Iteration 21 --
Warning: str_split() expects parameter 2 to be int, object given in %sstr_split_variation2.php on line %d
NULL
--Iteration 22 --
Warning: str_split(): The length of each segment must be greater than zero in %sstr_split_variation2.php on line %d
bool(false)
--Iteration 23 --
Warning: str_split(): The length of each segment must be greater than zero in %sstr_split_variation2.php on line %d
bool(false)
--Iteration 24 --
Warning: str_split() expects parameter 2 to be int, resource given in %sstr_split_variation2.php on line %d
NULL
Done