From e8b82c2e7b0ae2e5d45ecb600813b8990568feb9 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli Date: Sun, 28 Dec 2014 16:22:08 +0100 Subject: Fix rcube_utils::normalize_string() to support unicode characters + add argument for minimum token length --- tests/Framework/Utils.php | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) (limited to 'tests') diff --git a/tests/Framework/Utils.php b/tests/Framework/Utils.php index 1cd9e7429..f7389f0d7 100644 --- a/tests/Framework/Utils.php +++ b/tests/Framework/Utils.php @@ -343,6 +343,25 @@ class Framework_Utils extends PHPUnit_Framework_TestCase } } + /** + * rcube:utils::tokenize_string() + */ + function test_tokenize_string() + { + $test = array( + '' => array(), + 'abc d' => array('abc'), + 'abc de' => array('abc','de'), + 'äàé;êöü-xyz' => array('äàé','êöü','xyz'), + '日期格式' => array('日期格式'), + ); + + foreach ($test as $input => $output) { + $result = rcube_utils::tokenize_string($input); + $this->assertSame($output, $result); + } + } + /** * rcube:utils::normalize_string() */ @@ -353,15 +372,18 @@ class Framework_Utils extends PHPUnit_Framework_TestCase 'abc def' => 'abc def', 'ÇçäâàåæéêëèïîìÅÉöôòüûùÿøØáíóúñÑÁÂÀãÃÊËÈÍÎÏÓÔõÕÚÛÙýÝ' => 'ccaaaaaeeeeiiiaeooouuuyooaiounnaaaaaeeeiiioooouuuyy', 'ąáâäćçčéęëěíîłľĺńňóôöŕřśšşťţůúűüźžżýĄŚŻŹĆ' => 'aaaaccceeeeiilllnnooorrsssttuuuuzzzyaszzc', - 'ß' => 'ss', - 'ae' => 'a', - 'oe' => 'o', - 'ue' => 'u', + 'ß' => '', + 'ßs' => 'sss', + 'Xae' => 'xa', + 'Xoe' => 'xo', + 'Xue' => 'xu', + '项目' => '项目', + '日' => '', // FIXME: this should not be stripped although minlen = 2 ); foreach ($test as $input => $output) { $result = rcube_utils::normalize_string($input); - $this->assertSame($output, $result); + $this->assertSame($output, $result, "Error normalizing '$input'"); } } -- cgit v1.2.3