diff options
| author | Igor Wiedler <igor@wiedler.ch> | 2012-04-01 18:22:55 +0200 |
|---|---|---|
| committer | Igor Wiedler <igor@wiedler.ch> | 2012-04-01 18:22:55 +0200 |
| commit | 2b3cfa0f7b9690907e5a72f6e94e2dc51afbe96b (patch) | |
| tree | 547f9b51a93714e1fa8a19b410f10cce220ae21b /tests/template | |
| parent | 31dbe94f86a6789ad462c0b7043b669de2e929b5 (diff) | |
| parent | eaba2ed9ca6025358de0432bb569cfb2e3ca6985 (diff) | |
| download | forums-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.php | 2 | ||||
| -rw-r--r-- | tests/template/template_locate_test.php | 84 | ||||
| -rw-r--r-- | tests/template/template_test.php | 4 |
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( |
