public function getFormatter($formatter)
{
if (isset($this->formatters[$formatter])) {
return $this->formatters[$formatter];
}
foreach ($this->providers as $provider) {
if (method_exists($provider, $formatter)) {
$this->formatters[$formatter] = array($provider, $formatter);
return $this->formatters[$formatter];
}
}
throw new \InvalidArgumentException(sprintf('Unknown formatter "%s"', $formatter));
}
/** * @expectedException InvalidArgumentException */ public function testGetFormatterThrowsExceptionOnIncorrectFormatter() { $generator = new Generator(); $provider = new FooProvider(); $generator->addProvider($provider); $generator->getFormatter('barFormatter'); }