PageRenderTime 42ms CodeModel.GetById 11ms RepoModel.GetById 1ms app.codeStats 0ms

/vendor/zendframework/zendframework/tests/ZendTest/Validator/File/Md5Test.php

https://bitbucket.org/pcelta/zf2
PHP | 183 lines | 108 code | 21 blank | 54 comment | 0 complexity | 16ba0ceb2aa146d82e682b198f8fdf95 MD5 | raw file
  1. <?php
  2. /**
  3. * Zend Framework (http://framework.zend.com/)
  4. *
  5. * @link http://github.com/zendframework/zf2 for the canonical source repository
  6. * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  7. * @license http://framework.zend.com/license/new-bsd New BSD License
  8. * @package Zend_Validator
  9. */
  10. namespace ZendTest\Validator\File;
  11. use Zend\Validator\File;
  12. /**
  13. * Md5 testbed
  14. *
  15. * @category Zend
  16. * @package Zend_Validator_File
  17. * @subpackage UnitTests
  18. * @group Zend_Validator
  19. */
  20. class Md5Test extends \PHPUnit_Framework_TestCase
  21. {
  22. /**
  23. * Ensures that the validator follows expected behavior
  24. *
  25. * @return void
  26. */
  27. public function testBasic()
  28. {
  29. $valuesExpected = array(
  30. array('ed74c22109fe9f110579f77b053b8bc3', true),
  31. array('4d74c22109fe9f110579f77b053b8bc3', false),
  32. array(array('4d74c22109fe9f110579f77b053b8bc3', 'ed74c22109fe9f110579f77b053b8bc3'), true),
  33. array(array('4d74c22109fe9f110579f77b053b8bc3', '7d74c22109fe9f110579f77b053b8bc3'), false),
  34. );
  35. foreach ($valuesExpected as $element) {
  36. $validator = new File\Md5($element[0]);
  37. $this->assertEquals(
  38. $element[1],
  39. $validator->isValid(__DIR__ . '/_files/picture.jpg'),
  40. "Tested with " . var_export($element, 1)
  41. );
  42. }
  43. $validator = new File\Md5('ed74c22109fe9f110579f77b053b8bc3');
  44. $this->assertFalse($validator->isValid(__DIR__ . '/_files/nofile.mo'));
  45. $this->assertTrue(array_key_exists('fileMd5NotFound', $validator->getMessages()));
  46. $files = array(
  47. 'name' => 'test1',
  48. 'type' => 'text',
  49. 'size' => 200,
  50. 'tmp_name' => 'tmp_test1',
  51. 'error' => 0
  52. );
  53. $validator = new File\Md5('ed74c22109fe9f110579f77b053b8bc3');
  54. $this->assertFalse($validator->isValid(__DIR__ . '/_files/nofile.mo', $files));
  55. $this->assertTrue(array_key_exists('fileMd5NotFound', $validator->getMessages()));
  56. $files = array(
  57. 'name' => 'testsize.mo',
  58. 'type' => 'text',
  59. 'size' => 200,
  60. 'tmp_name' => __DIR__ . '/_files/testsize.mo',
  61. 'error' => 0
  62. );
  63. $validator = new File\Md5('ed74c22109fe9f110579f77b053b8bc3');
  64. $this->assertTrue($validator->isValid(__DIR__ . '/_files/picture.jpg', $files));
  65. $files = array(
  66. 'name' => 'testsize.mo',
  67. 'type' => 'text',
  68. 'size' => 200,
  69. 'tmp_name' => __DIR__ . '/_files/testsize.mo',
  70. 'error' => 0
  71. );
  72. $validator = new File\Md5('7d74c22109fe9f110579f77b053b8bc3');
  73. $this->assertFalse($validator->isValid(__DIR__ . '/_files/picture.jpg', $files));
  74. $this->assertTrue(array_key_exists('fileMd5DoesNotMatch', $validator->getMessages()));
  75. }
  76. /**
  77. * Ensures that getMd5() returns expected value
  78. *
  79. * @return void
  80. */
  81. public function testgetMd5()
  82. {
  83. $validator = new File\Md5('12345');
  84. $this->assertEquals(array('12345' => 'md5'), $validator->getMd5());
  85. $validator = new File\Md5(array('12345', '12333', '12344'));
  86. $this->assertEquals(array('12345' => 'md5', '12333' => 'md5', '12344' => 'md5'), $validator->getMd5());
  87. }
  88. /**
  89. * Ensures that getHash() returns expected value
  90. *
  91. * @return void
  92. */
  93. public function testgetHash()
  94. {
  95. $validator = new File\Md5('12345');
  96. $this->assertEquals(array('12345' => 'md5'), $validator->getHash());
  97. $validator = new File\Md5(array('12345', '12333', '12344'));
  98. $this->assertEquals(array('12345' => 'md5', '12333' => 'md5', '12344' => 'md5'), $validator->getHash());
  99. }
  100. /**
  101. * Ensures that setMd5() returns expected value
  102. *
  103. * @return void
  104. */
  105. public function testSetMd5()
  106. {
  107. $validator = new File\Md5('12345');
  108. $validator->setMd5('12333');
  109. $this->assertEquals(array('12333' => 'md5'), $validator->getMd5());
  110. $validator->setMd5(array('12321', '12121'));
  111. $this->assertEquals(array('12321' => 'md5', '12121' => 'md5'), $validator->getMd5());
  112. }
  113. /**
  114. * Ensures that setHash() returns expected value
  115. *
  116. * @return void
  117. */
  118. public function testSetHash()
  119. {
  120. $validator = new File\Md5('12345');
  121. $validator->setHash('12333');
  122. $this->assertEquals(array('12333' => 'md5'), $validator->getMd5());
  123. $validator->setHash(array('12321', '12121'));
  124. $this->assertEquals(array('12321' => 'md5', '12121' => 'md5'), $validator->getMd5());
  125. }
  126. /**
  127. * Ensures that addMd5() returns expected value
  128. *
  129. * @return void
  130. */
  131. public function testAddMd5()
  132. {
  133. $validator = new File\Md5('12345');
  134. $validator->addMd5('12344');
  135. $this->assertEquals(array('12345' => 'md5', '12344' => 'md5'), $validator->getMd5());
  136. $validator->addMd5(array('12321', '12121'));
  137. $this->assertEquals(array('12345' => 'md5', '12344' => 'md5', '12321' => 'md5', '12121' => 'md5'), $validator->getMd5());
  138. }
  139. /**
  140. * Ensures that addHash() returns expected value
  141. *
  142. * @return void
  143. */
  144. public function testAddHash()
  145. {
  146. $validator = new File\Md5('12345');
  147. $validator->addHash('12344');
  148. $this->assertEquals(array('12345' => 'md5', '12344' => 'md5'), $validator->getMd5());
  149. $validator->addHash(array('12321', '12121'));
  150. $this->assertEquals(array('12345' => 'md5', '12344' => 'md5', '12321' => 'md5', '12121' => 'md5'), $validator->getMd5());
  151. }
  152. /**
  153. * @group ZF-11258
  154. */
  155. public function testZF11258()
  156. {
  157. $validator = new File\Md5('12345');
  158. $this->assertFalse($validator->isValid(__DIR__ . '/_files/nofile.mo'));
  159. $this->assertTrue(array_key_exists('fileMd5NotFound', $validator->getMessages()));
  160. $this->assertContains("'nofile.mo'", current($validator->getMessages()));
  161. }
  162. }