<?php
/**
* @version $Id: utf8_substr.test.php,v 1.5 2006/09/30 22:51:00 harryf Exp $
* @package utf8
* @subpackage Tests
*/
//--------------------------------------------------------------------
/**
* Includes
* @package utf8
* @subpackage Tests
*/
require_once(dirname(__FILE__).'/../config.php');
//--------------------------------------------------------------------
/**
* @package utf8
* @subpackage Tests
*/
class test_utf8_substr extends UnitTestCase {
function test_utf8_substr() {
$this->UnitTestCase('utf8_substr()');
}
function testUtf8() {
$str = 'Iñtërnâtiônà lizætiøn';
$this->assertEqual(utf8_substr($str,0,2),'Iñ');
}
function testUtf8Two() {
$str = 'Iñtërnâtiônà lizætiøn';
$this->assertEqual(utf8_substr($str,2,2),'të');
}
function testUtf8Zero() {
$str = 'Iñtërnâtiônà lizætiøn';
$this->assertEqual(utf8_substr($str,0),'Iñtërnâtiônà lizætiøn');
}
function testUtf8ZeroZero() {
$str = 'Iñtërnâtiônà lizætiøn';
$this->assertEqual(utf8_substr($str,0,0),'');
}
function testStartGreatThanLength() {
$str = 'Iñt';
$this->assertFalse(utf8_substr($str,4));
}
function testCompareStartGreatThanLength() {
$str = 'abc';
$this->assertEqual(utf8_substr($str,4),substr($str,4));
}
function testLengthBeyondString() {
$str = 'Iñt';
$this->assertEqual(utf8_substr($str,1,5),'ñt');
}
function testCompareLengthBeyondString() {
$str = 'abc';
$this->assertEqual(utf8_substr($str,1,5),substr($str,1,5));
}
function testStartNegative() {
$str = 'Iñtërnâtiônà lizætiøn';
$this->assertEqual(utf8_substr($str,-4), 'tiøn');
}
function testLengthNegative() {
$str = 'Iñtërnâtiônà lizætiøn';
$this->assertEqual(utf8_substr($str,10,-2), 'nà lizæti');
}
function testStartLengthNegative() {
$str = 'Iñtërnâtiônà lizætiøn';
$this->assertEqual(utf8_substr($str,-4,-2), 'ti');
}
function testLinefeed() {
$str = "Iñ\ntërnâtiônà lizætiøn";
$this->assertEqual(utf8_substr($str,1,5),"ñ\ntër");
}
function testLongLength() {
$str = 'Iñtërnâtiônà lizætiøn';
$this->assertEqual(utf8_substr($str,0,15536),'Iñtërnâtiônà lizætiøn');
}
}
//--------------------------------------------------------------------
/**
* @package utf8
* @subpackage Tests
*/
if (!defined('TEST_RUNNING')) {
define('TEST_RUNNING', true);
$test = & new test_utf8_substr();
$reporter = & getTestReporter();
$test->run($reporter);
}