8000 Fix EmailHeaderSame to make use of decoded value · symfony/symfony@cd73f52 · GitHub
[go: up one dir, main page]

Skip to content

Commit cd73f52

Browse files
Fix EmailHeaderSame to make use of decoded value
Fixes #35062
1 parent f617380 commit cd73f52

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/Symfony/Component/Mime/Test/Constraint/EmailHeaderSame.php

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
namespace Symfony\Component\Mime\Test\Constraint;
1313

1414
use PHPUnit\Framework\Constraint\Constraint;
15+
use Symfony\Component\Mime\Header\HeaderInterface;
16+
use Symfony\Component\Mime\Header\UnstructuredHeader;
1517
use Symfony\Component\Mime\RawMessage;
1618

1719
final class EmailHeaderSame extends Constraint
@@ -44,7 +46,9 @@ protected function matches($message): bool
4446
throw new \LogicException('Unable to test a message header on a RawMessage instance.');
4547
}
4648

47-
return $this->expectedValue === $message->getHeaders()->get($this->headerName)->getBodyAsString();
49+
$header = $message->getHeaders()->get($this->headerName);
50+
51+
return $this->expectedValue === self::getHeaderValue($header);
4852
}
4953

5054
/**
@@ -54,6 +58,13 @@ protected function matches($message): bool
5458
*/
5559
protected function failureDescription($message): string
5660
{
57-
return sprintf('the Email %s (value is %s)', $this->toString(), $message->getHeaders()->get($this->headerName)->getBodyAsString());
61+
$header = $message->getHeaders()->get($this->headerName);
62+
63+
return sprintf('the Email %s (value is %s)', $this->toString(), self::getHeaderValue($header));
64+
}
65+
66+
private static function getHeaderValue(HeaderInterface $header): string
67+
{
68+
return $header instanceof UnstructuredHeader ? $header->getValue() : $header->getBodyAsString();
5869
}
5970
}

0 commit comments

Comments
 (0)
0