Skip to content

Commit

Permalink
Improved code coverage on tests
Browse files Browse the repository at this point in the history
  • Loading branch information
slusarz committed Aug 19, 2014
1 parent 78e2935 commit 6364476
Show file tree
Hide file tree
Showing 4 changed files with 135 additions and 6 deletions.
42 changes: 42 additions & 0 deletions framework/Mail/test/Horde/Mail/AddressTest.php
Expand Up @@ -46,4 +46,46 @@ public function testPersonalIsSameAsEmail()
);
}

/**
* @dataProvider labelProvider
*/
public function testLabel($in, $expected)
{
$address = new Horde_Mail_Rfc822_Address($in);

$this->assertEquals(
$expected,
$address->label
);
}

public function labelProvider()
{
return array(
array('foo@example.com', 'foo@example.com'),
array('Foo <foo@example.com>', 'Foo')
);
}

/**
* @dataProvider personalEncodedProvider
*/
public function testPersonalEncoded($in, $expected)
{
$address = new Horde_Mail_Rfc822_Address($in);

$this->assertEquals(
$expected,
$address->personal_encoded
);
}

public function personalEncodedProvider()
{
return array(
array('Foo <foo@example.com>', 'Foo'),
array('Aäb <bar@example.com>', '=?utf-8?b?QcOkYg==?=')
);
}

}
53 changes: 47 additions & 6 deletions framework/Mail/test/Horde/Mail/GroupTest.php
Expand Up @@ -31,12 +31,12 @@ public function testWriteAddressEncode()
'Fooã <test@example.com>',
'foo@example.com'
);
$groupname = 'Testing';
$groupname = 'Group "Foo"';

$group_ob = new Horde_Mail_Rfc822_Group($groupname, $addresses);

$this->assertEquals(
'Testing: =?utf-8?b?Rm9vw6M=?= <test@example.com>, foo@example.com;',
'"Group \"Foo\"": =?utf-8?b?Rm9vw6M=?= <test@example.com>, foo@example.com;',
$group_ob->writeAddress(array('encode' => true))
);
}
Expand All @@ -61,13 +61,54 @@ public function testEmptyGroupCount()
);
}

public function testEncodingGroupname()
/**
* @dataProvider encodingGroupnameProvider
*/
public function testEncodingGroupname($in, $expected)
{
$group_ob = new Horde_Mail_Rfc822_Group('Group "Foo"');
$group_ob = new Horde_Mail_Rfc822_Group($in);

$this->assertEquals(
'"Group \"Foo\"":;',
$group_ob->writeAddress(true)
$expected,
$group_ob->groupname_encoded
);
}

public function encodingGroupnameProvider()
{
return array(
array('Foo', 'Foo'),
array('Aäb', '=?utf-8?b?QcOkYg==?=')
);
}

/**
* @dataProvider matchProvider
*/
public function testMatch($compare, $result)
{
$ob = new Horde_Mail_Rfc822_Group(
'Testing',
array(
'foo@example.com',
'bar@example.com'
)
);

if ($result) {
$this->assertTrue($ob->match($compare));
} else {
$this->assertFalse($ob->match($compare));
}
}

public function matchProvider()
{
return array(
array(array('foo@example.com'), false),
array(array('bar@example.com'), false),
array(array('foo@example.com', 'bar@example.com'), true),
array(array('bar@example.com', 'foo@example.com'), true)
);
}

Expand Down
45 changes: 45 additions & 0 deletions framework/Mail/test/Horde/Mail/ListTest.php
Expand Up @@ -186,6 +186,7 @@ public function testArraySet()

$res[0] = 'Test2 <test2@example.com>';

$this->assertTrue(isset($res[0]));
$this->assertEquals(
1,
count($res)
Expand Down Expand Up @@ -491,4 +492,48 @@ public function testContains()
$this->assertFalse($res->contains('foo4@example.com'));
}

/**
* @dataProvider matchProvider
*/
public function testMatch($compare, $result)
{
$ob = new Horde_Mail_Rfc822_List(array(
'foo@example.com',
'bar@example.com'
));

if ($result) {
$this->assertTrue($ob->match($compare));
} else {
$this->assertFalse($ob->match($compare));
}
}

public function matchProvider()
{
return array(
array(array('foo@example.com'), false),
array(array('bar@example.com'), false),
array(array('foo@example.com', 'bar@example.com'), true),
array(array('bar@example.com', 'foo@example.com'), true)
);
}

public function testSerialization()
{
$ob = new Horde_Mail_Rfc822_List('foo@example.com');

$ob2 = unserialize(serialize($ob));

$this->assertEquals(
1,
count($ob2)
);

$this->assertEquals(
'foo',
$ob[0]->mailbox
);
}

}
1 change: 1 addition & 0 deletions framework/Mail/test/Horde/Mail/ParseTest.php
Expand Up @@ -138,6 +138,7 @@ public function testGeneralParsing()
$this->assertTrue($result[0] instanceof Horde_Mail_Rfc822_Group);
$this->assertEquals($result[0]->groupname, 'My Group');
$this->assertTrue($result[0]->addresses instanceof Horde_Mail_Rfc822_GroupList);
$this->assertEquals(0, $result[0]->addresses->groupCount());

$this->assertInternalType('object', $result[0]->addresses[0]);
$this->assertEquals($result[0]->addresses[0]->personal, 'Richard');
Expand Down

0 comments on commit 6364476

Please sign in to comment.