/tests/acceptance/Swift/Encoder/Rfc2231EncoderAcceptanceTest.php
PHP | 50 lines | 42 code | 8 blank | 0 comment | 7 complexity | 3a007585aa77f1b6d9b31fb0fd3f870e MD5 | raw file
Possible License(s): LGPL-3.0, LGPL-2.1
- <?php
- class Swift_Encoder_Rfc2231EncoderAcceptanceTest extends \PHPUnit\Framework\TestCase
- {
- private $samplesDir;
- private $factory;
- protected function setUp(): void
- {
- $this->samplesDir = realpath(__DIR__.'/../../../_samples/charsets');
- $this->factory = new Swift_CharacterReaderFactory_SimpleCharacterReaderFactory();
- }
- public function testEncodingAndDecodingSamples()
- {
- $sampleFp = opendir($this->samplesDir);
- while (false !== $encodingDir = readdir($sampleFp)) {
- if ('.' == substr($encodingDir, 0, 1)) {
- continue;
- }
- $encoding = $encodingDir;
- $charStream = new Swift_CharacterStream_ArrayCharacterStream(
- $this->factory, $encoding);
- $encoder = new Swift_Encoder_Rfc2231Encoder($charStream);
- $sampleDir = $this->samplesDir.'/'.$encodingDir;
- if (is_dir($sampleDir)) {
- $fileFp = opendir($sampleDir);
- while (false !== $sampleFile = readdir($fileFp)) {
- if ('.' == substr($sampleFile, 0, 1)) {
- continue;
- }
- $text = file_get_contents($sampleDir.'/'.$sampleFile);
- $encodedText = $encoder->encodeString($text);
- $this->assertEquals(
- urldecode(implode('', explode("\r\n", $encodedText))), $text,
- '%s: Encoded string should decode back to original string for sample '.
- $sampleDir.'/'.$sampleFile
- );
- }
- closedir($fileFp);
- }
- }
- closedir($sampleFp);
- }
- }