예제 #1
0
 public function testRunCustomHandler()
 {
     Filter::registerHandler('test_filter_handler2', 'testFilterHandler');
     $this->assertTrue(Filter::hasCustomHandler('test_filter_handler2'));
     Filter::register('test_filter_handler2', 'test_filter_handler2');
     global $customStuff;
     $this->assertTrue(isset($customStuff['test_filter_handler2']));
 }
예제 #2
0
 public function __construct()
 {
     Filter::register('test-all-before', function () {
         $_SERVER['test-all-before'] = true;
     });
     Filter::register('test-all-after', function () {
         $_SERVER['test-all-after'] = true;
     });
     Filter::register('test-profile-before', function () {
         $_SERVER['test-profile-before'] = true;
     });
     Filter::register('test-except', function () {
         $_SERVER['test-except'] = true;
     });
     Filter::register('test-on-post', function () {
         $_SERVER['test-on-post'] = true;
     });
     Filter::register('test-on-get-put', function () {
         $_SERVER['test-on-get-put'] = true;
     });
     Filter::register('test-before-filter', function () {
         return 'Filtered!';
     });
     Filter::register('test-param', function ($var1, $var2) {
         return $var1 . $var2;
     });
     Filter::register('test-multi-1', function () {
         $_SERVER['test-multi-1'] = true;
     });
     Filter::register('test-multi-2', function () {
         $_SERVER['test-multi-2'] = true;
     });
     $this->filter('before', 'test-all-before');
     $this->filter('after', 'test-all-after');
     $this->filter('before', 'test-profile-before')->only(array('profile'));
     $this->filter('before', 'test-except')->except(array('index', 'profile'));
     $this->filter('before', 'test-on-post')->on(array('post'));
     $this->filter('before', 'test-on-get-put')->on(array('get', 'put'));
     $this->filter('before', 'test-before-filter')->only('login');
     $this->filter('after', 'test-before-filter')->only('logout');
     $this->filter('before', 'test-param:1,2')->only('edit');
     $this->filter('before', 'test-multi-1|test-multi-2')->only('save');
 }
예제 #3
0
 /**
  * Test that multiple filters can be assigned to a route.
  *
  * @group laravel
  */
 public function testMultipleFiltersCanBeAssignedToARoute()
 {
     $_SERVER['test-multi-1'] = false;
     $_SERVER['test-multi-2'] = false;
     Filter::register('test-multi-1', function () {
         $_SERVER['test-multi-1'] = true;
     });
     Filter::register('test-multi-2', function () {
         $_SERVER['test-multi-2'] = true;
     });
     $route = new Route('GET', '', array('before' => 'test-multi-1|test-multi-2'));
     $route->call();
     $this->assertTrue($_SERVER['test-multi-1']);
     $this->assertTrue($_SERVER['test-multi-2']);
 }
예제 #4
0
| First, define a filter:
|
|		Filter::register('filter', function()
|		{
|			return 'Filtered!';
|		});
|
| Next, attach the filter to a route:
|
|		Router::register('GET /', array('before' => 'filter', function()
|		{
|			return 'Hello World!';
|		}));
|
*/
Filter::register('before', function () {
    $_SERVER['before'] = true;
});
Filter::register('after', function () {
    $_SERVER['after'] = true;
});
Filter::register('csrf', function () {
    if (Request::forged()) {
        return Response::error('500');
    }
});
Filter::register('auth', function () {
    if (Auth::guest()) {
        return Redirect::to('login');
    }
});