2010-09-16 01:09:56 +02:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
*
|
2014-05-27 20:18:06 +02:00
|
|
|
* This file is part of the phpBB Forum Software package.
|
|
|
|
*
|
|
|
|
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
|
|
|
* @license GNU General Public License, version 2 (GPL-2.0)
|
|
|
|
*
|
|
|
|
* For full copyright and license information, please see
|
|
|
|
* the docs/CREDITS.txt file.
|
2010-09-16 01:09:56 +02:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2011-02-01 14:54:29 +01:00
|
|
|
require_once dirname(__FILE__) . '/../../phpBB/includes/functions_acp.php';
|
2010-09-16 01:09:56 +02:00
|
|
|
|
|
|
|
class phpbb_functions_acp_build_cfg_template_test extends phpbb_test_case
|
|
|
|
{
|
|
|
|
public function build_cfg_template_text_data()
|
|
|
|
{
|
|
|
|
return array(
|
|
|
|
array(
|
|
|
|
array('text', 20, 255),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => '1'),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
|
|
|
'<input id="key_name" type="text" size="20" maxlength="255" name="config[config_key_name]" value="1" />',
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
array('password', 20, 128),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => '2'),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
2011-06-09 13:41:13 +02:00
|
|
|
'<input id="key_name" type="password" size="20" maxlength="128" name="config[config_key_name]" value="2" autocomplete="off" />',
|
2010-09-16 01:09:56 +02:00
|
|
|
),
|
|
|
|
array(
|
|
|
|
array('text', 0, 255),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => '3'),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
|
|
|
'<input id="key_name" type="text" maxlength="255" name="config[config_key_name]" value="3" />',
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider build_cfg_template_text_data
|
|
|
|
*/
|
|
|
|
public function test_build_cfg_template_text($tpl_type, $key, $new, $config_key, $vars, $expected)
|
|
|
|
{
|
2012-08-11 15:25:14 +02:00
|
|
|
global $user, $phpbb_dispatcher;
|
2010-09-16 01:09:56 +02:00
|
|
|
|
2012-08-11 15:25:14 +02:00
|
|
|
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
2013-01-07 06:49:21 -05:00
|
|
|
$user = new phpbb_mock_user();
|
2011-02-01 14:09:52 +01:00
|
|
|
$user->lang = new phpbb_mock_lang();
|
2010-09-16 01:09:56 +02:00
|
|
|
|
|
|
|
$this->assertEquals($expected, build_cfg_template($tpl_type, $key, $new, $config_key, $vars));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function build_cfg_template_dimension_data()
|
|
|
|
{
|
|
|
|
return array(
|
|
|
|
array(
|
2013-01-07 06:56:48 -05:00
|
|
|
array('dimension', 5, 15),
|
2012-10-29 07:52:25 -04:00
|
|
|
'number_key_name',
|
2010-09-16 01:09:56 +02:00
|
|
|
array('config_key_name_width' => 10, 'config_key_name_height' => 20),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
2013-05-12 15:01:43 +02:00
|
|
|
'<input id="number_key_name" type="number" size="2" maxlength="2" min="5" max="15" name="config[config_key_name_width]" value="10" /> x <input type="number" size="2" maxlength="2" min="5" max="15" name="config[config_key_name_height]" value="20" />',
|
2010-09-16 01:09:56 +02:00
|
|
|
),
|
|
|
|
array(
|
2012-10-29 07:52:25 -04:00
|
|
|
array('dimension', 0, 15),
|
|
|
|
'number_key_name',
|
2010-09-16 01:09:56 +02:00
|
|
|
array('config_key_name_width' => 10, 'config_key_name_height' => 20),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
2013-05-12 15:01:43 +02:00
|
|
|
'<input id="number_key_name" type="number" size="2" maxlength="2" min="0" max="15" name="config[config_key_name_width]" value="10" /> x <input type="number" size="2" maxlength="2" min="0" max="15" name="config[config_key_name_height]" value="20" />',
|
2010-09-16 01:09:56 +02:00
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider build_cfg_template_dimension_data
|
|
|
|
*/
|
|
|
|
public function test_build_cfg_template_dimension($tpl_type, $key, $new, $config_key, $vars, $expected)
|
|
|
|
{
|
2012-08-11 15:25:14 +02:00
|
|
|
global $user, $phpbb_dispatcher;
|
2010-09-16 01:09:56 +02:00
|
|
|
|
2012-08-11 15:25:14 +02:00
|
|
|
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
2013-01-07 06:49:21 -05:00
|
|
|
$user = new phpbb_mock_user();
|
2011-02-01 14:09:52 +01:00
|
|
|
$user->lang = new phpbb_mock_lang();
|
2010-09-16 01:09:56 +02:00
|
|
|
|
|
|
|
$this->assertEquals($expected, build_cfg_template($tpl_type, $key, $new, $config_key, $vars));
|
|
|
|
}
|
|
|
|
|
2013-02-06 23:02:53 +01:00
|
|
|
public function build_cfg_template_number_data()
|
|
|
|
{
|
|
|
|
return array(
|
|
|
|
array(
|
|
|
|
array('number', 5, 15),
|
|
|
|
'number_key_name',
|
|
|
|
array('config_key_name' => 10),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
|
|
|
'<input id="number_key_name" type="number" maxlength="2" min="5" max="15" name="config[config_key_name]" value="10" />',
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
array('number', -1, 9999),
|
|
|
|
'number_key_name',
|
|
|
|
array('config_key_name' => 10),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
|
|
|
'<input id="number_key_name" type="number" maxlength="4" min="-1" max="9999" name="config[config_key_name]" value="10" />',
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider build_cfg_template_number_data
|
|
|
|
*/
|
|
|
|
public function test_build_cfg_template_number($tpl_type, $key, $new, $config_key, $vars, $expected)
|
|
|
|
{
|
|
|
|
global $user, $phpbb_dispatcher;
|
|
|
|
|
|
|
|
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
|
|
|
$user = new phpbb_mock_user();
|
|
|
|
$user->lang = new phpbb_mock_lang();
|
|
|
|
|
|
|
|
$this->assertEquals($expected, build_cfg_template($tpl_type, $key, $new, $config_key, $vars));
|
|
|
|
}
|
|
|
|
|
2010-09-16 01:09:56 +02:00
|
|
|
public function build_cfg_template_textarea_data()
|
|
|
|
{
|
|
|
|
return array(
|
|
|
|
array(
|
|
|
|
array('textarea', 5, 30),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => 'phpBB'),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
|
|
|
'<textarea id="key_name" name="config[config_key_name]" rows="5" cols="30">phpBB</textarea>',
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider build_cfg_template_textarea_data
|
|
|
|
*/
|
|
|
|
public function test_build_cfg_template_textarea($tpl_type, $key, $new, $config_key, $vars, $expected)
|
|
|
|
{
|
2012-08-11 15:25:14 +02:00
|
|
|
global $user, $phpbb_dispatcher;
|
2010-09-16 01:09:56 +02:00
|
|
|
|
2012-08-11 15:25:14 +02:00
|
|
|
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
2013-01-07 06:49:21 -05:00
|
|
|
$user = new phpbb_mock_user();
|
2011-02-01 14:09:52 +01:00
|
|
|
$user->lang = new phpbb_mock_lang();
|
2010-09-16 01:09:56 +02:00
|
|
|
|
|
|
|
$this->assertEquals($expected, build_cfg_template($tpl_type, $key, $new, $config_key, $vars));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function build_cfg_template_radio_data()
|
|
|
|
{
|
|
|
|
return array(
|
|
|
|
array(
|
|
|
|
array('radio', 'enabled_disabled'),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => '0'),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
|
|
|
'<label><input type="radio" id="key_name" name="config[config_key_name]" value="1" class="radio" /> ENABLED</label><label><input type="radio" name="config[config_key_name]" value="0" checked="checked" class="radio" /> DISABLED</label>',
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
array('radio', 'enabled_disabled'),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => '1'),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
|
|
|
'<label><input type="radio" id="key_name" name="config[config_key_name]" value="1" checked="checked" class="radio" /> ENABLED</label><label><input type="radio" name="config[config_key_name]" value="0" class="radio" /> DISABLED</label>',
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
array('radio', 'yes_no'),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => '0'),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
|
|
|
'<label><input type="radio" id="key_name" name="config[config_key_name]" value="1" class="radio" /> YES</label><label><input type="radio" name="config[config_key_name]" value="0" checked="checked" class="radio" /> NO</label>',
|
|
|
|
),
|
|
|
|
array(
|
|
|
|
array('radio', 'yes_no'),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => '1'),
|
|
|
|
'config_key_name',
|
|
|
|
array(),
|
|
|
|
'<label><input type="radio" id="key_name" name="config[config_key_name]" value="1" checked="checked" class="radio" /> YES</label><label><input type="radio" name="config[config_key_name]" value="0" class="radio" /> NO</label>',
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider build_cfg_template_radio_data
|
|
|
|
*/
|
|
|
|
public function test_build_cfg_template_radio($tpl_type, $key, $new, $config_key, $vars, $expected)
|
|
|
|
{
|
2012-08-11 15:25:14 +02:00
|
|
|
global $user, $phpbb_dispatcher;
|
2010-09-16 01:09:56 +02:00
|
|
|
|
2012-08-11 15:25:14 +02:00
|
|
|
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
2013-01-07 06:49:21 -05:00
|
|
|
$user = new phpbb_mock_user();
|
2011-02-01 14:09:52 +01:00
|
|
|
$user->lang = new phpbb_mock_lang();
|
2010-09-16 01:09:56 +02:00
|
|
|
|
|
|
|
$this->assertEquals($expected, build_cfg_template($tpl_type, $key, $new, $config_key, $vars));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function build_cfg_template_append_data()
|
|
|
|
{
|
|
|
|
return array(
|
|
|
|
array(
|
|
|
|
array('textarea', 5, 30),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => 'phpBB'),
|
|
|
|
'config_key_name',
|
|
|
|
array('append' => 'Bertie is cool!'),
|
|
|
|
'<textarea id="key_name" name="config[config_key_name]" rows="5" cols="30">phpBB</textarea>Bertie is cool!',
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider build_cfg_template_append_data
|
|
|
|
*/
|
|
|
|
public function test_build_cfg_template_append($tpl_type, $key, $new, $config_key, $vars, $expected)
|
|
|
|
{
|
2012-08-11 15:25:14 +02:00
|
|
|
global $user, $phpbb_dispatcher;
|
2010-09-16 01:09:56 +02:00
|
|
|
|
2012-08-11 15:25:14 +02:00
|
|
|
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
2013-01-07 06:49:21 -05:00
|
|
|
$user = new phpbb_mock_user();
|
2011-02-01 14:09:52 +01:00
|
|
|
$user->lang = new phpbb_mock_lang();
|
2010-09-16 01:09:56 +02:00
|
|
|
|
|
|
|
$this->assertEquals($expected, build_cfg_template($tpl_type, $key, $new, $config_key, $vars));
|
|
|
|
}
|
2013-03-31 18:50:52 +02:00
|
|
|
|
|
|
|
public function build_cfg_template_select_data()
|
|
|
|
{
|
|
|
|
return array(
|
|
|
|
array(
|
|
|
|
array('select'),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => '0'),
|
|
|
|
'config_key_name',
|
2013-11-22 15:51:22 +01:00
|
|
|
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>',
|
2013-03-31 18:50:52 +02:00
|
|
|
),
|
|
|
|
array(
|
|
|
|
array('select', 8),
|
|
|
|
'key_name',
|
|
|
|
array('config_key_name' => '1'),
|
|
|
|
'config_key_name',
|
2013-11-22 15:51:22 +01:00
|
|
|
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>',
|
2013-03-31 18:50:52 +02:00
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider build_cfg_template_select_data
|
|
|
|
*/
|
|
|
|
public function test_build_cfg_template_select($tpl_type, $key, $new, $config_key, $vars, $expected)
|
|
|
|
{
|
2013-11-22 15:51:22 +01:00
|
|
|
global $module, $user, $phpbb_dispatcher;
|
2013-03-31 18:50:52 +02:00
|
|
|
|
|
|
|
$phpbb_dispatcher = new phpbb_mock_event_dispatcher();
|
2013-11-22 15:51:22 +01:00
|
|
|
$user = new phpbb_mock_user();
|
2013-03-31 18:50:52 +02:00
|
|
|
$user->lang = new phpbb_mock_lang();
|
2013-11-22 15:51:22 +01:00
|
|
|
$user->module = $this;
|
|
|
|
$module = $user;
|
2013-03-31 18:50:52 +02:00
|
|
|
|
|
|
|
$this->assertEquals($expected, build_cfg_template($tpl_type, $key, $new, $config_key, $vars));
|
|
|
|
}
|
2013-11-22 15:51:22 +01:00
|
|
|
|
|
|
|
public function select_helper()
|
|
|
|
{
|
|
|
|
return build_select(
|
|
|
|
array(
|
|
|
|
'1' => 'First_Option',
|
|
|
|
'2' => 'Second_Option',
|
|
|
|
'3' => 'Third_Option',
|
|
|
|
),
|
|
|
|
'2'
|
|
|
|
);
|
|
|
|
}
|
2010-09-16 01:09:56 +02:00
|
|
|
}
|