<?php
class CropString {
    function cropString($str, $length)
    {
        if (strlen($str) > $length - 3) {
            $lines = split("\n", wordwrap($str, $length - 3));
            $this->result = $lines[0]. "...";
        } else {
            $this->result = $str;
        }
    }
? >
<?php
    require_once 'crop_string.class.php';
    require_once 'PHPUnit.php';

    class CropStringTest extends PHPUnit_TestCase {
        function CropStringTest($name) {
            PHPUnit_TestCase::PHPUnit_TestCase($name);
        }

        function emptyTest() {
            $cstring = new CropString('', 1);
            $this->assertTrue($cstring->result == '');
        }
        function fooTest() {
            $cstring = new CropString('foo', 1);
            $this->assertTrue($cstring->result == 'foo...');
        }
        function helloWorldTest() {
            $cstring = new CropString('Hello world', 1);
            $this->assertTrue($cstring->result == 'Hello...');
        }
    }
    $suite = new PHPUnit_TestSuite();
    $suite->addTest(new CropStringTest('emptyTest'));
    $suite->addTest(new CropStringTest('fooTest'));
    $suite->addTest(new CropStringTest('helloWorldTest'));
    $result = PHPUnit::run($suite);
    echo $result->toString();
? >