/**
  * @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() preserves NULL values and empty arrays in the callback's parameters
  */
 public function testAsConfigPreserve()
 {
     $pc = new ProgrammableCallback(function () {
     });
     $pc->addParameterByValue(null);
     $pc->addParameterByValue([]);
     $config = $pc->asConfig();
     $this->assertSame([null, []], $config['params']);
 }