RouteFilterTest.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. class RouteFilerTest extends PHPUnit_Framework_TestCase {
  3. public static function setUpBeforeClass()
  4. {
  5. $filters = array(
  6. 'test' => function() {return 'test';},
  7. 'vars' => function($var) {return $var;},
  8. 'vars2' => function($var1, $var2) {return $var1.$var2;},
  9. );
  10. System\Route\Filter::$filters = $filters;
  11. }
  12. /**
  13. * @expectedException Exception
  14. */
  15. public function testCallingUndefinedFilterThrowsException()
  16. {
  17. System\Route\Filter::call('not-found');
  18. }
  19. public function testCallingFilterWithoutOverrideReturnsNull()
  20. {
  21. $this->assertNull(System\Route\Filter::call('test'));
  22. }
  23. public function testCallingFilterWithOverrideReturnsResult()
  24. {
  25. $this->assertEquals(System\Route\Filter::call('test', array(), true), 'test');
  26. }
  27. public function testCallingFilterWithParametersPassesParametersToFilter()
  28. {
  29. $this->assertEquals(System\Route\Filter::call('vars', array('test'), true), 'test');
  30. $this->assertEquals(System\Route\Filter::call('vars2', array('test1', 'test2'), true), 'test1test2');
  31. }
  32. public static function tearDownAfterClass()
  33. {
  34. System\Route\Filter::$filters = require APP_PATH.'filters'.EXT;
  35. }
  36. }