/** * @testdox executeFilter() passes NULL to the callback if a variable is missing */ public function testExecuteFilterMissingVar() { $filter = new ProgrammableCallback(function () { return func_get_args(); }); $filter->addParameterByValue('foo'); $filter->addParameterByName('foo'); $filter->addParameterByValue(42); $this->assertSame(['foo', null, 42], FilterProcessingDummy::__executeFilter($filter->asConfig(), ['logger' => new Logger()])); }
/** * @testdox asConfig() replaces values that implement ConfigProvider with their config value */ public function testAsConfigProvider() { $pc = new ProgrammableCallback(function () { }); $pc->setVars(['x' => new DummyConfigProvider()]); $pc->addParameterByName('x'); $pc->addParameterByValue(new DummyConfigProvider()); $config = $pc->asConfig(); $this->assertSame('foo', $config['params'][0]); $this->assertSame('foo', $config['params'][1]); }