3 * @version $Id: utf8_trim.test.php,v 1.2 2006/02/25 14:52:18 harryf Exp $
8 //--------------------------------------------------------------------
14 require_once(dirname(__FILE__).'/../config.php');
15 require_once UTF8 . '/trim.php';
17 //--------------------------------------------------------------------
22 class test_utf8_ltrim extends UnitTestCase {
24 function test_utf8_ltrim() {
25 $this->UnitTestCase('test_utf8_ltrim()');
29 $str = 'ñtërnâtiônàlizætiøn';
30 $trimmed = 'tërnâtiônàlizætiøn';
31 $this->assertEqual(utf8_ltrim($str,'ñ'),$trimmed);
34 function testNoTrim() {
35 $str = ' Iñtërnâtiônàlizætiøn';
36 $trimmed = ' Iñtërnâtiônàlizætiøn';
37 $this->assertEqual(utf8_ltrim($str,'ñ'),$trimmed);
40 function testEmptyString() {
43 $this->assertEqual(utf8_ltrim($str),$trimmed);
46 function testForwardSlash() {
47 $str = '/Iñtërnâtiônàlizætiøn';
48 $trimmed = 'Iñtërnâtiônàlizætiøn';
49 $this->assertEqual(utf8_ltrim($str,'/'),$trimmed);
52 function testNegateCharClass() {
53 $str = 'Iñtërnâtiônàlizætiøn';
54 $trimmed = 'Iñtërnâtiônàlizætiøn';
55 $this->assertEqual(utf8_ltrim($str,'^s'),$trimmed);
58 function testLinefeed() {
59 $str = "ñ\nñtërnâtiônàlizætiøn";
60 $trimmed = "\nñtërnâtiônàlizætiøn";
61 $this->assertEqual(utf8_ltrim($str,'ñ'),$trimmed);
64 function testLinefeedMask() {
65 $str = "ñ\nñtërnâtiônàlizætiøn";
66 $trimmed = "tërnâtiônàlizætiøn";
67 $this->assertEqual(utf8_ltrim($str,"ñ\n"),$trimmed);
72 //--------------------------------------------------------------------
77 class test_utf8_rtrim extends UnitTestCase {
79 function test_utf8_rtrim() {
80 $this->UnitTestCase('test_utf8_rtrim()');
84 $str = 'Iñtërnâtiônàlizætiø';
85 $trimmed = 'Iñtërnâtiônàlizæti';
86 $this->assertEqual(utf8_rtrim($str,'ø'),$trimmed);
89 function testNoTrim() {
90 $str = 'Iñtërnâtiônàlizætiøn ';
91 $trimmed = 'Iñtërnâtiônàlizætiøn ';
92 $this->assertEqual(utf8_rtrim($str,'ø'),$trimmed);
95 function testEmptyString() {
98 $this->assertEqual(utf8_rtrim($str),$trimmed);
101 function testLinefeed() {
102 $str = "Iñtërnâtiônàlizætiø\nø";
103 $trimmed = "Iñtërnâtiônàlizætiø\n";
104 $this->assertEqual(utf8_rtrim($str,'ø'),$trimmed);
107 function testLinefeedMask() {
108 $str = "Iñtërnâtiônàlizætiø\nø";
109 $trimmed = "Iñtërnâtiônàlizæti";
110 $this->assertEqual(utf8_rtrim($str,"ø\n"),$trimmed);
115 //--------------------------------------------------------------------
120 class test_utf8_trim extends UnitTestCase {
122 function test_utf8_trim() {
123 $this->UnitTestCase('test_utf8_trim()');
126 function testTrim() {
127 $str = 'ñtërnâtiônàlizætiø';
128 $trimmed = 'tërnâtiônàlizæti';
129 $this->assertEqual(utf8_trim($str,'ñø'),$trimmed);
132 function testNoTrim() {
133 $str = ' Iñtërnâtiônàlizætiøn ';
134 $trimmed = ' Iñtërnâtiônàlizætiøn ';
135 $this->assertEqual(utf8_trim($str,'ñø'),$trimmed);
138 function testEmptyString() {
141 $this->assertEqual(utf8_trim($str),$trimmed);
145 //--------------------------------------------------------------------
150 if (!defined('TEST_RUNNING')) {
151 define('TEST_RUNNING', true);
152 $test = & new GroupTest('utf8_trim tests');
153 $test->addTestCase(new test_utf8_ltrim());
154 $test->addTestCase(new test_utf8_rtrim());
155 $test->addTestCase(new test_utf8_trim());
156 $reporter = & getTestReporter();
157 $test->run($reporter);