PageRenderTime 22ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/lib/Tests/Zikula/FileSystem/FileSystem_LocalTest.php

https://github.com/ThiloWitt/core
PHP | 311 lines | 193 code | 51 blank | 67 comment | 0 complexity | 8b7070e574d36927b4264818c5fcff80 MD5 | raw file
  1. <?php
  2. require_once dirname(__FILE__) . '/../../../../bootstrap.php';
  3. // exclude the following file from code coverage reports.
  4. PHP_CodeCoverage_Filter::getInstance()->addFileToBlacklist(dirname(__FILE__). '/../../../../../src/lib/Zikula/FileSystem/Facade/Local.php');
  5. /**
  6. * Zikula_FileSystem_Local test case.
  7. */
  8. class Zikula_FileSystem_LocalTest extends PHPUnit_Framework_TestCase
  9. {
  10. /**
  11. * @var Zikula_FileSystem_Local
  12. */
  13. private $Zikula_FileSystem_Local;
  14. /**
  15. * Prepares the environment before running a test.
  16. */
  17. protected function setUp()
  18. {
  19. parent::setUp();
  20. $config = new Zikula_FileSystem_Configuration_Local();
  21. $this->Zikula_FileSystem_Local = new Zikula_FileSystem_Local($config);
  22. }
  23. /**
  24. * Cleans up the environment after running a test.
  25. */
  26. protected function tearDown()
  27. {
  28. $this->Zikula_FileSystem_Local = null;
  29. parent::tearDown();
  30. }
  31. /**
  32. * Tests Zikula_FileSystem_Local->connect()
  33. */
  34. public function testConnect()
  35. {
  36. // Configure the stub.
  37. $config = new Zikula_FileSystem_Configuration_Local();
  38. $fs = new Zikula_FileSystem_Local($config);
  39. $fs->setDriver($config);
  40. $this->assertEquals(true, $fs->connect());
  41. $config = new Zikula_FileSystem_Configuration_Local('/dir');
  42. $fs = new Zikula_FileSystem_Local($config);
  43. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  44. $stub->expects($this->any())
  45. ->method('chdir')
  46. ->will($this->returnValue(true));
  47. $fs->setDriver($stub);
  48. $this->assertEquals(true, $fs->connect());
  49. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  50. $stub->expects($this->any())
  51. ->method('chdir')
  52. ->will($this->returnValue(false));
  53. $fs->setDriver($stub);
  54. $this->assertEquals(false, $fs->connect());
  55. }
  56. /**
  57. * Tests Zikula_FileSystem_Local->put()
  58. */
  59. public function testPut()
  60. {
  61. // Configure the stub.
  62. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  63. $stub->expects($this->any())
  64. ->method('copy')
  65. ->will($this->returnValue(true));
  66. $this->Zikula_FileSystem_Local->setDriver($stub);
  67. $this->assertEquals(true, $this->Zikula_FileSystem_Local->put(1,2));
  68. // Configure the stub.
  69. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  70. $stub->expects($this->any())
  71. ->method('copy')
  72. ->will($this->returnValue(false));
  73. $this->Zikula_FileSystem_Local->setDriver($stub);
  74. $this->assertEquals(false, $this->Zikula_FileSystem_Local->put(1,2));
  75. }
  76. /**
  77. * Tests Zikula_FileSystem_Local->fput()
  78. */
  79. public function testFput()
  80. {
  81. // Configure the stub.
  82. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  83. $stub->expects($this->any())
  84. ->method('putContents')
  85. ->will($this->returnValue(333));
  86. $this->Zikula_FileSystem_Local->setDriver($stub);
  87. $this->assertEquals(333, $this->Zikula_FileSystem_Local->fput(1,2,3,4));
  88. // Configure the stub.
  89. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  90. $stub->expects($this->any())
  91. ->method('putContents')
  92. ->will($this->returnValue(false));
  93. $this->Zikula_FileSystem_Local->setDriver($stub);
  94. $this->assertEquals(false, $this->Zikula_FileSystem_Local->fput(1,2,3,4));
  95. }
  96. /**
  97. * Tests Zikula_FileSystem_Local->get()
  98. */
  99. public function testGet()
  100. {
  101. // Configure the stub.
  102. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  103. $stub->expects($this->any())
  104. ->method('copy')
  105. ->will($this->returnValue(true));
  106. $this->Zikula_FileSystem_Local->setDriver($stub);
  107. $this->assertEquals(true, $this->Zikula_FileSystem_Local->get(1,2));
  108. // Configure the stub.
  109. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  110. $stub->expects($this->any())
  111. ->method('copy')
  112. ->will($this->returnValue(false));
  113. $this->Zikula_FileSystem_Local->setDriver($stub);
  114. $this->assertEquals(false, $this->Zikula_FileSystem_Local->get(1,2));
  115. }
  116. /**
  117. * Tests Zikula_FileSystem_Local->fget()
  118. */
  119. public function testFget()
  120. {
  121. // Configure the stub.
  122. $handle = fopen('php://temp', 'r+');
  123. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  124. $stub->expects($this->any())
  125. ->method('fileOpen')
  126. ->will($this->returnValue($handle));
  127. $this->Zikula_FileSystem_Local->setDriver($stub);
  128. $this->assertInternalType('resource', $this->Zikula_FileSystem_Local->fget(1,2));
  129. // Configure the stub.
  130. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  131. $stub->expects($this->any())
  132. ->method('fileOpen')
  133. ->will($this->returnValue(false));
  134. $this->Zikula_FileSystem_Local->setDriver($stub);
  135. $this->assertEquals(false, $this->Zikula_FileSystem_Local->fget(1,2));
  136. }
  137. /**
  138. * Tests Zikula_FileSystem_Local->chmod()
  139. */
  140. public function testChmod()
  141. {
  142. $perm = '777';
  143. $perm2 = (int)octdec(str_pad($perm, 4, '0', STR_PAD_LEFT));
  144. // Configure the stub.
  145. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  146. $stub->expects($this->any())
  147. ->method('chmod')
  148. ->will($this->returnValue($perm2));
  149. $this->Zikula_FileSystem_Local->setDriver($stub);
  150. $this->assertEquals($perm, $this->Zikula_FileSystem_Local->chmod(1,2));
  151. // Configure the stub.
  152. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  153. $stub->expects($this->any())
  154. ->method('chmod')
  155. ->will($this->returnValue(false));
  156. $this->Zikula_FileSystem_Local->setDriver($stub);
  157. $this->assertEquals(false, $this->Zikula_FileSystem_Local->chmod(1,2));
  158. }
  159. /**
  160. * Tests Zikula_FileSystem_Local->ls()
  161. */
  162. public function testLs()
  163. {
  164. // Configure the stub.
  165. $array = array('1','2');
  166. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  167. $stub->expects($this->any())
  168. ->method('scandir')
  169. ->will($this->returnValue($array));
  170. $this->Zikula_FileSystem_Local->setDriver($stub);
  171. $this->assertInternalType('array', $this->Zikula_FileSystem_Local->ls(1,2));
  172. // Configure the stub.
  173. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  174. $stub->expects($this->any())
  175. ->method('scandir')
  176. ->will($this->returnValue(false));
  177. $this->Zikula_FileSystem_Local->setDriver($stub);
  178. $this->assertEquals(false, $this->Zikula_FileSystem_Local->ls(1,2));
  179. }
  180. /**
  181. * Tests Zikula_FileSystem_Local->cd()
  182. */
  183. public function testCd()
  184. {
  185. // Configure the stub.
  186. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  187. $stub->expects($this->any())
  188. ->method('chdir')
  189. ->will($this->returnValue(true));
  190. $this->Zikula_FileSystem_Local->setDriver($stub);
  191. $this->assertEquals(true, $this->Zikula_FileSystem_Local->cd(1));
  192. // Configure the stub.
  193. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  194. $stub->expects($this->any())
  195. ->method('chdir')
  196. ->will($this->returnValue(false));
  197. $this->Zikula_FileSystem_Local->setDriver($stub);
  198. $this->assertEquals(false, $this->Zikula_FileSystem_Local->cd(1));
  199. }
  200. /**
  201. * Tests Zikula_FileSystem_Local->mv()
  202. */
  203. public function testMv()
  204. {
  205. // Configure the stub.
  206. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  207. $stub->expects($this->any())
  208. ->method('rename')
  209. ->will($this->returnValue(true));
  210. $this->Zikula_FileSystem_Local->setDriver($stub);
  211. $this->assertEquals(true, $this->Zikula_FileSystem_Local->mv(1,2,3));
  212. // Configure the stub.
  213. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  214. $stub->expects($this->any())
  215. ->method('rename')
  216. ->will($this->returnValue(false));
  217. $this->Zikula_FileSystem_Local->setDriver($stub);
  218. $this->assertEquals(false, $this->Zikula_FileSystem_Local->mv(1,2,3));
  219. }
  220. /**
  221. * Tests Zikula_FileSystem_Local->cp()
  222. */
  223. public function testCp()
  224. {
  225. // Configure the stub.
  226. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  227. $stub->expects($this->any())
  228. ->method('copy')
  229. ->will($this->returnValue(true));
  230. $this->Zikula_FileSystem_Local->setDriver($stub);
  231. $this->assertEquals(true, $this->Zikula_FileSystem_Local->cp(1,2));
  232. // Configure the stub.
  233. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  234. $stub->expects($this->any())
  235. ->method('copy')
  236. ->will($this->returnValue(false));
  237. $this->Zikula_FileSystem_Local->setDriver($stub);
  238. $this->assertEquals(false, $this->Zikula_FileSystem_Local->cp(1,2));
  239. }
  240. /**
  241. * Tests Zikula_FileSystem_Local->rm()
  242. */
  243. public function testRm()
  244. {
  245. // Configure the stub.
  246. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  247. $stub->expects($this->any())
  248. ->method('delete')
  249. ->will($this->returnValue(true));
  250. $this->Zikula_FileSystem_Local->setDriver($stub);
  251. $this->assertEquals(true, $this->Zikula_FileSystem_Local->rm(1,2));
  252. // Configure the stub.
  253. $stub = $this->getMock('Zikula_FileSystem_Facade_Local');
  254. $stub->expects($this->any())
  255. ->method('delete')
  256. ->will($this->returnValue(false));
  257. $this->Zikula_FileSystem_Local->setDriver($stub);
  258. $this->assertEquals(false, $this->Zikula_FileSystem_Local->rm(1,2));
  259. }
  260. }