Fixed rcube_imap_generic::uncompressMessageSet() result when argument is empty. Added tests.

pull/42/head
Aleksander Machniak 12 years ago
parent 03970bd549
commit e68fa71b0e

@ -3530,6 +3530,10 @@ class rcube_imap_generic
*/
static function uncompressMessageSet($messages)
{
if (empty($messages)) {
return array();
}
$result = array();
$messages = explode(',', $messages);
@ -3538,7 +3542,7 @@ class rcube_imap_generic
$max = max($items[0], $items[1]);
for ($x=$items[0]; $x<=$max; $x++) {
$result[] = $x;
$result[] = (int)$x;
}
unset($messages[$idx]);
}

@ -17,4 +17,22 @@ class Framework_ImapGeneric extends PHPUnit_Framework_TestCase
$this->assertInstanceOf('rcube_imap_generic', $object, "Class constructor");
}
/**
* Test for uncompressMessageSet
*/
function test_uncompressMessageSet()
{
$result = rcube_imap_generic::uncompressMessageSet(null);
$this->assertSame(array(), $result);
$this->assertCount(0, $result);
$result = rcube_imap_generic::uncompressMessageSet('1');
$this->assertSame(array(1), $result);
$this->assertCount(1, $result);
$result = rcube_imap_generic::uncompressMessageSet('1:3');
$this->assertSame(array(1, 2, 3), $result);
$this->assertCount(3, $result);
}
}

Loading…
Cancel
Save