4 changed files with 320 additions and 0 deletions
-
4ext/standard/tests/strings/str_split_variation6.phpt
-
167ext/standard/tests/strings/str_split_variation6_64bit.phpt
-
4ext/standard/tests/strings/str_split_variation7.phpt
-
145ext/standard/tests/strings/str_split_variation7_64bit.phpt
@ -0,0 +1,167 @@ |
|||
--TEST-- |
|||
Test str_split() function : usage variations - different integer values for 'split_length' argument |
|||
--SKIPIF-- |
|||
<?php |
|||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit 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 |
|||
*/ |
|||
|
|||
/* |
|||
* passing different integer values for 'split_length' argument to str_split() |
|||
*/ |
|||
|
|||
echo "*** Testing str_split() : different intger values for 'split_length' ***\n"; |
|||
//Initialise variables |
|||
$str = 'This is a string with 123 & escape char \t'; |
|||
|
|||
//different values for 'split_length' |
|||
$values = array ( |
|||
0, |
|||
1, |
|||
-123, //negative integer |
|||
0234, //octal number |
|||
0x1A, //hexadecimal number |
|||
2147483647, //max positive integer number |
|||
2147483648, //max positive integer+1 |
|||
-2147483648, //min negative integer |
|||
); |
|||
|
|||
//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]) ); |
|||
} |
|||
echo "Done" |
|||
?> |
|||
--EXPECTF-- |
|||
*** Testing str_split() : different intger values for 'split_length' *** |
|||
-- Iteration 1 -- |
|||
|
|||
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d |
|||
bool(false) |
|||
-- Iteration 2 -- |
|||
array(42) { |
|||
[0]=> |
|||
string(1) "T" |
|||
[1]=> |
|||
string(1) "h" |
|||
[2]=> |
|||
string(1) "i" |
|||
[3]=> |
|||
string(1) "s" |
|||
[4]=> |
|||
string(1) " " |
|||
[5]=> |
|||
string(1) "i" |
|||
[6]=> |
|||
string(1) "s" |
|||
[7]=> |
|||
string(1) " " |
|||
[8]=> |
|||
string(1) "a" |
|||
[9]=> |
|||
string(1) " " |
|||
[10]=> |
|||
string(1) "s" |
|||
[11]=> |
|||
string(1) "t" |
|||
[12]=> |
|||
string(1) "r" |
|||
[13]=> |
|||
string(1) "i" |
|||
[14]=> |
|||
string(1) "n" |
|||
[15]=> |
|||
string(1) "g" |
|||
[16]=> |
|||
string(1) " " |
|||
[17]=> |
|||
string(1) "w" |
|||
[18]=> |
|||
string(1) "i" |
|||
[19]=> |
|||
string(1) "t" |
|||
[20]=> |
|||
string(1) "h" |
|||
[21]=> |
|||
string(1) " " |
|||
[22]=> |
|||
string(1) "1" |
|||
[23]=> |
|||
string(1) "2" |
|||
[24]=> |
|||
string(1) "3" |
|||
[25]=> |
|||
string(1) " " |
|||
[26]=> |
|||
string(1) "&" |
|||
[27]=> |
|||
string(1) " " |
|||
[28]=> |
|||
string(1) "e" |
|||
[29]=> |
|||
string(1) "s" |
|||
[30]=> |
|||
string(1) "c" |
|||
[31]=> |
|||
string(1) "a" |
|||
[32]=> |
|||
string(1) "p" |
|||
[33]=> |
|||
string(1) "e" |
|||
[34]=> |
|||
string(1) " " |
|||
[35]=> |
|||
string(1) "c" |
|||
[36]=> |
|||
string(1) "h" |
|||
[37]=> |
|||
string(1) "a" |
|||
[38]=> |
|||
string(1) "r" |
|||
[39]=> |
|||
string(1) " " |
|||
[40]=> |
|||
string(1) "\" |
|||
[41]=> |
|||
string(1) "t" |
|||
} |
|||
-- Iteration 3 -- |
|||
|
|||
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d |
|||
bool(false) |
|||
-- Iteration 4 -- |
|||
array(1) { |
|||
[0]=> |
|||
string(42) "This is a string with 123 & escape char \t" |
|||
} |
|||
-- Iteration 5 -- |
|||
array(2) { |
|||
[0]=> |
|||
string(26) "This is a string with 123 " |
|||
[1]=> |
|||
string(16) "& escape char \t" |
|||
} |
|||
-- Iteration 6 -- |
|||
array(1) { |
|||
[0]=> |
|||
string(42) "This is a string with 123 & escape char \t" |
|||
} |
|||
-- Iteration 7 -- |
|||
array(1) { |
|||
[0]=> |
|||
string(42) "This is a string with 123 & escape char \t" |
|||
} |
|||
-- Iteration 8 -- |
|||
|
|||
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d |
|||
bool(false) |
|||
Done |
|||
@ -0,0 +1,145 @@ |
|||
--TEST-- |
|||
Test str_split() function : usage variations - different integer values for 'split_length' with heredoc 'str' |
|||
--SKIPIF-- |
|||
<?php |
|||
if (PHP_INT_SIZE != 8) die("skip this test is for 64bit 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 |
|||
*/ |
|||
|
|||
/* |
|||
* passing different integer values for 'split_length' and heredoc string as 'str' argument to str_split() |
|||
*/ |
|||
|
|||
echo "*** Testing str_split() : different intger values for 'split_length' with heredoc 'str' ***\n"; |
|||
//Initialise variables |
|||
$str = <<<EOT |
|||
string with 123,escape char \t. |
|||
EOT; |
|||
|
|||
//different values for 'split_length' |
|||
$values = array ( |
|||
0, |
|||
1, |
|||
-123, //negative integer |
|||
0234, //octal number |
|||
0x1A, //hexadecimal number |
|||
2147483647, //max positive integer number |
|||
2147483648, //max positive integer+1 |
|||
-2147483648, //min negative integer |
|||
); |
|||
|
|||
//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]) ); |
|||
} |
|||
echo "Done" |
|||
?> |
|||
--EXPECTF-- |
|||
*** Testing str_split() : different intger values for 'split_length' with heredoc 'str' *** |
|||
-- Iteration 1 -- |
|||
|
|||
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d |
|||
bool(false) |
|||
-- Iteration 2 -- |
|||
array(30) { |
|||
[0]=> |
|||
string(1) "s" |
|||
[1]=> |
|||
string(1) "t" |
|||
[2]=> |
|||
string(1) "r" |
|||
[3]=> |
|||
string(1) "i" |
|||
[4]=> |
|||
string(1) "n" |
|||
[5]=> |
|||
string(1) "g" |
|||
[6]=> |
|||
string(1) " " |
|||
[7]=> |
|||
string(1) "w" |
|||
[8]=> |
|||
string(1) "i" |
|||
[9]=> |
|||
string(1) "t" |
|||
[10]=> |
|||
string(1) "h" |
|||
[11]=> |
|||
string(1) " " |
|||
[12]=> |
|||
string(1) "1" |
|||
[13]=> |
|||
string(1) "2" |
|||
[14]=> |
|||
string(1) "3" |
|||
[15]=> |
|||
string(1) "," |
|||
[16]=> |
|||
string(1) "e" |
|||
[17]=> |
|||
string(1) "s" |
|||
[18]=> |
|||
string(1) "c" |
|||
[19]=> |
|||
string(1) "a" |
|||
[20]=> |
|||
string(1) "p" |
|||
[21]=> |
|||
string(1) "e" |
|||
[22]=> |
|||
string(1) " " |
|||
[23]=> |
|||
string(1) "c" |
|||
[24]=> |
|||
string(1) "h" |
|||
[25]=> |
|||
string(1) "a" |
|||
[26]=> |
|||
string(1) "r" |
|||
[27]=> |
|||
string(1) " " |
|||
[28]=> |
|||
string(1) " " |
|||
[29]=> |
|||
string(1) "." |
|||
} |
|||
-- Iteration 3 -- |
|||
|
|||
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d |
|||
bool(false) |
|||
-- Iteration 4 -- |
|||
array(1) { |
|||
[0]=> |
|||
string(30) "string with 123,escape char ." |
|||
} |
|||
-- Iteration 5 -- |
|||
array(2) { |
|||
[0]=> |
|||
string(26) "string with 123,escape cha" |
|||
[1]=> |
|||
string(4) "r ." |
|||
} |
|||
-- Iteration 6 -- |
|||
array(1) { |
|||
[0]=> |
|||
string(30) "string with 123,escape char ." |
|||
} |
|||
-- Iteration 7 -- |
|||
array(1) { |
|||
[0]=> |
|||
string(30) "string with 123,escape char ." |
|||
} |
|||
-- Iteration 8 -- |
|||
|
|||
Warning: str_split(): The length of each segment must be greater than zero in %s on line %d |
|||
bool(false) |
|||
Done |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue