protected function _SetUpPaths()
{
- $this->fixture->set_template_path(dirname(__FILE__) . '/');
- $this->fixture->set_cache_path($this->fixture->template_path() . 'cache/');
+ $this->fixture->set_template_path(dirname(__FILE__) . '/%s.tpl');
+ $this->fixture->set_cache_path(dirname(__FILE__) . '/cache/');
}
public function testTemplatePath()
$actual = file_get_contents($this->fixture->cache_path() . '/cache_test.phpi');
$this->assertEquals($expected, $actual);
}
+
+ public function testSingleton()
+ {
+ $fixture = views\TemplateLoader::GetInstance();
+ $this->assertNotSame($fixture, $this->fixture);
+
+ views\TemplateLoader::SetInstance($this->fixture);
+ $this->assertSame(views\TemplateLoader::GetInstance(), $this->fixture);
+
+ $this->_SetUpPaths();
+ $template = views\TemplateLoader::Fetch('cache_test');
+ $this->assertEquals('This file should be cached.', $template->template());
+ }
}
$class = get_called_class();
self::$instance = new $class();
}
- return self::$instance();
+ return self::$instance;
}
/*! Sets the singleton instance. */
static public function SetInstance($instance) { self::$instance = $instance; }
return clone $template;
}
+ /*! Convenience function for loading templates. */
+ static public function Fetch($name)
+ {
+ return self::GetInstance()->Load($name);
+ }
+
/*!
Loads a cached filesystem template if it is up-to-date.
$data = @file_get_contents($tpl_path);
if ($data === FALSE)
- throw new TemplateLoaderException('Could not load template ' . $this->template_name);
+ throw new TemplateLoaderException('Could not load template ' . $name);
$template = Template::NewWithData($data);