}
foreach ($this->loaders as $loader) {
- if ($loader instanceof Twig_ExistsLoaderInterface && $loader->exists($name)) {
- return $this->hasSourceCache[$name] = true;
+ if ($loader instanceof Twig_ExistsLoaderInterface) {
+ if ($loader->exists($name)) {
+ return $this->hasSourceCache[$name] = true;
+ }
+
+ continue;
}
try {
$this->assertEquals('bar', $loader->getSource('foo'));
}
+
+ public function testExists()
+ {
+ $loader1 = $this->getMock('Twig_Loader_Array', array('exists', 'getSource'), array(), '', false);
+ $loader1->expects($this->once())->method('exists')->will($this->returnValue(false));
+ $loader1->expects($this->never())->method('getSource');
+
+ $loader2 = $this->getMock('Twig_LoaderInterface');
+ $loader2->expects($this->once())->method('getSource')->will($this->returnValue('content'));
+
+ $loader = new Twig_Loader_Chain();
+ $loader->addLoader($loader1);
+ $loader->addLoader($loader2);
+
+ $this->assertTrue($loader->exists('foo'));
+ }
}