[feature/template-events] Specify style names, add inheritance tests.

PHPBB3-9550
This commit is contained in:
Oleg Pudeyev 2012-11-08 20:38:01 -05:00
parent 21a244543d
commit 5f88bbbef3

View file

@ -16,17 +16,19 @@ class phpbb_template_template_events_test extends phpbb_template_template_test_c
return array(
/*
array(
'', // File
'', // Dataset
'', // file
'', // dataset
array(), // style names
array(), // vars
array(), // block vars
array(), // destroy
'', // Expected result
'', // expected result
),
*/
array(
'Simple template event',
'ext_trivial',
array(),
'event_simple.html',
array(),
array(),
@ -36,29 +38,57 @@ class phpbb_template_template_events_test extends phpbb_template_template_test_c
array(
'Universal template event ("all" style)',
'ext_trivial',
array(),
'event_universal.html',
array(),
array(),
array(),
"Universal in trivial extension.",
),
array(
'Template event with inheritance - parent',
'event_inheritance',
array('silver'),
'event_test.html',
array(),
array(),
array(),
'Kappa test event in all
Omega test event in all
Zeta test event in all
Kappa test event in silver
Omega test event in silver',
),
array(
'Template event with inheritance - child',
'event_inheritance',
array('silver_inherit', 'silver'),
'event_test.html',
array(),
array(),
array(),
'Kappa test event in all
Omega test event in all
Zeta test event in all
Kappa test event in silver_inherit',
),
);
}
/**
* @dataProvider template_data
*/
public function test_event($desc, $dataset, $file, array $vars, array $block_vars, array $destroy, $expected)
public function test_event($desc, $dataset, $style_names, $file, array $vars, array $block_vars, array $destroy, $expected)
{
// Reset the engine state
$this->setup_engine_with_dataset($dataset);
$this->setup_engine_for_events($dataset, $style_names);
// Run test
$cache_file = $this->template->cachepath . str_replace('/', '.', $file) . '.php';
$this->run_template($file, $vars, $block_vars, $destroy, $expected, $cache_file);
}
protected function setup_engine_with_dataset($dataset, array $new_config = array())
protected function setup_engine_for_events($dataset, $style_names, array $new_config = array())
{
global $phpbb_root_path, $phpEx, $user;
@ -73,6 +103,6 @@ class phpbb_template_template_events_test extends phpbb_template_template_test_c
$this->template = new phpbb_template($phpbb_root_path, $phpEx, $config, $user, $this->style_resource_locator, new phpbb_template_context, $this->extension_manager);
$this->style_provider = new phpbb_style_path_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('silver', array($this->template_path), array(), '');
$this->style->set_custom_style('silver', array($this->template_path), $style_names, '');
}
}