From: Michael M Slusarz Date: Thu, 9 Sep 2010 22:43:08 +0000 (-0600) Subject: Implement Countable for Horde_Mime_Part X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=b135cb51c27aeaa069f13396f7022dc2711d3747;p=horde.git Implement Countable for Horde_Mime_Part --- diff --git a/framework/Mime/lib/Horde/Mime/Part.php b/framework/Mime/lib/Horde/Mime/Part.php index 3feba8b33..cf39b5484 100644 --- a/framework/Mime/lib/Horde/Mime/Part.php +++ b/framework/Mime/lib/Horde/Mime/Part.php @@ -14,7 +14,7 @@ * @license http://www.fsf.org/copyleft/lgpl.html LGPL * @package Mime */ -class Horde_Mime_Part +class Horde_Mime_Part implements Countable { /* The character(s) used internally for EOLs. */ const EOL = "\n"; @@ -2101,4 +2101,16 @@ class Horde_Mime_Part return $out; } + /* Countable methods. */ + + /** + * Returns the number of message parts. + * + * @return integer Number of message parts. + */ + public function count() + { + return count($this->_parts); + } + } diff --git a/framework/Mime/test/Horde/Mime/PartTest.php b/framework/Mime/test/Horde/Mime/PartTest.php index 4d839f49d..3a1603207 100644 --- a/framework/Mime/test/Horde/Mime/PartTest.php +++ b/framework/Mime/test/Horde/Mime/PartTest.php @@ -82,4 +82,42 @@ class Horde_Mime_PartTest extends PHPUnit_Framework_TestCase ); } + public function testCountableImplementation() + { + $part = $this->_getTestPart(); + + $this->assertEquals( + 3, + count($part) + ); + } + + protected function _getTestPart() + { + $part = new Horde_Mime_Part(); + $part->setType('multipart/mixed'); + + $part1 = new Horde_Mime_Part(); + $part1->setType('text/plain'); + $part1->setContents('Test'); + $part->addPart($part1); + + $part2 = new Horde_Mime_Part(); + $part2->setType('application/octet-stream'); + $part->addPart($part2); + + $part3 = new Horde_Mime_Part(); + $part3->setType('multipart/mixed'); + $part->addPart($part3); + + $part3_1 = new Horde_Mime_Part(); + $part3_1->setType('text/plain'); + $part3_1->setContents('Test 2'); + $part3->addPart($part3_1); + + $part->buildMimeIds(); + + return $part; + } + }