/** * @param Message[] $batch */ protected function handleBatchLoaded($batch) { $this->batch = []; foreach ($batch as $key => $val) { $this->batch[$key] = $this->manager->convertToEmail($val); } }
public function testConvertToEmailWithMultiValueAcceptLanguage() { $msg = $this->getMockBuilder('Oro\\Bundle\\ImapBundle\\Mail\\Storage\\Message')->disableOriginalConstructor()->getMock(); $headers = $this->getMockBuilder('Zend\\Mail\\Headers')->disableOriginalConstructor()->getMock(); $msg->expects($this->once())->method('getHeaders')->will($this->returnValue($headers)); $headers->expects($this->any())->method('get')->will($this->returnValueMap([['UID', $this->getHeader('123')], ['Subject', $this->getHeader('Subject')], ['From', $this->getHeader('fromEmail')], ['Date', $this->getHeader('Fri, 31 Jun 2011 10:59:59 +1100')], ['Received', $this->getHeader('by server to email; Fri, 31 Jun 2011 10:58:58 +1100')], ['InternalDate', $this->getHeader('Fri, 31 Jun 2011 10:57:57 +1100')], ['Message-ID', $this->getHeader('MessageId')], ['Importance', false], ['References', $this->getHeader('References')], ['X-GM-MSG-ID', $this->getHeader('XMsgId')], ['X-GM-THR-ID', $this->getHeader('XThrId1')], ['X-GM-LABELS', false], ['Accept-Language', $this->getMultiValueHeader(['en-US', 'en-US'])]])); $email = $this->manager->convertToEmail($msg); $this->assertNotEmpty($email->getMessageId()); $this->assertEquals('en-US', $email->getAcceptLanguageHeader()); }
/** * @param Message[] $batch * * @throws \Exception */ protected function handleBatchLoaded($batch) { $this->batch = []; $counter = 0; foreach ($batch as $key => $val) { try { $email = $this->manager->convertToEmail($val); } catch (\Exception $e) { if (null !== $this->onConvertError) { call_user_func($this->onConvertError, $e); $email = null; } else { throw $e; } } // do not add invalid messages to $this->batch if ($email !== null) { $this->batch[$this->iterationPos + $counter] = $email; } $counter++; } }
/** * Return the current element * * @return Email */ public function current() { return $this->manager->convertToEmail($this->iterator->current()); }