public function addEntry(PelEntry $e) { if ($this->isValidTag($e->getTag())) { $e->setIfdType($this->type); $this->entries[$e->getTag()] = $e; } else { throw new PelInvalidDataException("IFD %s cannot hold\n%s", $this->getName(), $e->__toString()); } }
function testIteratorAggretate() { $ifd = new PelIfd(PelIfd::IFD0); $this->assertEqual(sizeof($ifd->getIterator()), 0); $desc = new PelEntryAscii(PelTag::IMAGE_DESCRIPTION, 'Hello?'); $date = new PelEntryTime(PelTag::DATE_TIME, 12345678); $ifd->addEntry($desc); $ifd->addEntry($date); $this->assertEqual(sizeof($ifd->getIterator()), 2); $entries = array(); foreach ($ifd as $tag => $entry) { $entries[$tag] = $entry; } $this->assertIdentical($entries[PelTag::IMAGE_DESCRIPTION], $desc); $this->assertIdentical($entries[PelTag::DATE_TIME], $date); }