12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
-
- require_once 'Swift/Encoder/Rfc2231Encoder.php';
- require_once 'Swift/CharacterStream/ArrayCharacterStream.php';
- require_once 'Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php';
-
- class Swift_Encoder_Rfc2231EncoderAcceptanceTest extends UnitTestCase
- {
-
- private $_samplesDir;
- private $_factory;
-
- public function setUp()
- {
- $this->_samplesDir = realpath(dirname(__FILE__) . '/../../../_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->assertEqual(
- urldecode(implode('', explode("\r\n", $encodedText))), $text,
- '%s: Encoded string should decode back to original string for sample ' .
- $sampleDir . '/' . $sampleFile
- );
- }
- closedir($fileFp);
- }
-
- }
- closedir($sampleFp);
- }
-
- }
|