public function testTemplateLocating()
{
$file = new File(array('paths' => array('template' => '{:library}/views/{:controller}/{:template}.{:type}.php')));
$template = $file->template('template', array('controller' => 'pages', 'template' => 'home', 'type' => 'html'));
$this->assertPattern('/template_views_pages_home\\.html_[0-9]+/', $template);
$file = new File(array('compile' => false, 'paths' => array('template' => '{:library}/views/{:controller}/{:template}.{:type}.php')));
$template = $file->template('template', array('controller' => 'pages', 'template' => 'home', 'type' => 'html'));
$this->assertPattern('/\\/views\\/pages\\/home\\.html\\.php$/', $template);
$template = $file->template('invalid', array('template' => 'foo'));
$this->assertNull($template);
$this->expectException('/Template not found/');
$file->template('template', array('controller' => 'pages', 'template' => 'foo', 'type' => 'html'));
}