aboutsummaryrefslogtreecommitdiffstats
path: root/tests/template
diff options
context:
space:
mode:
authorIgor Wiedler <igor@wiedler.ch>2012-04-01 18:22:55 +0200
committerIgor Wiedler <igor@wiedler.ch>2012-04-01 18:22:55 +0200
commit2b3cfa0f7b9690907e5a72f6e94e2dc51afbe96b (patch)
tree547f9b51a93714e1fa8a19b410f10cce220ae21b /tests/template
parent31dbe94f86a6789ad462c0b7043b669de2e929b5 (diff)
parenteaba2ed9ca6025358de0432bb569cfb2e3ca6985 (diff)
downloadforums-2b3cfa0f7b9690907e5a72f6e94e2dc51afbe96b.tar
forums-2b3cfa0f7b9690907e5a72f6e94e2dc51afbe96b.tar.gz
forums-2b3cfa0f7b9690907e5a72f6e94e2dc51afbe96b.tar.bz2
forums-2b3cfa0f7b9690907e5a72f6e94e2dc51afbe96b.tar.xz
forums-2b3cfa0f7b9690907e5a72f6e94e2dc51afbe96b.zip
Merge remote-tracking branch 'cyberalien/ticket/10733' into develop
* cyberalien/ticket/10733: [ticket/10733] Fixing test [ticket/10733] Removing static from data providers [ticket/10733] Adding test for locator [ticket/10733] Adding functions to locate resources [ticket/10733] Extending get_source_file_for_handle
Diffstat (limited to 'tests/template')
-rw-r--r--tests/template/template_inheritance_test.php2
-rw-r--r--tests/template/template_locate_test.php84
-rw-r--r--tests/template/template_test.php4
3 files changed, 87 insertions, 3 deletions
diff --git a/tests/template/template_inheritance_test.php b/tests/template/template_inheritance_test.php
index 7348da9a4a..a76658701a 100644
--- a/tests/template/template_inheritance_test.php
+++ b/tests/template/template_inheritance_test.php
@@ -14,7 +14,7 @@ class phpbb_template_template_inheritance_test extends phpbb_template_template_t
/**
* @todo put test data into templates/xyz.test
*/
- public static function template_data()
+ public function template_data()
{
return array(
// First element of the array is test name - keep them distinct
diff --git a/tests/template/template_locate_test.php b/tests/template/template_locate_test.php
new file mode 100644
index 0000000000..89a4ae6fb1
--- /dev/null
+++ b/tests/template/template_locate_test.php
@@ -0,0 +1,84 @@
+<?php
+/**
+*
+* @package testing
+* @copyright (c) 2011 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+require_once dirname(__FILE__) . '/template_test_case.php';
+
+class phpbb_template_template_locate_test extends phpbb_template_template_test_case
+{
+ public function template_data()
+ {
+ return array(
+ // First element of the array is test name - keep them distinct
+ array(
+ 'simple inheritance - only parent template exists',
+ dirname(__FILE__) . '/parent_templates/parent_only.html',
+ 'parent_only.html',
+ false,
+ true,
+ ),
+ array(
+ 'simple inheritance - only child template exists',
+ dirname(__FILE__) . '/templates/child_only.html',
+ 'child_only.html',
+ false,
+ true,
+ ),
+ array(
+ 'simple inheritance - both parent and child templates exist',
+ dirname(__FILE__) . '/templates/parent_and_child.html',
+ 'parent_and_child.html',
+ false,
+ true,
+ ),
+ array(
+ 'find first template - only child template exists in main style',
+ 'child_only.html',
+ array('parent_only.html', 'child_only.html'),
+ false,
+ false,
+ ),
+ array(
+ 'find first template - both templates exist in main style',
+ 'parent_and_child.html',
+ array('parent_and_child.html', 'child_only.html'),
+ false,
+ false,
+ ),
+ );
+ }
+
+ /**
+ * @dataProvider template_data
+ */
+ public function test_template($name, $expected, $files, $return_default, $return_full_path)
+ {
+ // Reset the engine state
+ $this->setup_engine();
+
+ // Locate template
+ $result = $this->template->locate($files, $return_default, $return_full_path);
+ $this->assertSame($expected, $result);
+ }
+
+ protected function setup_engine(array $new_config = array())
+ {
+ global $phpbb_root_path, $phpEx, $user;
+
+ $defaults = $this->config_defaults();
+ $config = new phpbb_config(array_merge($defaults, $new_config));
+
+ $this->template_path = dirname(__FILE__) . '/templates';
+ $this->parent_template_path = dirname(__FILE__) . '/parent_templates';
+ $this->style_resource_locator = new phpbb_style_resource_locator();
+ $this->style_provider = new phpbb_style_path_provider();
+ $this->template = new phpbb_style_template($phpbb_root_path, $phpEx, $config, $user, $this->style_resource_locator, $this->style_provider);
+ $this->style = new phpbb_style($phpbb_root_path, $phpEx, $config, $user, $this->style_resource_locator, $this->style_provider, $this->template);
+ $this->style->set_custom_style('tests', array($this->template_path, $this->parent_template_path), '');
+ }
+}
diff --git a/tests/template/template_test.php b/tests/template/template_test.php
index edf621e16c..739bbe9387 100644
--- a/tests/template/template_test.php
+++ b/tests/template/template_test.php
@@ -15,7 +15,7 @@ class phpbb_template_template_test extends phpbb_template_template_test_case
/**
* @todo put test data into templates/xyz.test
*/
- public static function template_data()
+ public function template_data()
{
return array(
/*
@@ -394,7 +394,7 @@ class phpbb_template_template_test extends phpbb_template_template_test_case
$this->run_template('php.html', array(), array(), array(), 'test', $cache_file);
}
- public static function alter_block_array_data()
+ public function alter_block_array_data()
{
return array(
array(