Base64EncoderAcceptanceTest.php 1.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. require_once 'Swift/Encoder/Base64Encoder.php';
  3. class Swift_Encoder_Base64EncoderAcceptanceTest extends UnitTestCase
  4. {
  5. private $_samplesDir;
  6. private $_encoder;
  7. public function setUp()
  8. {
  9. $this->_samplesDir = realpath(dirname(__FILE__) . '/../../../_samples/charsets');
  10. $this->_encoder = new Swift_Encoder_Base64Encoder();
  11. }
  12. public function testEncodingAndDecodingSamples()
  13. {
  14. $sampleFp = opendir($this->_samplesDir);
  15. while (false !== $encodingDir = readdir($sampleFp)) {
  16. if (substr($encodingDir, 0, 1) == '.') {
  17. continue;
  18. }
  19. $sampleDir = $this->_samplesDir . '/' . $encodingDir;
  20. if (is_dir($sampleDir)) {
  21. $fileFp = opendir($sampleDir);
  22. while (false !== $sampleFile = readdir($fileFp)) {
  23. if (substr($sampleFile, 0, 1) == '.') {
  24. continue;
  25. }
  26. $text = file_get_contents($sampleDir . '/' . $sampleFile);
  27. $encodedText = $this->_encoder->encodeString($text);
  28. $this->assertEqual(
  29. base64_decode($encodedText), $text,
  30. '%s: Encoded string should decode back to original string for sample ' .
  31. $sampleDir . '/' . $sampleFile
  32. );
  33. }
  34. closedir($fileFp);
  35. }
  36. }
  37. closedir($sampleFp);
  38. }
  39. }