mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-10 13:28:55 +00:00
[ticket/security/211] Extend tests for profile field values
SECURITY-211
This commit is contained in:
parent
2749bfe26c
commit
91f9050a70
2 changed files with 66 additions and 0 deletions
|
@ -270,6 +270,18 @@ class phpbb_profilefield_type_string_test extends phpbb_test_case
|
||||||
null,
|
null,
|
||||||
'Field should simply output null for empty vlaue',
|
'Field should simply output null for empty vlaue',
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'http://foobar.com',
|
||||||
|
array('field_show_novalue' => false),
|
||||||
|
'http://foobar.com',
|
||||||
|
'Field should output the given value but not make it clickable',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'javascript://foobar.com',
|
||||||
|
array('field_show_novalue' => true),
|
||||||
|
'javascript://foobar.com',
|
||||||
|
'Field should output the given value but not make it clickable',
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
|
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
|
||||||
|
require_once dirname(__FILE__) . '/../../phpBB/includes/functions_content.php';
|
||||||
|
require_once dirname(__FILE__) . '/../../phpBB/includes/utf/utf_tools.php';
|
||||||
|
|
||||||
class phpbb_profilefield_type_url_test extends phpbb_test_case
|
class phpbb_profilefield_type_url_test extends phpbb_test_case
|
||||||
{
|
{
|
||||||
|
@ -26,6 +28,9 @@ class phpbb_profilefield_type_url_test extends phpbb_test_case
|
||||||
*/
|
*/
|
||||||
public function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
|
global $request, $user, $cache;
|
||||||
|
|
||||||
|
$cache = new phpbb_mock_cache;
|
||||||
$user = $this->getMock('\phpbb\user', array(), array('\phpbb\datetime'));
|
$user = $this->getMock('\phpbb\user', array(), array('\phpbb\datetime'));
|
||||||
$user->expects($this->any())
|
$user->expects($this->any())
|
||||||
->method('lang')
|
->method('lang')
|
||||||
|
@ -175,6 +180,55 @@ class phpbb_profilefield_type_url_test extends phpbb_test_case
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function profile_value_data()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
array(
|
||||||
|
'http://foobar.com',
|
||||||
|
array('field_show_novalue' => true),
|
||||||
|
'<!-- l --><a class="postlink-local" href="http://foobar.com">foobar.com</a><!-- l -->',
|
||||||
|
'Field should output the given value',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'http://foobar.com',
|
||||||
|
array('field_show_novalue' => false),
|
||||||
|
'<!-- l --><a class="postlink-local" href="http://foobar.com">foobar.com</a><!-- l -->',
|
||||||
|
'Field should output the given value',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'test',
|
||||||
|
array('field_show_novalue' => true),
|
||||||
|
null,
|
||||||
|
'Field should output nothing for empty value',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'test',
|
||||||
|
array('field_show_novalue' => false),
|
||||||
|
null,
|
||||||
|
'Field should simply output null for empty value',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'javascript://foobar.com',
|
||||||
|
array('field_show_novalue' => true),
|
||||||
|
null,
|
||||||
|
'Field should output nothing for empty value',
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider profile_value_data
|
||||||
|
*/
|
||||||
|
public function test_get_profile_value($value, $field_options, $expected, $description)
|
||||||
|
{
|
||||||
|
$field_options = array_merge($this->field_options, $field_options);
|
||||||
|
|
||||||
|
$result = $this->cp->get_profile_value($value, $field_options);
|
||||||
|
|
||||||
|
$this->assertSame($expected, $result, $description);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dataProvider profile_value_raw_data
|
* @dataProvider profile_value_raw_data
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Reference in a new issue