<?php
function crop_string ($str, $length)
{
if (strlen($str) > $length - 3) {
$lines = split("\n", wordwrap($str, $length - 3));
return $lines[0]. "...";
} else {
return $str;
}
}
? >
<?php
include 'lib.php';
$tests = array (
'crop_string' => array(
array('foo...', 'foo', 1),
array('foo...', 'foo', 3),
array('foo', 'foo', 7),
array('', '', 1),
array('', '', 7),
array('Hello...', 'Hello world', 1),
array('Hello...', 'Hello world', 7),
array('Hello world', 'Hello world', 17),
),
);
$functions = get_defined_functions();
$functions = $functions['user'];
foreach ($functions as $function) {
if (isset($tests[$function])) {
$i = 0;
foreach ($tests[$function] as $test) {
$i++;
switch (count($test)) {
case 2: $res = $function($test[1]); break;
case 3: $res = $function($test[1], $test[2]); break;
}
if ($res != $test[0]) {
echo "FAILED test $function, $i: Expected '{$test[0]}' got '$res'\n";
} else {
echo "PASSED test $function, $i\n";
}
}
}
}
? >