Merge pull request #1887 from nickvergessen/ticket/skouat/10910

[ticket/10910] Function build_cfg_template() allow $size for $tpl_type = select
This commit is contained in:
Nathan Guse 2013-12-04 09:48:10 -08:00
commit e399a52816
2 changed files with 53 additions and 1 deletions

View file

@ -363,7 +363,9 @@ function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
if ($tpl_type[0] == 'select')
{
$tpl = '<select id="' . $key . '" name="' . $name . '">' . $return . '</select>';
$size = (isset($tpl_type[1])) ? (int) $tpl_type[1] : 1;
$tpl = '<select id="' . $key . '" name="' . $name . '"' . (($size > 1) ? ' size="' . $size . '"' : '') . '>' . $return . '</select>';
}
else
{

View file

@ -234,4 +234,54 @@ class phpbb_functions_acp_build_cfg_template_test extends phpbb_test_case
$this->assertEquals($expected, build_cfg_template($tpl_type, $key, $new, $config_key, $vars));
}
public function build_cfg_template_select_data()
{
return array(
array(
array('select'),
'key_name',
array('config_key_name' => '0'),
'config_key_name',
array('method' => 'select_helper'),
'<select id="key_name" name="config[config_key_name]"><option value="1">First_Option</option><option value="2" selected="selected">Second_Option</option><option value="3">Third_Option</option></select>',
),
array(
array('select', 8),
'key_name',
array('config_key_name' => '1'),
'config_key_name',
array('method' => 'select_helper'),
'<select id="key_name" name="config[config_key_name]" size="8"><option value="1">First_Option</option><option value="2" selected="selected">Second_Option</option><option value="3">Third_Option</option></select>',
),
);
}
/**
* @dataProvider build_cfg_template_select_data
*/
public function test_build_cfg_template_select($tpl_type, $key, $new, $config_key, $vars, $expected)
{
global $module, $user, $phpbb_dispatcher;
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
$user = new phpbb_mock_user();
$user->lang = new phpbb_mock_lang();
$user->module = $this;
$module = $user;
$this->assertEquals($expected, build_cfg_template($tpl_type, $key, $new, $config_key, $vars));
}
public function select_helper()
{
return build_select(
array(
'1' => 'First_Option',
'2' => 'Second_Option',
'3' => 'Third_Option',
),
'2'
);
}
}