コード例 #1
0
ファイル: HeadersTest.php プロジェクト: pnaq57/zf2demo
 public function testRemoveHeaderWithInstanceWillRemoveThatInstance()
 {
     $headers = new Mail\Headers();
     $headers->addHeaders(array(array('Foo' => 'foo'), array('Foo' => 'bar'), 'Baz' => 'baz'));
     $header = $headers->get('foo')->current();
     $this->assertEquals(3, $headers->count());
     $headers->removeHeader($header);
     $this->assertEquals(2, $headers->count());
     $this->assertTrue($headers->has('foo'));
     $this->assertNotSame($header, $headers->get('foo'));
 }
コード例 #2
0
ファイル: HeadersTest.php プロジェクト: bradley-holt/zf2
 public function testHeadersCanRemoveHeader()
 {
     $headers = new Headers();
     $headers->addHeaders(array('Foo' => 'bar', 'Baz' => 'baz'));
     $header = $headers->get('foo');
     $this->assertEquals(2, $headers->count());
     $headers->removeHeader($header);
     $this->assertEquals(1, $headers->count());
     $this->assertFalse($headers->get('foo'));
 }
コード例 #3
0
 /**
  * Merge duplicate header fields into single headers field.
  * The headers must be AbstractAddressList.
  *
  * @param Headers $headerBag
  * @param HeaderInterface|AbstractAddressList[] $headers
  */
 private function mergeDuplicateHeader(Headers $headerBag, $headers)
 {
     if ($headers instanceof HeaderInterface) {
         // all good
         return;
     }
     // use first headers as base and collect addresses there
     $header = $headers[0];
     unset($headers[0]);
     if (!$header instanceof AbstractAddressList) {
         throw new DomainException(sprintf('Cannot grab address list from headers of type "%s"; not an AbstractAddressList implementation', get_class($header)));
     }
     $addressList = $header->getAddressList();
     foreach ($headers as $h) {
         $addressList->merge($h->getAddressList());
     }
     $headerBag->removeHeader($header->getFieldName());
     $headerBag->addHeader($header);
 }