/tests/units/classes/mock/stream/controller.php

https://github.com/Yacodo/atoum · PHP · 1000 lines · 855 code · 145 blank · 0 comment · 0 complexity · 5e31856242c797659e7ffe3de07fe107 MD5 · raw file

  1. <?php
  2. namespace mageekguy\atoum\tests\units\mock\stream;
  3. use
  4. mageekguy\atoum,
  5. mageekguy\atoum\test,
  6. mageekguy\atoum\mock\stream
  7. ;
  8. require_once __DIR__ . '/../../../runner.php';
  9. class controller extends atoum\test
  10. {
  11. public function testClass()
  12. {
  13. $this->assert
  14. ->testedClass->isSubclassOf('mageekguy\atoum\test\adapter')
  15. ;
  16. }
  17. public function test__construct()
  18. {
  19. $streamController = new stream\controller();
  20. $this->assert
  21. ->variable($streamController->invoke('__construct'))->isNull()
  22. ->variable($streamController->invoke('dir_closedir'))->isNull()
  23. ->variable($streamController->invoke('dir_opendir'))->isNull()
  24. ->variable($streamController->invoke('dir_readdir'))->isNull()
  25. ->variable($streamController->invoke('dir_rewinddir'))->isNull()
  26. ->variable($streamController->invoke('mkdir'))->isNull()
  27. ->variable($streamController->invoke('rename'))->isNull()
  28. ->variable($streamController->invoke('rmdir'))->isNull()
  29. ->variable($streamController->invoke('stream_cast'))->isNull()
  30. ->variable($streamController->invoke('stream_close'))->isNull()
  31. ->variable($streamController->invoke('stream_eof'))->isNull()
  32. ->variable($streamController->invoke('stream_flush'))->isNull()
  33. ->variable($streamController->invoke('stream_lock'))->isNull()
  34. ->variable($streamController->invoke('stream_metadata'))->isNull()
  35. ->variable($streamController->invoke('stream_open'))->isNull()
  36. ->variable($streamController->invoke('stream_read'))->isNull()
  37. ->variable($streamController->invoke('stream_seek'))->isNull()
  38. ->variable($streamController->invoke('stream_set_option'))->isNull()
  39. ->variable($streamController->invoke('stream_stat'))->isNull()
  40. ->variable($streamController->invoke('stream_tell'))->isNull()
  41. ->variable($streamController->invoke('stream_write'))->isNull()
  42. ->variable($streamController->invoke('unlink'))->isNull()
  43. ->variable($streamController->invoke('url_stat'))->isNull()
  44. ;
  45. }
  46. public function test__get()
  47. {
  48. $streamController = new stream\controller();
  49. $this->assert
  50. ->object($streamController->__construct)->isEqualTo(new test\adapter\invoker())
  51. ->object($streamController->dir_closedir)->isEqualTo(new test\adapter\invoker())
  52. ->object($streamController->closedir)->isEqualTo(new test\adapter\invoker())
  53. ->object($streamController->dir_opendir)->isEqualTo(new test\adapter\invoker())
  54. ->object($streamController->opendir)->isEqualTo(new test\adapter\invoker())
  55. ->object($streamController->dir_readdir)->isEqualTo(new test\adapter\invoker())
  56. ->object($streamController->readdir)->isEqualTo(new test\adapter\invoker())
  57. ->object($streamController->dir_rewinddir)->isEqualTo(new test\adapter\invoker())
  58. ->object($streamController->rewinddir)->isEqualTo(new test\adapter\invoker())
  59. ->object($streamController->mkdir)->isEqualTo(new test\adapter\invoker())
  60. ->object($streamController->rename)->isEqualTo(new test\adapter\invoker())
  61. ->object($streamController->rmdir)->isEqualTo(new test\adapter\invoker())
  62. ->object($streamController->stream_cast)->isEqualTo(new test\adapter\invoker())
  63. ->object($streamController->select)->isEqualTo(new test\adapter\invoker())
  64. ->object($streamController->stream_close)->isEqualTo(new test\adapter\invoker())
  65. ->object($streamController->fclose)->isEqualTo(new test\adapter\invoker())
  66. ->object($streamController->stream_eof)->isEqualTo(new test\adapter\invoker())
  67. ->object($streamController->feof)->isEqualTo(new test\adapter\invoker())
  68. ->object($streamController->stream_flush)->isEqualTo(new test\adapter\invoker())
  69. ->object($streamController->fflush)->isEqualTo(new test\adapter\invoker())
  70. ->object($streamController->stream_lock)->isEqualTo(new test\adapter\invoker())
  71. ->object($streamController->flock)->isEqualTo(new test\adapter\invoker())
  72. ->object($streamController->stream_metadata)->isEqualTo(new test\adapter\invoker())
  73. ->object($streamController->touch)->isEqualTo(new test\adapter\invoker())
  74. ->object($streamController->chmod)->isEqualTo(new test\adapter\invoker())
  75. ->object($streamController->chown)->isEqualTo(new test\adapter\invoker())
  76. ->object($streamController->chgrp)->isEqualTo(new test\adapter\invoker())
  77. ->object($streamController->stream_open)->isEqualTo(new test\adapter\invoker())
  78. ->object($streamController->fopen)->isEqualTo(new test\adapter\invoker())
  79. ->object($streamController->stream_read)->isEqualTo(new test\adapter\invoker())
  80. ->object($streamController->fread)->isEqualTo(new test\adapter\invoker())
  81. ->object($streamController->stream_seek)->isEqualTo(new test\adapter\invoker())
  82. ->object($streamController->fseek)->isEqualTo(new test\adapter\invoker())
  83. ->object($streamController->stream_set_option)->isEqualTo(new test\adapter\invoker())
  84. ->object($streamController->stream_stat)->isEqualTo(new test\adapter\invoker())
  85. ->object($streamController->fstat)->isEqualTo(new test\adapter\invoker())
  86. ->object($streamController->stream_tell)->isEqualTo(new test\adapter\invoker())
  87. ->object($streamController->ftell)->isEqualTo(new test\adapter\invoker())
  88. ->object($streamController->stream_write)->isEqualTo(new test\adapter\invoker())
  89. ->object($streamController->fwrite)->isEqualTo(new test\adapter\invoker())
  90. ->object($streamController->unlink)->isEqualTo(new test\adapter\invoker())
  91. ->object($streamController->url_stat)->isEqualTo(new test\adapter\invoker())
  92. ->object($streamController->stat)->isEqualTo(new test\adapter\invoker())
  93. ;
  94. $method = uniqid();
  95. $this->assert
  96. ->exception(function() use ($streamController, $method) {
  97. $streamController->{$method};
  98. }
  99. )
  100. ->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')
  101. ->hasMessage('Method streamWrapper::' . $method . '() does not exist')
  102. ;
  103. }
  104. public function test__set()
  105. {
  106. $streamController = new stream\controller();
  107. $streamController->__construct = $__construct = uniqid();
  108. $this->assert
  109. ->string($streamController->invoke('__construct'))->isEqualTo($__construct)
  110. ;
  111. $streamController->dir_closedir = $dir_closedir = uniqid();
  112. $this->assert
  113. ->string($streamController->invoke('dir_closedir'))->isEqualTo($dir_closedir)
  114. ;
  115. $streamController->closedir = $closedir = uniqid();
  116. $this->assert
  117. ->string($streamController->invoke('closedir'))->isEqualTo($closedir)
  118. ;
  119. $streamController->dir_opendir = $dir_opendir = uniqid();
  120. $this->assert
  121. ->string($streamController->invoke('dir_opendir'))->isEqualTo($dir_opendir)
  122. ;
  123. $streamController->opendir = $opendir = uniqid();
  124. $this->assert
  125. ->string($streamController->invoke('opendir'))->isEqualTo($opendir)
  126. ;
  127. $streamController->dir_readdir = $dir_readdir = uniqid();
  128. $this->assert
  129. ->string($streamController->invoke('dir_readdir'))->isEqualTo($dir_readdir)
  130. ;
  131. $streamController->readdir = $readdir = uniqid();
  132. $this->assert
  133. ->string($streamController->invoke('readdir'))->isEqualTo($readdir)
  134. ;
  135. $streamController->dir_rewinddir = $dir_rewinddir = uniqid();
  136. $this->assert
  137. ->string($streamController->invoke('dir_rewinddir'))->isEqualTo($dir_rewinddir)
  138. ;
  139. $streamController->rewinddir = $rewinddir = uniqid();
  140. $this->assert
  141. ->string($streamController->invoke('rewinddir'))->isEqualTo($rewinddir)
  142. ;
  143. $streamController->mkdir = $mkdir = uniqid();
  144. $this->assert
  145. ->string($streamController->invoke('mkdir'))->isEqualTo($mkdir)
  146. ;
  147. $streamController->rename = $rename = uniqid();
  148. $this->assert
  149. ->string($streamController->invoke('rename'))->isEqualTo($rename)
  150. ;
  151. $streamController->rmdir = $rmdir = uniqid();
  152. $this->assert
  153. ->string($streamController->invoke('rmdir'))->isEqualTo($rmdir)
  154. ;
  155. $streamController->stream_cast = $stream_cast = uniqid();
  156. $this->assert
  157. ->string($streamController->invoke('stream_cast'))->isEqualTo($stream_cast)
  158. ;
  159. $streamController->select = $select = uniqid();
  160. $this->assert
  161. ->string($streamController->invoke('select'))->isEqualTo($select)
  162. ;
  163. $streamController->stream_close = $stream_close = uniqid();
  164. $this->assert
  165. ->string($streamController->invoke('stream_close'))->isEqualTo($stream_close)
  166. ;
  167. $streamController->fclose = $fclose = uniqid();
  168. $this->assert
  169. ->string($streamController->invoke('fclose'))->isEqualTo($fclose)
  170. ;
  171. $streamController->stream_eof = $stream_eof = uniqid();
  172. $this->assert
  173. ->string($streamController->invoke('stream_eof'))->isEqualTo($stream_eof)
  174. ;
  175. $streamController->feof = $feof = uniqid();
  176. $this->assert
  177. ->string($streamController->invoke('feof'))->isEqualTo($feof)
  178. ;
  179. $streamController->stream_flush = $stream_flush = uniqid();
  180. $this->assert
  181. ->string($streamController->invoke('stream_flush'))->isEqualTo($stream_flush)
  182. ;
  183. $streamController->fflush = $fflush = uniqid();
  184. $this->assert
  185. ->string($streamController->invoke('fflush'))->isEqualTo($fflush)
  186. ;
  187. $streamController->stream_lock = $stream_lock = uniqid();
  188. $this->assert
  189. ->string($streamController->invoke('stream_lock'))->isEqualTo($stream_lock)
  190. ;
  191. $streamController->flock = $flock = uniqid();
  192. $this->assert
  193. ->string($streamController->invoke('flock'))->isEqualTo($flock)
  194. ;
  195. $streamController->stream_metadata = $stream_metadata = uniqid();
  196. $this->assert
  197. ->string($streamController->invoke('stream_metadata'))->isEqualTo($stream_metadata)
  198. ;
  199. $streamController->touch = $touch = uniqid();
  200. $this->assert
  201. ->string($streamController->invoke('touch'))->isEqualTo($touch)
  202. ;
  203. $streamController->chmod = $chmod = uniqid();
  204. $this->assert
  205. ->string($streamController->invoke('chmod'))->isEqualTo($chmod)
  206. ;
  207. $streamController->chown = $chown = uniqid();
  208. $this->assert
  209. ->string($streamController->invoke('chown'))->isEqualTo($chown)
  210. ;
  211. $streamController->chgrp = $chgrp = uniqid();
  212. $this->assert
  213. ->string($streamController->invoke('chgrp'))->isEqualTo($chgrp)
  214. ;
  215. $streamController->stream_open = $stream_open = uniqid();
  216. $this->assert
  217. ->string($streamController->invoke('stream_open'))->isEqualTo($stream_open)
  218. ;
  219. $streamController->fopen = $fopen = uniqid();
  220. $this->assert
  221. ->string($streamController->invoke('fopen'))->isEqualTo($fopen)
  222. ;
  223. $streamController->stream_read = $stream_read = uniqid();
  224. $this->assert
  225. ->string($streamController->invoke('stream_read'))->isEqualTo($stream_read)
  226. ;
  227. $streamController->fread = $fread = uniqid();
  228. $this->assert
  229. ->string($streamController->invoke('fread'))->isEqualTo($fread)
  230. ;
  231. $streamController->stream_seek = $stream_seek = uniqid();
  232. $this->assert
  233. ->string($streamController->invoke('stream_seek'))->isEqualTo($stream_seek)
  234. ;
  235. $streamController->fseek = $fseek = uniqid();
  236. $this->assert
  237. ->string($streamController->invoke('fseek'))->isEqualTo($fseek)
  238. ;
  239. $streamController->stream_set_option = $stream_set_option = uniqid();
  240. $this->assert
  241. ->string($streamController->invoke('stream_set_option'))->isEqualTo($stream_set_option)
  242. ;
  243. $streamController->stream_stat = $stream_stat = uniqid();
  244. $this->assert
  245. ->string($streamController->invoke('stream_stat'))->isEqualTo($stream_stat)
  246. ;
  247. $streamController->fstat = $fstat = uniqid();
  248. $this->assert
  249. ->string($streamController->invoke('fstat'))->isEqualTo($fstat)
  250. ;
  251. $streamController->stream_tell = $stream_tell = uniqid();
  252. $this->assert
  253. ->string($streamController->invoke('stream_tell'))->isEqualTo($stream_tell)
  254. ;
  255. $streamController->ftell = $ftell = uniqid();
  256. $this->assert
  257. ->string($streamController->invoke('ftell'))->isEqualTo($ftell)
  258. ;
  259. $streamController->stream_write = $stream_write = uniqid();
  260. $this->assert
  261. ->string($streamController->invoke('stream_write'))->isEqualTo($stream_write)
  262. ;
  263. $streamController->fwrite = $fwrite = uniqid();
  264. $this->assert
  265. ->string($streamController->invoke('fwrite'))->isEqualTo($fwrite)
  266. ;
  267. $streamController->unlink = $unlink = uniqid();
  268. $this->assert
  269. ->string($streamController->invoke('unlink'))->isEqualTo($unlink)
  270. ;
  271. $streamController->url_stat = $url_stat = uniqid();
  272. $this->assert
  273. ->string($streamController->invoke('url_stat'))->isEqualTo($url_stat)
  274. ;
  275. $streamController->stat = $stat = uniqid();
  276. $this->assert
  277. ->string($streamController->invoke('stat'))->isEqualTo($stat)
  278. ;
  279. $streamController->resetCalls()->file_get_contents = $contents = uniqid();
  280. $this->assert
  281. ->boolean($streamController->invoke('fopen'))->isTrue()
  282. ->string($streamController->invoke('fread'))->isEqualTo($contents)
  283. ->string($streamController->invoke('fread'))->isEmpty()
  284. ->boolean($streamController->invoke('fclose'))->isTrue()
  285. ;
  286. $streamController->resetCalls()->file_put_contents = true;
  287. $this->assert
  288. ->boolean($streamController->invoke('fopen'))->isTrue()
  289. ->boolean($streamController->invoke('fwrite'))->isTrue()
  290. ->boolean($streamController->invoke('fclose'))->isTrue()
  291. ;
  292. $streamController->resetCalls()->file_put_contents = false;
  293. $this->assert
  294. ->boolean($streamController->invoke('fopen'))->isTrue()
  295. ->boolean($streamController->invoke('fwrite'))->isFalse()
  296. ->boolean($streamController->invoke('fclose'))->isTrue()
  297. ;
  298. $method = uniqid();
  299. $this->assert
  300. ->exception(function() use ($streamController, $method) {
  301. $streamController->{$method} = uniqid();
  302. }
  303. )
  304. ->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')
  305. ->hasMessage('Method streamWrapper::' . $method . '() does not exist')
  306. ;
  307. }
  308. public function test__isset()
  309. {
  310. $streamController = new stream\controller();
  311. $this->assert
  312. ->boolean(isset($streamController->__construct))->isFalse()
  313. ->boolean(isset($streamController->dir_closedir))->isFalse()
  314. ->boolean(isset($streamController->closedir))->isFalse()
  315. ->boolean(isset($streamController->dir_opendir))->isFalse()
  316. ->boolean(isset($streamController->opendir))->isFalse()
  317. ->boolean(isset($streamController->dir_readdir))->isFalse()
  318. ->boolean(isset($streamController->readdir))->isFalse()
  319. ->boolean(isset($streamController->dir_rewinddir))->isFalse()
  320. ->boolean(isset($streamController->rewinddir))->isFalse()
  321. ->boolean(isset($streamController->mkdir))->isFalse()
  322. ->boolean(isset($streamController->rename))->isFalse()
  323. ->boolean(isset($streamController->rmdir))->isFalse()
  324. ->boolean(isset($streamController->stream_cast))->isFalse()
  325. ->boolean(isset($streamController->select))->isFalse()
  326. ->boolean(isset($streamController->stream_close))->isFalse()
  327. ->boolean(isset($streamController->fclose))->isFalse()
  328. ->boolean(isset($streamController->stream_eof))->isFalse()
  329. ->boolean(isset($streamController->feof))->isFalse()
  330. ->boolean(isset($streamController->stream_flush))->isFalse()
  331. ->boolean(isset($streamController->fflush))->isFalse()
  332. ->boolean(isset($streamController->stream_lock))->isFalse()
  333. ->boolean(isset($streamController->flock))->isFalse()
  334. ->boolean(isset($streamController->stream_metadata))->isFalse()
  335. ->boolean(isset($streamController->touch))->isFalse()
  336. ->boolean(isset($streamController->chmod))->isFalse()
  337. ->boolean(isset($streamController->chown))->isFalse()
  338. ->boolean(isset($streamController->chgrp))->isFalse()
  339. ->boolean(isset($streamController->stream_open))->isFalse()
  340. ->boolean(isset($streamController->fopen))->isFalse()
  341. ->boolean(isset($streamController->stream_read))->isFalse()
  342. ->boolean(isset($streamController->fread))->isFalse()
  343. ->boolean(isset($streamController->stream_seek))->isFalse()
  344. ->boolean(isset($streamController->fseek))->isFalse()
  345. ->boolean(isset($streamController->stream_set_option))->isFalse()
  346. ->boolean(isset($streamController->stream_stat))->isFalse()
  347. ->boolean(isset($streamController->fstat))->isFalse()
  348. ->boolean(isset($streamController->stream_tell))->isFalse()
  349. ->boolean(isset($streamController->ftell))->isFalse()
  350. ->boolean(isset($streamController->stream_write))->isFalse()
  351. ->boolean(isset($streamController->fwrite))->isFalse()
  352. ->boolean(isset($streamController->unlink))->isFalse()
  353. ->boolean(isset($streamController->url_stat))->isFalse()
  354. ->boolean(isset($streamController->stat))->isFalse()
  355. ;
  356. $streamController->__construct = uniqid();
  357. $streamController->dir_closedir = uniqid();
  358. $streamController->closedir = uniqid();
  359. $streamController->dir_opendir = uniqid();
  360. $streamController->opendir = uniqid();
  361. $streamController->dir_readdir = uniqid();
  362. $streamController->readdir = uniqid();
  363. $streamController->dir_rewinddir = uniqid();
  364. $streamController->rewinddir = uniqid();
  365. $streamController->mkdir = uniqid();
  366. $streamController->rename = uniqid();
  367. $streamController->rmdir = uniqid();
  368. $streamController->stream_cast = uniqid();
  369. $streamController->select = uniqid();
  370. $streamController->stream_close = uniqid();
  371. $streamController->fclose = uniqid();
  372. $streamController->stream_eof = uniqid();
  373. $streamController->feof = uniqid();
  374. $streamController->stream_flush = uniqid();
  375. $streamController->fflush = uniqid();
  376. $streamController->stream_lock = uniqid();
  377. $streamController->flock = uniqid();
  378. $streamController->stream_metadata = uniqid();
  379. $streamController->touch = uniqid();
  380. $streamController->chown = uniqid();
  381. $streamController->chmod = uniqid();
  382. $streamController->chgrp = uniqid();
  383. $streamController->stream_open = uniqid();
  384. $streamController->fopen = uniqid();
  385. $streamController->stream_read = uniqid();
  386. $streamController->fread = uniqid();
  387. $streamController->stream_seek = uniqid();
  388. $streamController->fseek = uniqid();
  389. $streamController->stream_set_option = uniqid();
  390. $streamController->stream_stat = uniqid();
  391. $streamController->fstat = uniqid();
  392. $streamController->stream_tell = uniqid();
  393. $streamController->ftell = uniqid();
  394. $streamController->stream_write = uniqid();
  395. $streamController->fwrite = uniqid();
  396. $streamController->unlink = uniqid();
  397. $streamController->url_stat = uniqid();
  398. $streamController->stat = uniqid();
  399. $this->assert
  400. ->boolean(isset($streamController->__construct))->isTrue()
  401. ->boolean(isset($streamController->dir_closedir))->isTrue()
  402. ->boolean(isset($streamController->closedir))->isTrue()
  403. ->boolean(isset($streamController->dir_opendir))->isTrue()
  404. ->boolean(isset($streamController->opendir))->isTrue()
  405. ->boolean(isset($streamController->dir_readdir))->isTrue()
  406. ->boolean(isset($streamController->readdir))->isTrue()
  407. ->boolean(isset($streamController->dir_rewinddir))->isTrue()
  408. ->boolean(isset($streamController->rewinddir))->isTrue()
  409. ->boolean(isset($streamController->mkdir))->isTrue()
  410. ->boolean(isset($streamController->rename))->isTrue()
  411. ->boolean(isset($streamController->rmdir))->isTrue()
  412. ->boolean(isset($streamController->stream_cast))->isTrue()
  413. ->boolean(isset($streamController->select))->isTrue()
  414. ->boolean(isset($streamController->stream_close))->isTrue()
  415. ->boolean(isset($streamController->fclose))->isTrue()
  416. ->boolean(isset($streamController->stream_eof))->isTrue()
  417. ->boolean(isset($streamController->feof))->isTrue()
  418. ->boolean(isset($streamController->stream_flush))->isTrue()
  419. ->boolean(isset($streamController->fflush))->isTrue()
  420. ->boolean(isset($streamController->stream_lock))->isTrue()
  421. ->boolean(isset($streamController->flock))->isTrue()
  422. ->boolean(isset($streamController->stream_metadata))->isTrue()
  423. ->boolean(isset($streamController->touch))->isTrue()
  424. ->boolean(isset($streamController->chmod))->isTrue()
  425. ->boolean(isset($streamController->chown))->isTrue()
  426. ->boolean(isset($streamController->chgrp))->isTrue()
  427. ->boolean(isset($streamController->stream_open))->isTrue()
  428. ->boolean(isset($streamController->fopen))->isTrue()
  429. ->boolean(isset($streamController->stream_read))->isTrue()
  430. ->boolean(isset($streamController->fread))->isTrue()
  431. ->boolean(isset($streamController->stream_seek))->isTrue()
  432. ->boolean(isset($streamController->fseek))->isTrue()
  433. ->boolean(isset($streamController->stream_set_option))->isTrue()
  434. ->boolean(isset($streamController->stream_stat))->isTrue()
  435. ->boolean(isset($streamController->fstat))->isTrue()
  436. ->boolean(isset($streamController->stream_tell))->isTrue()
  437. ->boolean(isset($streamController->ftell))->isTrue()
  438. ->boolean(isset($streamController->stream_write))->isTrue()
  439. ->boolean(isset($streamController->fwrite))->isTrue()
  440. ->boolean(isset($streamController->unlink))->isTrue()
  441. ->boolean(isset($streamController->url_stat))->isTrue()
  442. ->boolean(isset($streamController->stat))->isTrue()
  443. ;
  444. $method = uniqid();
  445. $this->assert
  446. ->exception(function() use ($streamController, $method) {
  447. isset($streamController->{$method});
  448. }
  449. )
  450. ->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')
  451. ->hasMessage('Method streamWrapper::' . $method . '() does not exist')
  452. ;
  453. }
  454. public function test__unset()
  455. {
  456. $streamController = new stream\controller();
  457. $this->assert
  458. ->boolean(isset($streamController->__construct))->isFalse()
  459. ->when(function() use ($streamController) { unset($streamController->__construct); })
  460. ->boolean(isset($streamController->__construct))->isFalse()
  461. ->boolean(isset($streamController->dir_closedir))->isFalse()
  462. ->when(function() use ($streamController) { unset($streamController->dir_closedir); })
  463. ->boolean(isset($streamController->dir_closedir))->isFalse()
  464. ->boolean(isset($streamController->closedir))->isFalse()
  465. ->when(function() use ($streamController) { unset($streamController->closedir); })
  466. ->boolean(isset($streamController->closedir))->isFalse()
  467. ->boolean(isset($streamController->dir_opendir))->isFalse()
  468. ->when(function() use ($streamController) { unset($streamController->dir_opendir); })
  469. ->boolean(isset($streamController->dir_opendir))->isFalse()
  470. ->boolean(isset($streamController->opendir))->isFalse()
  471. ->when(function() use ($streamController) { unset($streamController->opendir); })
  472. ->boolean(isset($streamController->opendir))->isFalse()
  473. ->boolean(isset($streamController->dir_readdir))->isFalse()
  474. ->when(function() use ($streamController) { unset($streamController->dir_readdir); })
  475. ->boolean(isset($streamController->dir_readdir))->isFalse()
  476. ->boolean(isset($streamController->readdir))->isFalse()
  477. ->when(function() use ($streamController) { unset($streamController->readdir); })
  478. ->boolean(isset($streamController->readdir))->isFalse()
  479. ->boolean(isset($streamController->dir_rewinddir))->isFalse()
  480. ->when(function() use ($streamController) { unset($streamController->dir_rewinddir); })
  481. ->boolean(isset($streamController->dir_rewinddir))->isFalse()
  482. ->boolean(isset($streamController->rewinddir))->isFalse()
  483. ->when(function() use ($streamController) { unset($streamController->rewinddir); })
  484. ->boolean(isset($streamController->rewinddir))->isFalse()
  485. ->boolean(isset($streamController->mkdir))->isFalse()
  486. ->when(function() use ($streamController) { unset($streamController->mkdir); })
  487. ->boolean(isset($streamController->mkdir))->isFalse()
  488. ->boolean(isset($streamController->rename))->isFalse()
  489. ->when(function() use ($streamController) { unset($streamController->rename); })
  490. ->boolean(isset($streamController->rename))->isFalse()
  491. ->boolean(isset($streamController->rmdir))->isFalse()
  492. ->when(function() use ($streamController) { unset($streamController->rmdir); })
  493. ->boolean(isset($streamController->rmdir))->isFalse()
  494. ->boolean(isset($streamController->stream_cast))->isFalse()
  495. ->when(function() use ($streamController) { unset($streamController->stream_cast); })
  496. ->boolean(isset($streamController->stream_cast))->isFalse()
  497. ->boolean(isset($streamController->select))->isFalse()
  498. ->when(function() use ($streamController) { unset($streamController->select); })
  499. ->boolean(isset($streamController->select))->isFalse()
  500. ->boolean(isset($streamController->stream_close))->isFalse()
  501. ->when(function() use ($streamController) { unset($streamController->stream_close); })
  502. ->boolean(isset($streamController->stream_close))->isFalse()
  503. ->boolean(isset($streamController->fclose))->isFalse()
  504. ->when(function() use ($streamController) { unset($streamController->fclose); })
  505. ->boolean(isset($streamController->fclose))->isFalse()
  506. ->boolean(isset($streamController->stream_eof))->isFalse()
  507. ->when(function() use ($streamController) { unset($streamController->stream_eof); })
  508. ->boolean(isset($streamController->stream_eof))->isFalse()
  509. ->boolean(isset($streamController->feof))->isFalse()
  510. ->when(function() use ($streamController) { unset($streamController->feof); })
  511. ->boolean(isset($streamController->feof))->isFalse()
  512. ->boolean(isset($streamController->stream_flush))->isFalse()
  513. ->when(function() use ($streamController) { unset($streamController->stream_flush); })
  514. ->boolean(isset($streamController->stream_flush))->isFalse()
  515. ->boolean(isset($streamController->fflush))->isFalse()
  516. ->when(function() use ($streamController) { unset($streamController->fflush); })
  517. ->boolean(isset($streamController->fflush))->isFalse()
  518. ->boolean(isset($streamController->stream_lock))->isFalse()
  519. ->when(function() use ($streamController) { unset($streamController->stream_lock); })
  520. ->boolean(isset($streamController->stream_lock))->isFalse()
  521. ->boolean(isset($streamController->flock))->isFalse()
  522. ->when(function() use ($streamController) { unset($streamController->flock); })
  523. ->boolean(isset($streamController->flock))->isFalse()
  524. ->boolean(isset($streamController->stream_metadata))->isFalse()
  525. ->when(function() use ($streamController) { unset($streamController->stream_metadata); })
  526. ->boolean(isset($streamController->stream_metadata))->isFalse()
  527. ->boolean(isset($streamController->touch))->isFalse()
  528. ->when(function() use ($streamController) { unset($streamController->touch); })
  529. ->boolean(isset($streamController->touch))->isFalse()
  530. ->boolean(isset($streamController->chmod))->isFalse()
  531. ->when(function() use ($streamController) { unset($streamController->chmod); })
  532. ->boolean(isset($streamController->chmod))->isFalse()
  533. ->boolean(isset($streamController->chown))->isFalse()
  534. ->when(function() use ($streamController) { unset($streamController->chown); })
  535. ->boolean(isset($streamController->chown))->isFalse()
  536. ->boolean(isset($streamController->chgrp))->isFalse()
  537. ->when(function() use ($streamController) { unset($streamController->chgrp); })
  538. ->boolean(isset($streamController->chgrp))->isFalse()
  539. ->boolean(isset($streamController->stream_open))->isFalse()
  540. ->when(function() use ($streamController) { unset($streamController->stream_open); })
  541. ->boolean(isset($streamController->stream_open))->isFalse()
  542. ->boolean(isset($streamController->fopen))->isFalse()
  543. ->when(function() use ($streamController) { unset($streamController->fopen); })
  544. ->boolean(isset($streamController->fopen))->isFalse()
  545. ->boolean(isset($streamController->stream_read))->isFalse()
  546. ->when(function() use ($streamController) { unset($streamController->stream_read); })
  547. ->boolean(isset($streamController->stream_read))->isFalse()
  548. ->boolean(isset($streamController->fread))->isFalse()
  549. ->when(function() use ($streamController) { unset($streamController->fread); })
  550. ->boolean(isset($streamController->fread))->isFalse()
  551. ->boolean(isset($streamController->stream_seek))->isFalse()
  552. ->when(function() use ($streamController) { unset($streamController->stream_seek); })
  553. ->boolean(isset($streamController->stream_seek))->isFalse()
  554. ->boolean(isset($streamController->fseek))->isFalse()
  555. ->when(function() use ($streamController) { unset($streamController->fseek); })
  556. ->boolean(isset($streamController->fseek))->isFalse()
  557. ->boolean(isset($streamController->stream_set_option))->isFalse()
  558. ->when(function() use ($streamController) { unset($streamController->stream_set_option); })
  559. ->boolean(isset($streamController->stream_set_option))->isFalse()
  560. ->boolean(isset($streamController->stream_stat))->isFalse()
  561. ->when(function() use ($streamController) { unset($streamController->stream_stat); })
  562. ->boolean(isset($streamController->stream_stat))->isFalse()
  563. ->boolean(isset($streamController->fstat))->isFalse()
  564. ->when(function() use ($streamController) { unset($streamController->fstat); })
  565. ->boolean(isset($streamController->fstat))->isFalse()
  566. ->boolean(isset($streamController->stream_tell))->isFalse()
  567. ->when(function() use ($streamController) { unset($streamController->stream_tell); })
  568. ->boolean(isset($streamController->stream_tell))->isFalse()
  569. ->boolean(isset($streamController->ftell))->isFalse()
  570. ->when(function() use ($streamController) { unset($streamController->ftell); })
  571. ->boolean(isset($streamController->ftell))->isFalse()
  572. ->boolean(isset($streamController->stream_write))->isFalse()
  573. ->when(function() use ($streamController) { unset($streamController->stream_write); })
  574. ->boolean(isset($streamController->stream_write))->isFalse()
  575. ->boolean(isset($streamController->fwrite))->isFalse()
  576. ->when(function() use ($streamController) { unset($streamController->fwrite); })
  577. ->boolean(isset($streamController->fwrite))->isFalse()
  578. ->boolean(isset($streamController->unlink))->isFalse()
  579. ->when(function() use ($streamController) { unset($streamController->unlink); })
  580. ->boolean(isset($streamController->unlink))->isFalse()
  581. ->boolean(isset($streamController->url_stat))->isFalse()
  582. ->when(function() use ($streamController) { unset($streamController->url_stat); })
  583. ->boolean(isset($streamController->url_stat))->isFalse()
  584. ->boolean(isset($streamController->stat))->isFalse()
  585. ->when(function() use ($streamController) { unset($streamController->stat); })
  586. ->boolean(isset($streamController->stat))->isFalse()
  587. ;
  588. $streamController->__construct = uniqid();
  589. $streamController->dir_closedir = uniqid();
  590. $streamController->closedir = uniqid();
  591. $streamController->dir_opendir = uniqid();
  592. $streamController->opendir = uniqid();
  593. $streamController->dir_readdir = uniqid();
  594. $streamController->readdir = uniqid();
  595. $streamController->dir_rewinddir = uniqid();
  596. $streamController->rewinddir = uniqid();
  597. $streamController->mkdir = uniqid();
  598. $streamController->rename = uniqid();
  599. $streamController->rmdir = uniqid();
  600. $streamController->stream_cast = uniqid();
  601. $streamController->select = uniqid();
  602. $streamController->stream_close = uniqid();
  603. $streamController->fclose = uniqid();
  604. $streamController->stream_eof = uniqid();
  605. $streamController->feof = uniqid();
  606. $streamController->stream_flush = uniqid();
  607. $streamController->fflush = uniqid();
  608. $streamController->stream_lock = uniqid();
  609. $streamController->flock = uniqid();
  610. $streamController->stream_metadata = uniqid();
  611. $streamController->touch = uniqid();
  612. $streamController->chown = uniqid();
  613. $streamController->chmod = uniqid();
  614. $streamController->chgrp = uniqid();
  615. $streamController->stream_open = uniqid();
  616. $streamController->fopen = uniqid();
  617. $streamController->stream_read = uniqid();
  618. $streamController->fread = uniqid();
  619. $streamController->stream_seek = uniqid();
  620. $streamController->fseek = uniqid();
  621. $streamController->stream_set_option = uniqid();
  622. $streamController->stream_stat = uniqid();
  623. $streamController->fstat = uniqid();
  624. $streamController->stream_tell = uniqid();
  625. $streamController->ftell = uniqid();
  626. $streamController->stream_write = uniqid();
  627. $streamController->fwrite = uniqid();
  628. $streamController->unlink = uniqid();
  629. $streamController->url_stat = uniqid();
  630. $streamController->stat = uniqid();
  631. $this->assert
  632. ->boolean(isset($streamController->__construct))->isTrue()
  633. ->when(function() use ($streamController) { unset($streamController->__construct); })
  634. ->boolean(isset($streamController->__construct))->isFalse()
  635. ;
  636. $this->assert
  637. ->boolean(isset($streamController->dir_closedir))->isTrue()
  638. ->boolean(isset($streamController->closedir))->isTrue()
  639. ->when(function() use ($streamController) { unset($streamController->dir_closedir); })
  640. ->boolean(isset($streamController->dir_closedir))->isFalse()
  641. ->boolean(isset($streamController->closedir))->isFalse()
  642. ;
  643. $this->assert
  644. ->boolean(isset($streamController->dir_opendir))->isTrue()
  645. ->boolean(isset($streamController->opendir))->isTrue()
  646. ->when(function() use ($streamController) { unset($streamController->dir_opendir); })
  647. ->boolean(isset($streamController->dir_opendir))->isFalse()
  648. ->boolean(isset($streamController->opendir))->isFalse()
  649. ;
  650. $this->assert
  651. ->boolean(isset($streamController->dir_readdir))->isTrue()
  652. ->boolean(isset($streamController->readdir))->isTrue()
  653. ->when(function() use ($streamController) { unset($streamController->dir_readdir); })
  654. ->boolean(isset($streamController->dir_readdir))->isFalse()
  655. ->boolean(isset($streamController->readdir))->isFalse()
  656. ;
  657. $this->assert
  658. ->boolean(isset($streamController->dir_rewinddir))->isTrue()
  659. ->boolean(isset($streamController->rewinddir))->isTrue()
  660. ->when(function() use ($streamController) { unset($streamController->dir_rewinddir); })
  661. ->boolean(isset($streamController->dir_rewinddir))->isFalse()
  662. ->boolean(isset($streamController->rewinddir))->isFalse()
  663. ;
  664. $this->assert
  665. ->boolean(isset($streamController->mkdir))->isTrue()
  666. ->when(function() use ($streamController) { unset($streamController->mkdir); })
  667. ->boolean(isset($streamController->mkdir))->isFalse()
  668. ;
  669. $this->assert
  670. ->boolean(isset($streamController->rename))->isTrue()
  671. ->when(function() use ($streamController) { unset($streamController->rename); })
  672. ->boolean(isset($streamController->rename))->isFalse()
  673. ;
  674. $this->assert
  675. ->boolean(isset($streamController->rmdir))->isTrue()
  676. ->when(function() use ($streamController) { unset($streamController->rmdir); })
  677. ->boolean(isset($streamController->rmdir))->isFalse()
  678. ;
  679. $this->assert
  680. ->boolean(isset($streamController->stream_cast))->isTrue()
  681. ->boolean(isset($streamController->select))->isTrue()
  682. ->when(function() use ($streamController) { unset($streamController->stream_cast); })
  683. ->boolean(isset($streamController->stream_cast))->isFalse()
  684. ->boolean(isset($streamController->select))->isFalse()
  685. ;
  686. $this->assert
  687. ->boolean(isset($streamController->stream_close))->isTrue()
  688. ->boolean(isset($streamController->fclose))->isTrue()
  689. ->when(function() use ($streamController) { unset($streamController->stream_close); })
  690. ->boolean(isset($streamController->stream_close))->isFalse()
  691. ->boolean(isset($streamController->fclose))->isFalse()
  692. ;
  693. $this->assert
  694. ->boolean(isset($streamController->stream_eof))->isTrue()
  695. ->boolean(isset($streamController->feof))->isTrue()
  696. ->when(function() use ($streamController) { unset($streamController->stream_eof); })
  697. ->boolean(isset($streamController->stream_eof))->isFalse()
  698. ->boolean(isset($streamController->feof))->isFalse()
  699. ;
  700. $this->assert
  701. ->boolean(isset($streamController->stream_flush))->isTrue()
  702. ->boolean(isset($streamController->fflush))->isTrue()
  703. ->when(function() use ($streamController) { unset($streamController->stream_flush); })
  704. ->boolean(isset($streamController->stream_flush))->isFalse()
  705. ->boolean(isset($streamController->fflush))->isFalse()
  706. ;
  707. $this->assert
  708. ->boolean(isset($streamController->stream_lock))->isTrue()
  709. ->boolean(isset($streamController->flock))->isTrue()
  710. ->when(function() use ($streamController) { unset($streamController->stream_lock); })
  711. ->boolean(isset($streamController->stream_lock))->isFalse()
  712. ->boolean(isset($streamController->flock))->isFalse()
  713. ;
  714. $this->assert
  715. ->boolean(isset($streamController->stream_metadata))->isTrue()
  716. ->boolean(isset($streamController->touch))->isTrue()
  717. ->boolean(isset($streamController->chmod))->isTrue()
  718. ->boolean(isset($streamController->chown))->isTrue()
  719. ->boolean(isset($streamController->chgrp))->isTrue()
  720. ->when(function() use ($streamController) { unset($streamController->stream_metadata); })
  721. ->boolean(isset($streamController->stream_metadata))->isFalse()
  722. ->boolean(isset($streamController->touch))->isFalse()
  723. ->boolean(isset($streamController->chmod))->isFalse()
  724. ->boolean(isset($streamController->chown))->isFalse()
  725. ->boolean(isset($streamController->chgrp))->isFalse()
  726. ;
  727. $this->assert
  728. ->boolean(isset($streamController->stream_open))->isTrue()
  729. ->boolean(isset($streamController->fopen))->isTrue()
  730. ->when(function() use ($streamController) { unset($streamController->stream_open); })
  731. ->boolean(isset($streamController->stream_open))->isFalse()
  732. ->boolean(isset($streamController->fopen))->isFalse()
  733. ;
  734. $this->assert
  735. ->boolean(isset($streamController->stream_read))->isTrue()
  736. ->boolean(isset($streamController->fread))->isTrue()
  737. ->when(function() use ($streamController) { unset($streamController->stream_read); })
  738. ->boolean(isset($streamController->stream_read))->isFalse()
  739. ->boolean(isset($streamController->fread))->isFalse()
  740. ;
  741. $this->assert
  742. ->boolean(isset($streamController->stream_seek))->isTrue()
  743. ->boolean(isset($streamController->fseek))->isTrue()
  744. ->when(function() use ($streamController) { unset($streamController->stream_seek); })
  745. ->boolean(isset($streamController->stream_seek))->isFalse()
  746. ->boolean(isset($streamController->fseek))->isFalse()
  747. ;
  748. $this->assert
  749. ->boolean(isset($streamController->stream_set_option))->isTrue()
  750. ->when(function() use ($streamController) { unset($streamController->stream_set_option); })
  751. ->boolean(isset($streamController->stream_set_option))->isFalse()
  752. ;
  753. $this->assert
  754. ->boolean(isset($streamController->stream_stat))->isTrue()
  755. ->boolean(isset($streamController->fstat))->isTrue()
  756. ->when(function() use ($streamController) { unset($streamController->stream_stat); })
  757. ->boolean(isset($streamController->stream_stat))->isFalse()
  758. ->boolean(isset($streamController->fstat))->isFalse()
  759. ;
  760. $this->assert
  761. ->boolean(isset($streamController->stream_tell))->isTrue()
  762. ->boolean(isset($streamController->ftell))->isTrue()
  763. ->when(function() use ($streamController) { unset($streamController->stream_tell); })
  764. ->boolean(isset($streamController->stream_tell))->isFalse()
  765. ->boolean(isset($streamController->ftell))->isFalse()
  766. ;
  767. $this->assert
  768. ->boolean(isset($streamController->stream_write))->isTrue()
  769. ->boolean(isset($streamController->fwrite))->isTrue()
  770. ->when(function() use ($streamController) { unset($streamController->stream_write); })
  771. ->boolean(isset($streamController->stream_write))->isFalse()
  772. ->boolean(isset($streamController->fwrite))->isFalse()
  773. ;
  774. $this->assert
  775. ->boolean(isset($streamController->unlink))->isTrue()
  776. ->when(function() use ($streamController) { unset($streamController->unlink); })
  777. ->boolean(isset($streamController->unlink))->isFalse()
  778. ;
  779. $this->assert
  780. ->boolean(isset($streamController->url_stat))->isTrue()
  781. ->boolean(isset($streamController->stat))->isTrue()
  782. ->when(function() use ($streamController) { unset($streamController->url_stat); })
  783. ->boolean(isset($streamController->url_stat))->isFalse()
  784. ->boolean(isset($streamController->stat))->isFalse()
  785. ;
  786. $method = uniqid();
  787. $this->assert
  788. ->exception(function() use ($streamController, $method) {
  789. unset($streamController->{$method});
  790. }
  791. )
  792. ->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')
  793. ->hasMessage('Method streamWrapper::' . $method . '() does not exist')
  794. ;
  795. }
  796. public function testInvoke()
  797. {
  798. $streamController = new stream\controller();
  799. $this->assert
  800. ->variable($streamController->invoke('__construct'))->isNull()
  801. ->variable($streamController->invoke('dir_closedir'))->isNull()
  802. ->variable($streamController->invoke('closedir'))->isNull()
  803. ->variable($streamController->invoke('dir_opendir'))->isNull()
  804. ->variable($streamController->invoke('opendir'))->isNull()
  805. ->variable($streamController->invoke('dir_readdir'))->isNull()
  806. ->variable($streamController->invoke('readdir'))->isNull()
  807. ->variable($streamController->invoke('dir_rewinddir'))->isNull()
  808. ->variable($streamController->invoke('rewinddir'))->isNull()
  809. ->variable($streamController->invoke('mkdir'))->isNull()
  810. ->variable($streamController->invoke('rename'))->isNull()
  811. ->variable($streamController->invoke('rmdir'))->isNull()
  812. ->variable($streamController->invoke('stream_cast'))->isNull()
  813. ->variable($streamController->invoke('select'))->isNull()
  814. ->variable($streamController->invoke('stream_close'))->isNull()
  815. ->variable($streamController->invoke('fclose'))->isNull()
  816. ->variable($streamController->invoke('stream_eof'))->isNull()
  817. ->variable($streamController->invoke('feof'))->isNull()
  818. ->variable($streamController->invoke('stream_flush'))->isNull()
  819. ->variable($streamController->invoke('fflush'))->isNull()
  820. ->variable($streamController->invoke('stream_lock'))->isNull()
  821. ->variable($streamController->invoke('flock'))->isNull()
  822. ->variable($streamController->invoke('stream_metadata'))->isNull()
  823. ->variable($streamController->invoke('touch'))->isNull()
  824. ->variable($streamController->invoke('chown'))->isNull()
  825. ->variable($streamController->invoke('chmod'))->isNull()
  826. ->variable($streamController->invoke('chgrp'))->isNull()
  827. ->variable($streamController->invoke('stream_open'))->isNull()
  828. ->variable($streamController->invoke('fopen'))->isNull()
  829. ->variable($streamController->invoke('stream_read'))->isNull()
  830. ->variable($streamController->invoke('fread'))->isNull()
  831. ->variable($streamController->invoke('stream_seek'))->isNull()
  832. ->variable($streamController->invoke('fseek'))->isNull()
  833. ->variable($streamController->invoke('stream_set_option'))->isNull()
  834. ->variable($streamController->invoke('stream_stat'))->isNull()
  835. ->variable($streamController->invoke('fstat'))->isNull()
  836. ->variable($streamController->invoke('stream_tell'))->isNull()
  837. ->variable($streamController->invoke('ftell'))->isNull()
  838. ->variable($streamController->invoke('stream_write'))->isNull()
  839. ->variable($streamController->invoke('fwrite'))->isNull()
  840. ->variable($streamController->invoke('unlink'))->isNull()
  841. ->variable($streamController->invoke('url_stat'))->isNull()
  842. ->variable($streamController->invoke('stat'))->isNull()
  843. ;
  844. $method = uniqid();
  845. $this->assert
  846. ->exception(function() use ($streamController, $method) {
  847. $streamController->invoke($method);
  848. }
  849. )
  850. ->isInstanceOf('mageekguy\atoum\exceptions\logic\invalidArgument')
  851. ->hasMessage('Method streamWrapper::' . $method . '() does not exist')
  852. ;
  853. }
  854. }
  855. ?>