From e8b82c2e7b0ae2e5d45ecb600813b8990568feb9 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <bruederli@kolabsys.com>
Date: Sun, 28 Dec 2014 10:22:08 -0500
Subject: [PATCH] Fix rcube_utils::normalize_string() to support unicode characters + add argument for minimum token length
---
tests/Framework/Utils.php | 32 +++++++++++++++++++++++++++-----
1 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/tests/Framework/Utils.php b/tests/Framework/Utils.php
index 1cd9e74..f7389f0 100644
--- a/tests/Framework/Utils.php
+++ b/tests/Framework/Utils.php
@@ -344,6 +344,25 @@
}
/**
+ * 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()
*/
function test_normalize_string()
@@ -353,15 +372,18 @@
'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'");
}
}
--
Gitblit v1.9.1