. # require_once('PHPUnit/Framework.php'); require_once('src/MailmanMessage.php'); class MailmanMessageTest extends PHPUnit_Framework_TestCase { public function provider() { return array( array(array( 'data' => file_get_contents(__DIR__ . '/1'), 'source' => 'messages@forums.vassalengine.org', 'post_id' => '', 'from' => 'uckelman@nomic.net', 'subject' => 'Re: [Developers]Re: Adding developers?', 'message_id' => '<20100302094228.33F0310091@charybdis.ellipsis.cx>', 'in_reply_to' => '<1267473003.m2f.17543@www.vassalengine.org>', 'references' => '<1267171317.m2f.17507@www.vassalengine.org> <1267473003.m2f.17543@www.vassalengine.org>', 'flattened' => array( file_get_contents(__DIR__ . '/1_flat'), array() ) )), array(array( 'data' => file_get_contents(__DIR__ . '/377'), 'source' => 'messages@vassalengine.org', 'post_id' => '', 'from' => 'mkiefte@dal.ca', 'subject' => 'Re: [messages] [Module Design] Cropping and using Transparency', 'message_id' => '', 'in_reply_to' => '<1286462494.20188.1569.bridge@www.vassalengine.org>', 'references' => '<1286462494.20188.1569.bridge@www.vassalengine.org>', 'flattened' => array( file_get_contents(__DIR__ . '/377_flat'), array() ) )), array(array( 'data' => file_get_contents(__DIR__ . '/287'), 'source' => 'messages@vassalengine.org', 'post_id' => '', 'from' => 'pgeerkens@hotmail.com', 'subject' => '[messages] Edit: [Developers] Re: Wannabe VASSAL developer has setup question', 'message_id' => '<1285379813.20024.1394.bridge@www.vassalengine.org>', 'in_reply_to' => '<1285379627.20024.1393.bridge@www.vassalengine.org>', 'references' => null, 'flattened' => array( file_get_contents(__DIR__ . '/287_flat'), array( array( 'filename' => 'Eclispse2.PNG', 'mimetype' => 'image/png', 'comment' => '', 'data' => file_get_contents(__DIR__ . '/Eclispse2.PNG') ), array( 'filename' => 'Eclipse.PNG', 'mimetype' => 'image/png', 'comment' => '', 'data' => file_get_contents(__DIR__ . '/Eclipse.PNG') ) ) ) )), array(array( 'data' => file_get_contents(__DIR__ . '/372'), 'source' => 'messages@vassalengine.org', 'post_id' => '', 'from' => 'uckelman@nomic.net', 'subject' => 'Re: [messages] [Developers] Re: determining how much heap a BufferedImage uses', 'message_id' => '<20101110174225.587BD100B5@charybdis.ellipsis.cx>', 'in_reply_to' => '<1289408163.20521.1933.bridge@www.vassalengine.org>', 'references' => '<1286189102.20134.1513.bridge@www.vassalengine.org> <1289408163.20521.1933.bridge@www.vassalengine.org>', 'flattened' => array( file_get_contents(__DIR__ . '/372_flat'), array() ) )), ); } protected function buildMessage($params) { return new MailmanMessage($params['data']); } /** * @dataProvider provider */ public function testGetSource($expected) { $msg = $this->buildMessage($expected); $this->assertEquals($expected['source'], $msg->getSource()); } /** * @dataProvider provider */ public function testGetPostId($expected) { $msg = $this->buildMessage($expected); $this->assertEquals($expected['post_id'], $msg->getPostId()); } /** * @dataProvider provider */ public function testGetFrom($expected) { $msg = $this->buildMessage($expected); $this->assertEquals($expected['from'], $msg->getFrom()); } /** * @dataProvider provider */ public function testGetSubject($expected) { $msg = $this->buildMessage($expected); $this->assertEquals($expected['subject'], $msg->getSubject()); } /** * @dataProvider provider */ public function testGetMessageId($expected) { $msg = $this->buildMessage($expected); $this->assertEquals($expected['message_id'], $msg->getMessageId()); } /** * @dataProvider provider */ public function testGetInReplyTo($expected) { $msg = $this->buildMessage($expected); $this->assertEquals($expected['in_reply_to'], $msg->getInReplyTo()); } /** * @dataProvider provider */ public function testGetReferences($expected) { $msg = $this->buildMessage($expected); $this->assertEquals($expected['references'], $msg->getReferences()); } /** * @dataProvider provider */ public function testGetFlattenedParts($expected) { $msg = $this->buildMessage($expected); $this->assertEquals($expected['flattened'], $msg->getFlattenedParts()); } } ?>