X-Git-Url: https://projects.mako.cc/source/scuttle/blobdiff_plain/bce919af7b49bbd06223f79b8c37a53a3d263ff0..c7f63c8b9b12efd7b3c10b9f80cda06eaf32068f:/includes/utf8/tests/cases/utf8_substr.test.php diff --git a/includes/utf8/tests/cases/utf8_substr.test.php b/includes/utf8/tests/cases/utf8_substr.test.php new file mode 100644 index 0000000..3b5b1a4 --- /dev/null +++ b/includes/utf8/tests/cases/utf8_substr.test.php @@ -0,0 +1,104 @@ +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); +}