Ejemplo n.º 1
0
 /**
  * @testdox Filters work
  * @dataProvider getData
  */
 public function testFilters($filter, $original, $expected, $logs = [], $setup = null)
 {
     $this->configurator->tags->add('FOO')->attributes->add('foo')->filterChain->append($filter);
     if (isset($setup)) {
         $setup($this->configurator);
     }
     $config = $this->configurator->asConfig();
     ConfigHelper::filterVariants($config);
     $logger = new Logger();
     $parser = new ReflectionClass('s9e\\TextFormatter\\Parser');
     $method = $parser->getMethod('executeFilter');
     $method->setAccessible(true);
     $actual = $method->invoke(null, $config['tags']['FOO']['attributes']['foo']['filterChain'][0], ['attrName' => 'foo', 'attrValue' => $original, 'logger' => $logger, 'registeredVars' => $config['registeredVars']]);
     $this->assertSame($expected, $actual);
     if ($logs instanceof Closure) {
         $logs = $logs();
     }
     $this->assertSame($logs, $logger->get(), "Logs don't match");
 }
Ejemplo n.º 2
0
 /**
  * @testdox clear() empties the logs
  */
 public function testClear()
 {
     $logger = new Logger();
     $logger->debug('Hello');
     $logger->clear();
     $logger->debug('Hi');
     $this->assertSame([['debug', 'Hi', []]], $logger->get());
 }