diff -r 000000000000 -r 7f95f8617b0b vendor/symfony/src/Symfony/Bundle/TwigBundle/Tests/Loader/FilesystemLoaderTest.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/symfony/src/Symfony/Bundle/TwigBundle/Tests/Loader/FilesystemLoaderTest.php Sat Sep 24 15:40:41 2011 +0200 @@ -0,0 +1,74 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bundle\TwigBundle\Tests\Loader; + +use Symfony\Bundle\TwigBundle\Tests\TestCase; +use Symfony\Bundle\TwigBundle\Loader\FilesystemLoader; +use Symfony\Component\Config\FileLocatorInterface; +use Symfony\Bundle\FrameworkBundle\Templating\TemplateReference; +use Symfony\Component\Templating\TemplateNameParserInterface; +use InvalidArgumentException; + +class FilesystemLoaderTest extends TestCase +{ + /** @var FileLocatorInterface */ + private $locator; + /** @var TemplateNameParserInterface */ + private $parser; + /** @var FilesystemLoader */ + private $loader; + + protected function setUp() + { + parent::setUp(); + + $this->locator = $this->getMock('Symfony\Component\Config\FileLocatorInterface'); + $this->parser = $this->getMock('Symfony\Component\Templating\TemplateNameParserInterface'); + $this->loader = new FilesystemLoader($this->locator, $this->parser); + + $this->parser->expects($this->once()) + ->method('parse') + ->with('name.format.engine') + ->will($this->returnValue(new TemplateReference('', '', 'name', 'format', 'engine'))) + ; + } + + protected function tearDown() + { + parent::tearDown(); + + $this->locator = null; + $this->parser = null; + $this->loader = null; + } + + public function testTwigErrorIfLocatorThrowsInvalid() + { + $this->setExpectedException('Twig_Error_Loader'); + $invalidException = new InvalidArgumentException('Unable to find template "NonExistent".'); + $this->locator->expects($this->once()) + ->method('locate') + ->will($this->throwException($invalidException)); + + $this->loader->getCacheKey('name.format.engine'); + } + + public function testTwigErrorIfLocatorReturnsFalse() + { + $this->setExpectedException('Twig_Error_Loader'); + $this->locator->expects($this->once()) + ->method('locate') + ->will($this->returnValue(false)); + + $this->loader->getCacheKey('name.format.engine'); + } +}