| | |
| | | */ |
| | | function test_strtotime() |
| | | { |
| | | // this test depends on system timezone if not set |
| | | date_default_timezone_set('UTC'); |
| | | |
| | | $test = array( |
| | | '1' => 1, |
| | | '' => 0, |
| | | 'abc-555' => 0, |
| | | '2013-04-22' => 1366581600, |
| | | '2013/04/22' => 1366581600, |
| | | '2013.04.22' => 1366581600, |
| | | '22-04-2013' => 1366581600, |
| | | '22/04/2013' => 1366581600, |
| | | '22.04.2013' => 1366581600, |
| | | '22.4.2013' => 1366581600, |
| | | '20130422' => 1366581600, |
| | | '2013-04-22' => 1366588800, |
| | | '2013/04/22' => 1366588800, |
| | | '2013.04.22' => 1366588800, |
| | | '22-04-2013' => 1366588800, |
| | | '22/04/2013' => 1366588800, |
| | | '22.04.2013' => 1366588800, |
| | | '22.4.2013' => 1366588800, |
| | | '20130422' => 1366588800, |
| | | '2013/06/21 12:00:00 UTC' => 1371816000, |
| | | '2013/06/21 12:00:00 Europe/Berlin' => 1371808800, |
| | | ); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 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() |
| | |
| | | 'abc def' => 'abc def', |
| | | 'ÇçäâàåæéêëèïîìÅÉöôòüûùÿøØáíóúñÑÁÂÀãÃÊËÈÍÎÏÓÔõÕÚÛÙýÝ' => 'ccaaaaaeeeeiiiaeooouuuyooaiounnaaaaaeeeiiioooouuuyy', |
| | | 'ąáâäćçčéęëěíîłľĺńňóôöŕřśšşťţůúűüźžżýĄŚŻŹĆ' => 'aaaaccceeeeiilllnnooorrsssttuuuuzzzyaszzc', |
| | | 'ß' => 'ss', |
| | | 'ae' => 'a', |
| | | 'oe' => 'o', |
| | | 'ue' => 'u', |
| | | 'ßs' => 'sss', |
| | | 'Xae' => 'xa', |
| | | 'Xoe' => 'xo', |
| | | 'Xue' => 'xu', |
| | | '项目' => '项目', |
| | | ); |
| | | |
| | | // this test fails on PHP 5.3.3 |
| | | if (PHP_VERSION_ID > 50303) { |
| | | $test['ß'] = ''; |
| | | $test['日'] = ''; |
| | | } |
| | | |
| | | foreach ($test as $input => $output) { |
| | | $result = rcube_utils::normalize_string($input); |
| | | $this->assertSame($output, $result); |
| | | $this->assertSame($output, $result, "Error normalizing '$input'"); |
| | | } |
| | | } |
| | | |
| | |
| | | $this->assertSame($output, $result); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * rcube:utils::random_bytes() |
| | | */ |
| | | function test_random_bytes() |
| | | { |
| | | $this->assertSame(15, strlen(rcube_utils::random_bytes(15))); |
| | | $this->assertSame(1, strlen(rcube_utils::random_bytes(1))); |
| | | $this->assertSame(0, strlen(rcube_utils::random_bytes(0))); |
| | | $this->assertSame(0, strlen(rcube_utils::random_bytes(-1))); |
| | | } |
| | | } |