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);
 }