diff options
author | Oleg Pudeyev <oleg@bsdpower.com> | 2011-05-18 10:47:03 -0400 |
---|---|---|
committer | Oleg Pudeyev <oleg@bsdpower.com> | 2011-05-18 10:51:33 -0400 |
commit | f24d858cff9d98674cdfe2cb44e1f8fe5afb4563 (patch) | |
tree | 1e3d442c257b49de5b40999028660d91c286aaf3 /tests/template/template_inheritance_test.php | |
parent | 20b4df2853c46b2ddf61a21911f1255d0a22af73 (diff) | |
download | forums-f24d858cff9d98674cdfe2cb44e1f8fe5afb4563.tar forums-f24d858cff9d98674cdfe2cb44e1f8fe5afb4563.tar.gz forums-f24d858cff9d98674cdfe2cb44e1f8fe5afb4563.tar.bz2 forums-f24d858cff9d98674cdfe2cb44e1f8fe5afb4563.tar.xz forums-f24d858cff9d98674cdfe2cb44e1f8fe5afb4563.zip |
[feature/template-engine] Added tests for template inheritance.
PHPBB3-9726
Diffstat (limited to 'tests/template/template_inheritance_test.php')
-rw-r--r-- | tests/template/template_inheritance_test.php | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/tests/template/template_inheritance_test.php b/tests/template/template_inheritance_test.php new file mode 100644 index 0000000000..ed78cc7ee5 --- /dev/null +++ b/tests/template/template_inheritance_test.php @@ -0,0 +1,74 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2011 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +require_once dirname(__FILE__) . '/template_test_case.php'; + +class phpbb_template_template_inheritance_test extends phpbb_template_template_test_case +{ + /** + * @todo put test data into templates/xyz.test + */ + public static function template_data() + { + return array( + // First element of the array is test name - keep them distinct + array( + 'simple inheritance - only parent template exists', + 'parent_only.html', + array(), + array(), + array(), + "Only in parent.", + ), + array( + 'simple inheritance - only child template exists', + 'child_only.html', + array(), + array(), + array(), + "Only in child.", + ), + array( + 'simple inheritance - both parent and child templates exist', + 'parent_and_child.html', + array(), + array(), + array(), + "Child template.", + ), + ); + } + + /** + * @dataProvider template_data + */ + public function test_template($name, $file, array $vars, array $block_vars, array $destroy, $expected) + { + $cache_file = $this->template->cachepath . str_replace('/', '.', $file) . '.php'; + + $this->assertFileNotExists($cache_file); + + $this->run_template($file, $vars, $block_vars, $destroy, $expected, $cache_file); + + // Reset the engine state + $this->setup_engine(); + + $this->run_template($file, $vars, $block_vars, $destroy, $expected, $cache_file); + } + + protected function setup_engine() + { + global $phpbb_root_path, $phpEx, $config, $user; + + $this->template_path = dirname(__FILE__) . '/templates'; + $this->parent_template_path = dirname(__FILE__) . '/parent_templates'; + $this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user); + $this->template->set_custom_template($this->template_path, 'tests', $this->parent_template_path); + } +} |