Exemplo n.º 1
0
 /**
  * Add a raw header line, either in name => value, or as a single string 'name: value'
  *
  * This method allows for lazy-loading in that the parsing and instantiation of HeaderInterface object
  * will be delayed until they are retrieved by either get() or current()
  *
  * @throws Exception\InvalidArgumentException
  * @param  string $headerFieldNameOrLine
  * @param  string $fieldValue optional
  * @return Headers
  */
 public function addHeaderLine($headerFieldNameOrLine, $fieldValue = null)
 {
     if (!is_string($headerFieldNameOrLine)) {
         throw new Exception\InvalidArgumentException(sprintf('%s expects its first argument to be a string; received "%s"', is_object($headerFieldNameOrLine) ? get_class($headerFieldNameOrLine) : gettype($headerFieldNameOrLine)));
     }
     if ($fieldValue === null) {
         $this->addHeader(Header\GenericHeader::fromString($headerFieldNameOrLine));
     } elseif (is_array($fieldValue)) {
         foreach ($fieldValue as $i) {
             $this->addHeader(new Header\GenericMultiHeader($headerFieldNameOrLine, $i));
         }
     } else {
         $this->addHeader(new Header\GenericHeader($headerFieldNameOrLine, $fieldValue));
     }
     return $this;
 }
Exemplo n.º 2
0
 /**
  * @dataProvider getEmbeddedContentIdProvider
  * @param $rawHeaders
  * @param $expected
  */
 public function testGetEmbeddedContentId($rawHeaders, $expected)
 {
     $headers = Headers::fromString(implode(PHP_EOL, $rawHeaders), PHP_EOL);
     $contentIdHeader = null;
     $contentDispositionHeader = null;
     if (isset($rawHeaders['Content-ID'])) {
         $contentIdHeader = GenericHeader::fromString($rawHeaders['Content-ID']);
     }
     if (isset($rawHeaders['Content-Disposition'])) {
         $contentDispositionHeader = GenericHeader::fromString($rawHeaders['Content-Disposition']);
     }
     $this->part->expects($this->any())->method('getHeader')->willReturnMap([['Content-ID', null, $contentIdHeader], ['Content-Disposition', null, $contentDispositionHeader]]);
     $this->part->expects($this->any())->method('getHeaders')->willReturn($headers);
     $this->assertEquals($expected, $this->attachment->getEmbeddedContentId());
 }