public function filterPdfItems(FeedEntry $feedEntry) { return $feedEntry->getItems()->filter(function (FeedEntryItem $item) { $record = $item->getRecord(); return in_array($record->getMimeType(), $this->pdfMimeTypes); }); }
public function testHelperReturnsPdfItemsFromFeed() { $feedEntry = new FeedEntry(); $feedEntry->setItems($this->getFeedEntryItems()); $helper = new FeedHelper(); $this->assertTrue($helper->entryContainsPdfDocuments($feedEntry)); $this->assertCount(1, $helper->filterPdfItems($feedEntry)); $this->assertEquals($feedEntry->getItems()[0], $helper->filterPdfItems($feedEntry)[0]); }
public function testFilterWithAlwaysFalseCallbackIsEmpty() { $feedEntry = new FeedEntry(); $feedEntry->setItems($this->getFeedEntryItems()); $filter = new FeedEntryFilter($feedEntry, function (FeedEntryItem $item) { return false; }); $this->assertCount(0, $filter->getItems()); $this->assertFalse($filter->hasItems()); }
public function testGetItemsReturnsItemsMatchingFilter() { $data = new \stdClass(); $data->id = 1; $data->items = $this->getFeedEntryData(); $feedEntry = new FeedEntry($data); $filter = new FeedEntryFilter($feedEntry, function (FeedEntryItem $item) { return $item->getId() == 1; }); $this->assertCount(1, $filter->getItems()); $this->assertTrue($filter->hasItems()); $this->assertEquals($feedEntry->getItems()[1], $filter->getItems()[1]); }
/** * @return FeedEntryItem[] */ public function getItems() { return array_filter($this->feedEntry->getItems()->toArray(), $this->filterCallback); }