Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
MailboxListHeader example
return
$this
->lineLength;
}
/** * @param array<Address|string> $addresses * * @return $this */
public
function
addMailboxListHeader
(
string
$name
, array
$addresses
)
:
static
{
return
$this
->
add
(
new
MailboxListHeader
(
$name
, Address::
createArray
(
$addresses
)
)
)
;
}
/** * @return $this */
public
function
addMailboxHeader
(
string
$name
, Address|string
$address
)
:
static
{
return
$this
->
add
(
new
MailboxHeader
(
$name
, Address::
create
(
$address
)
)
)
;
}
/** * @return $this */
return
$this
->lineLength;
}
/** * @param array<Address|string> $addresses * * @return $this */
public
function
addMailboxListHeader
(
string
$name
, array
$addresses
)
:
static
{
return
$this
->
add
(
new
MailboxListHeader
(
$name
, Address::
createArray
(
$addresses
)
)
)
;
}
/** * @return $this */
public
function
addMailboxHeader
(
string
$name
, Address|string
$address
)
:
static
{
return
$this
->
add
(
new
MailboxHeader
(
$name
, Address::
create
(
$address
)
)
)
;
}
/** * @return $this */
use
PHPUnit\Framework\TestCase;
use
Symfony\Component\Mime\Address;
use
Symfony\Component\Mime\Header\MailboxListHeader;
class
MailboxListHeaderTest
extends
TestCase
{
// RFC 2822, 3.6.2 for all tests
public
function
testMailboxIsSetForAddress
(
)
{
$header
=
new
MailboxListHeader
(
'From',
[
new
Address
(
'
[email protected]
'
)
]
)
;
$this
->
assertEquals
(
[
'
[email protected]
'
]
,
$header
->
getAddressStrings
(
)
)
;
}
public
function
testMailboxIsRenderedForNameAddress
(
)
{
$header
=
new
MailboxListHeader
(
'From',
[
new
Address
(
'
[email protected]
', 'Chris Corbyn'
)
]
)
;
$this
->
assertEquals
(
[
'Chris Corbyn <
[email protected]
>'
]
,
$header
->
getAddressStrings
(
)
)
;
}
public
function
testAddressCanBeReturnedForAddress
(
)
{
$headers
=
new
Headers
(
)
;
$headers
->
addTextHeader
(
'X-Test', 'some@id'
)
;
$headers
->
addTextHeader
(
'X-Test', 'other@id'
)
;
$headers
->
addTextHeader
(
'X-Test', 'more@id'
)
;
$this
->
assertEquals
(
[
$header0
,
$header1
,
$header2
]
,
iterator_to_array
(
$headers
->
all
(
'X-Test'
)
)
)
;
}
public
function
testAllReturnsAllHeadersIfNoArguments
(
)
{
$header0
=
new
IdentificationHeader
(
'Message-ID', 'some@id'
)
;
$header1
=
new
UnstructuredHeader
(
'Subject', 'thing'
)
;
$header2
=
new
MailboxListHeader
(
'To',
[
new
Address
(
'
[email protected]
'
)
]
)
;
$headers
=
new
Headers
(
)
;
$headers
->
addIdHeader
(
'Message-ID', 'some@id'
)
;
$headers
->
addTextHeader
(
'Subject', 'thing'
)
;
$headers
->
addMailboxListHeader
(
'To',
[
new
Address
(
'
[email protected]
'
)
]
)
;
$this
->
assertEquals
(
[
'message-id' =>
$header0
, 'subject' =>
$header1
, 'to' =>
$header2
]
,
iterator_to_array
(
$headers
->
all
(
)
)
)
;
}
public
function
testAllReturnsEmptyArrayIfNoneSet
(
)
{
$headers
=
new
Headers
(
)
;
$this
->
assertEquals
(
[
]
,
iterator_to_array
(
$headers
->
all
(
'Received'
)
)
)
;
}
$listener
=
new
MessageListener
(
$defaultHeaders
, null,
$rules
)
;
$event
=
new
MessageEvent
(
$message
,
new
Envelope
(
new
Address
(
'
[email protected]
'
)
,
[
new
Address
(
'
[email protected]
'
)
]
)
, 'smtp'
)
;
$listener
->
onMessage
(
$event
)
;
$this
->
assertEquals
(
$expectedHeaders
,
$event
->
getMessage
(
)
->
getHeaders
(
)
)
;
}
public
static
function
provideHeaders
(
)
: iterable
{
$initialHeaders
=
new
Headers
(
)
;
$defaultHeaders
=
(
new
Headers
(
)
)
->
add
(
new
MailboxListHeader
(
'from',
[
new
Address
(
'
[email protected]
'
)
]
)
)
;
yield
'No defaults, all headers copied over' =>
[
$initialHeaders
,
$defaultHeaders
,
$defaultHeaders
]
;
$initialHeaders
=
new
Headers
(
)
;
$defaultHeaders
=
(
new
Headers
(
)
)
->
add
(
new
UnstructuredHeader
(
'foo', 'bar'
)
)
->
add
(
new
UnstructuredHeader
(
'bar', 'foo'
)
)
;
yield
'No defaults, default is to set if empty' =>
[
$initialHeaders
,
$defaultHeaders
,
$defaultHeaders
]
;
$initialHeaders
=
(
new
Headers
(
)
)
$this
->
assertTrue
(
$headers
->
has
(
'Message-ID'
)
)
;
$this
->
assertTrue
(
$headers
->
has
(
'Date'
)
)
;
$this
->
assertFalse
(
$headers
->
has
(
'Bcc'
)
)
;
}
public
function
testGetPreparedHeaders
(
)
{
$message
=
new
Message
(
)
;
$message
->
getHeaders
(
)
->
addMailboxListHeader
(
'From',
[
'
[email protected]
'
]
)
;
$h
=
$message
->
getPreparedHeaders
(
)
;
$this
->
assertCount
(
4,
iterator_to_array
(
$h
->
all
(
)
)
)
;
$this
->
assertEquals
(
new
MailboxListHeader
(
'From',
[
new
Address
(
'
[email protected]
'
)
]
)
,
$h
->
get
(
'From'
)
)
;
$this
->
assertEquals
(
new
UnstructuredHeader
(
'MIME-Version', '1.0'
)
,
$h
->
get
(
'mime-version'
)
)
;
$this
->
assertTrue
(
$h
->
has
(
'Message-Id'
)
)
;
$this
->
assertTrue
(
$h
->
has
(
'Date'
)
)
;
$message
=
new
Message
(
)
;
$message
->
getHeaders
(
)
->
addMailboxListHeader
(
'From',
[
'
[email protected]
'
]
)
;
$message
->
getHeaders
(
)
->
addDateHeader
(
'Date',
$n
=
new
\
DateTimeImmutable
(
)
)
;
$this
->
assertEquals
(
$n
,
$message
->
getPreparedHeaders
(
)
->
get
(
'Date'
)
->
getDateTime
(
)
)
;
$message
=
new
Message
(
)
;
$message
->
getHeaders
(
)
->
addMailboxListHeader
(
'From',
[
'
[email protected]
'
]
)
;