1--TEST-- 2Test chunk_split() function : usage variations - different integer values for 'chunklen' argument(Bug#42796) 3--SKIPIF-- 4<?php 5if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); 6?> 7--FILE-- 8<?php 9/* Prototype : string chunk_split(string $str [, int $chunklen [, string $ending]]) 10 * Description: Returns split line 11 * Source code: ext/standard/string.c 12 * Alias to functions: none 13*/ 14 15/* 16* passsing different integer values for 'chunklen' argument to chunk_split() 17* 'ending' is set to '||' 18*/ 19 20echo "*** Testing chunk_split() : different integer values for 'chunklen' ***\n"; 21 22 //Initializing variables 23$ending = "||"; 24$str = "This contains\tand special char & numbers 123.\nIt also checks for \0 char"; 25 26// different values for chunklen 27$values = array ( 28 0, 29 1, 30 -123, //negative integer 31 0234, //octal number 32 0x1A, //hexadecimal number 33 PHP_INT_MAX, //max positive integer number 34 PHP_INT_MAX * 3, //integer overflow 35 -PHP_INT_MAX - 1, //min negative integer 36 37); 38 39for($count = 0; $count < count($values); $count++) { 40 echo "-- Iteration $count --\n"; 41 var_dump( chunk_split($str, $values[$count], $ending) ); 42} 43 44echo "Done" 45?> 46--EXPECTF-- 47*** Testing chunk_split() : different integer values for 'chunklen' *** 48-- Iteration 0 -- 49 50Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d 51bool(false) 52-- Iteration 1 -- 53string(213) "T||h||i||s|| ||c||o||n||t||a||i||n||s|| ||a||n||d|| ||s||p||e||c||i||a||l|| ||c||h||a||r|| ||&|| ||n||u||m||b||e||r||s|| ||1||2||3||.|| 54||I||t|| ||a||l||s||o|| ||c||h||e||c||k||s|| ||f||o||r|| |||| ||c||h||a||r||" 55-- Iteration 2 -- 56 57Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d 58bool(false) 59-- Iteration 3 -- 60string(73) "This contains and special char & numbers 123. 61It also checks for char||" 62-- Iteration 4 -- 63string(77) "This contains and special ||char & numbers 123. 64It als||o checks for char||" 65-- Iteration 5 -- 66string(73) "This contains and special char & numbers 123. 67It also checks for char||" 68-- Iteration 6 -- 69 70Warning: chunk_split() expects parameter 2 to be integer, float given in %s on line %d 71NULL 72-- Iteration 7 -- 73 74Warning: chunk_split(): Chunk length should be greater than zero in %s on line %d 75bool(false) 76Done 77