public function testAllowsComplexFilters() { $that = $this; $param = new Parameter(array()); $param->setFilters(array(array('method' => function ($a, $b, $c, $d) use($that, $param) { $that->assertEquals('test', $a); $that->assertEquals('my_value!', $b); $that->assertEquals('bar', $c); $that->assertSame($param, $d); return 'abc' . $b; }, 'args' => array('test', '@value', 'bar', '@api')))); $this->assertEquals('abcmy_value!', $param->filter('my_value!')); }