From e48f8945b32ab5b67f1cdeb53a37d3d196e31e4d Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Fri, 20 May 2016 05:19:01 -0400 Subject: [PATCH] Fix bug where message list columns could be in wrong order after column drag-n-drop and list sorting --- tests/Framework/Utils.php | 61 +++++++++++++++++++++++++----- 1 files changed, 51 insertions(+), 10 deletions(-) diff --git a/tests/Framework/Utils.php b/tests/Framework/Utils.php index f7389f0..572a19c 100644 --- a/tests/Framework/Utils.php +++ b/tests/Framework/Utils.php @@ -275,18 +275,21 @@ */ 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, ); @@ -372,18 +375,45 @@ 'abc def' => 'abc def', 'ÇçäâàåæéêëèïîìÅÉöôòüûùÿøØáíóúñÑÁÂÀãÃÊËÈÍÎÏÓÔõÕÚÛÙýÝ' => 'ccaaaaaeeeeiiiaeooouuuyooaiounnaaaaaeeeiiioooouuuyy', 'ąáâäćçčéęëěíîłľĺńňóôöŕřśšşťţůúűüźžżýĄŚŻŹĆ' => 'aaaaccceeeeiilllnnooorrsssttuuuuzzzyaszzc', - 'ß' => '', 'ßs' => 'sss', 'Xae' => 'xa', 'Xoe' => 'xo', 'Xue' => 'xu', '项目' => '项目', - '日' => '', // FIXME: this should not be stripped although minlen = 2 ); + + // 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, "Error normalizing '$input'"); + } + } + + /** + * rcube:utils::words_match() + */ + function test_words_match() + { + $test = array( + array('', 'test', false), + array('test', 'test', true), + array('test', 'none', false), + array('test', 'test xyz', false), + array('test xyz', 'test xyz', true), + array('this is test', 'test', true), + // try some binary content + array('this is test ' . base64_decode('R0lGODlhDwAPAIAAAMDAwAAAACH5BAEAAAAALAAAAAAPAA8AQAINhI+py+0Po5y02otnAQA7'), 'test', true), + array('this is test ' . base64_decode('R0lGODlhDwAPAIAAAMDAwAAAACH5BAEAAAAALAAAAAAPAA8AQAINhI+py+0Po5y02otnAQA7'), 'none', false), + ); + + foreach ($test as $idx => $params) { + $result = rcube_utils::words_match($params[0], $params[1]); + $this->assertSame($params[2], $result, "words_match() at index $idx"); } } @@ -412,4 +442,15 @@ $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))); + } } -- Gitblit v1.9.1