From ced34cb15e095836767971aa4d27b141fb1d7ec9 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Sat, 18 Oct 2014 08:47:54 -0400 Subject: [PATCH] Merge pull request #230 from bytesatwork-xx/master --- tests/Framework/Utils.php | 69 +++++++++++++++++++++++++++++++++- 1 files changed, 67 insertions(+), 2 deletions(-) diff --git a/tests/Framework/Utils.php b/tests/Framework/Utils.php index 3f7f48c..b32974d 100644 --- a/tests/Framework/Utils.php +++ b/tests/Framework/Utils.php @@ -29,6 +29,7 @@ array('email@domain.name', '.name is valid Top Level Domain name'), array('email@domain.co.jp', 'Dot in Top Level Domain name also considered valid (use co.jp as example here)'), array('firstname-lastname@domain.com', 'Dash in address field is valid'), + array('test@xn--e1aaa0cbbbcacac.xn--p1ai', 'IDNA domain'), ); } @@ -171,6 +172,12 @@ $this->assertRegExp('/#rcmbody h1\s\{/', $mod, "Prefix tag styles (single)"); $this->assertRegExp('/#rcmbody h1, #rcmbody h2, #rcmbody h3, #rcmbody textarea\s+\{/', $mod, "Prefix tag styles (multiple)"); $this->assertRegExp('/#rcmbody \.noscript\s+\{/', $mod, "Prefix class styles"); + + $css = file_get_contents(TESTS_DIR . 'src/media.css'); + $mod = rcube_utils::mod_css_styles($css, 'rcmbody'); + + $this->assertContains('#rcmbody table[class=w600]', $mod, 'Replace styles nested in @media block'); + $this->assertContains('#rcmbody {width:600px', $mod, 'Replace body selector nested in @media block'); } /** @@ -288,13 +295,45 @@ } /** - * rcube:utils::normalize _string() + * rcube:utils::anytodatetime() + */ + function test_anytodatetime() + { + $test = array( + '2013-04-22' => '2013-04-22', + '2013/04/22' => '2013-04-22', + '2013.04.22' => '2013-04-22', + '22-04-2013' => '2013-04-22', + '22/04/2013' => '2013-04-22', + '22.04.2013' => '2013-04-22', + '04/22/2013' => '2013-04-22', + '22.4.2013' => '2013-04-22', + '20130422' => '2013-04-22', + '1900-10-10' => '1900-10-10', + '01-01-1900' => '1900-01-01', + '01/30/1960' => '1960-01-30' + ); + + foreach ($test as $datetime => $ts) { + $result = rcube_utils::anytodatetime($datetime); + $this->assertSame($ts, $result ? $result->format('Y-m-d') : '', "Error parsing date: $datetime"); + } + } + + /** + * rcube:utils::normalize_string() */ function test_normalize_string() { $test = array( - '' => '', + '' => '', 'abc def' => 'abc def', + 'ÇçäâàåæéêëèïîìÅÉöôòüûùÿøØáíóúñÑÁÂÀãÃÊËÈÍÎÏÓÔõÕÚÛÙýÝ' => 'ccaaaaaeeeeiiiaeooouuuyooaiounnaaaaaeeeiiioooouuuyy', + 'ąáâäćçčéęëěíîłľĺńňóôöŕřśšşťţůúűüźžżýĄŚŻŹĆ' => 'aaaaccceeeeiilllnnooorrsssttuuuuzzzyaszzc', + 'ß' => 'ss', + 'ae' => 'a', + 'oe' => 'o', + 'ue' => 'u', ); foreach ($test as $input => $output) { @@ -302,4 +341,30 @@ $this->assertSame($output, $result); } } + + /** + * rcube:utils::is_absolute_path() + */ + function test_is_absolute_path() + { + if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { + $test = array( + '' => false, + "C:\\" => true, + 'some/path' => false, + ); + } + else { + $test = array( + '' => false, + '/path' => true, + 'some/path' => false, + ); + } + + foreach ($test as $input => $output) { + $result = rcube_utils::is_absolute_path($input); + $this->assertSame($output, $result); + } + } } -- Gitblit v1.9.1