PageRenderTime 41ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/units/classes/iterators/filters/recursives/extension.php

http://github.com/mageekguy/atoum
PHP | 55 lines | 49 code | 6 blank | 0 comment | 0 complexity | 0d29e43cb1bb7a4a832006bb44d3f863 MD5 | raw file
  1. <?php
  2. namespace mageekguy\atoum\tests\units\iterators\filters\recursives;
  3. require __DIR__ . '/../../../../runner.php';
  4. use
  5. mageekguy\atoum,
  6. mageekguy\atoum\mock,
  7. mageekguy\atoum\iterators\filters\recursives
  8. ;
  9. class extension extends atoum\test
  10. {
  11. public function testClass()
  12. {
  13. $this->testedClass->extends('\recursiveFilterIterator');
  14. }
  15. public function test__construct()
  16. {
  17. $this
  18. ->mockGenerator->shunt('__construct')
  19. ->if($filter = new recursives\extension($recursiveIterator = new \mock\recursiveDirectoryIterator(uniqid()), $acceptedExtensions = array('php')))
  20. ->then
  21. ->object($filter->getInnerIterator())->isIdenticalTo($recursiveIterator)
  22. ->array($filter->getAcceptedExtensions())->isEqualTo($acceptedExtensions)
  23. ->if($filter = new recursives\extension(__DIR__, $acceptedExtensions))
  24. ->then
  25. ->object($filter->getInnerIterator())->isEqualTo(new \recursiveDirectoryIterator(__DIR__ ))
  26. ->string($filter->getInnerIterator()->getPath())->isEqualTo(__DIR__)
  27. ->if($filter = new recursives\extension($path = uniqid(), $acceptedExtensions, function($path) use (& $innerIterator) { return ($innerIterator = new \mock\recursiveDirectoryIterator($path)); }))
  28. ->then
  29. ->object($filter->getInnerIterator())->isIdenticalTo($innerIterator)
  30. ->mock($filter->getInnerIterator())->call('__construct')->withArguments($path)->once()
  31. ->array($filter->getAcceptedExtensions())->isEqualTo($acceptedExtensions)
  32. ;
  33. }
  34. public function testAccept()
  35. {
  36. $this
  37. ->if($filter = new recursives\extension($innerIterator = new \mock\recursiveIterator(), array('php')))
  38. ->and($innerIterator->getMockController()->current = uniqid() . '.php')
  39. ->then
  40. ->boolean($filter->accept())->isTrue()
  41. ->if($innerIterator->getMockController()->current = uniqid() . DIRECTORY_SEPARATOR . uniqid() . '.php')
  42. ->boolean($filter->accept())->isTrue()
  43. ->if($innerIterator->getMockController()->current = uniqid())
  44. ->boolean($filter->accept())->isTrue()
  45. ->if($innerIterator->getMockController()->current = uniqid() . '.' . uniqid())
  46. ->boolean($filter->accept())->isFalse()
  47. ;
  48. }
  49. }