public function testFilterGetInput()
 {
     $mockFactory = m::mock('Illuminate\\Validation\\Factory');
     $mockFactory->shouldReceive('make')->andReturn(new MockLaravelValidator());
     $factory = new Factory($this->request, $mockFactory, $router = new Router());
     $factory->add('login', 'ValidatorStub', 'some response');
     call_user_func($router->getFilter('validator.login'));
     $this->assertSame($factory->input('login'), array('email' => '*****@*****.**', 'password' => 'secret'));
 }
Example #2
0
 /**
  * Call a given filter with the parameters.
  *
  * @param  string  $name
  * @param  \Symfony\Component\HttpFoundation\Request  $request
  * @param  array   $params
  * @return mixed
  */
 public function callFilter($name, Request $request, array $params = array())
 {
     if (!$this->router->filtersEnabled()) {
         return;
     }
     $merge = array($this->router->getCurrentRoute(), $request);
     $params = array_merge($merge, $params);
     // Next we will parse the filter name to extract out any parameters and adding
     // any parameters specified in a filter name to the end of the lists of our
     // parameters, since the ones at the beginning are typically very static.
     list($name, $params) = $this->parseFilter($name, $params);
     if (!is_null($callable = $this->router->getFilter($name))) {
         return call_user_func_array($callable, $params);
     }
 }