mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-23 19:58:51 +00:00
Merge branch 'develop-ascraeus' into develop
* develop-ascraeus: [ticket/12097] Bug fix and adding unit test [ticket/12097] Validate_data() should work with class method
This commit is contained in:
commit
2bd13eb054
2 changed files with 50 additions and 2 deletions
|
@ -1326,9 +1326,18 @@ function validate_data($data, $val_ary)
|
||||||
{
|
{
|
||||||
$function = array_shift($validate);
|
$function = array_shift($validate);
|
||||||
array_unshift($validate, $data[$var]);
|
array_unshift($validate, $data[$var]);
|
||||||
$function_prefix = (function_exists('phpbb_validate_' . $function)) ? 'phpbb_validate_' : 'validate_';
|
|
||||||
|
|
||||||
if ($result = call_user_func_array($function_prefix . $function, $validate))
|
if (is_array($function))
|
||||||
|
{
|
||||||
|
$result = call_user_func_array(array($function[0], 'validate_' . $function[1]), $validate);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$function_prefix = (function_exists('phpbb_validate_' . $function)) ? 'phpbb_validate_' : 'validate_';
|
||||||
|
$result = call_user_func_array($function_prefix . $function, $validate);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($result)
|
||||||
{
|
{
|
||||||
// Since errors are checked later for their language file existence, we need to make sure custom errors are not adjusted.
|
// Since errors are checked later for their language file existence, we need to make sure custom errors are not adjusted.
|
||||||
$error[] = (empty($user->lang[$result . '_' . strtoupper($var)])) ? $result : $result . '_' . strtoupper($var);
|
$error[] = (empty($user->lang[$result . '_' . strtoupper($var)])) ? $result : $result . '_' . strtoupper($var);
|
||||||
|
|
39
tests/functions/validate_with_method_test.php
Normal file
39
tests/functions/validate_with_method_test.php
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package testing
|
||||||
|
* @copyright (c) 2014 phpBB Group
|
||||||
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once dirname(__FILE__) . '/../../phpBB/includes/functions_user.php';
|
||||||
|
require_once dirname(__FILE__) . '/validate_data_helper.php';
|
||||||
|
|
||||||
|
class phpbb_functions_validate_with_method_test extends phpbb_test_case
|
||||||
|
{
|
||||||
|
protected $helper;
|
||||||
|
|
||||||
|
protected function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
|
||||||
|
$this->helper = new phpbb_functions_validate_data_helper($this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_validate_date()
|
||||||
|
{
|
||||||
|
$this->helper->assert_valid_data(array(
|
||||||
|
'method_call' => array(
|
||||||
|
array(),
|
||||||
|
true,
|
||||||
|
array(array(array($this, 'with_method'), false)),
|
||||||
|
),
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function validate_with_method($bool, $optional = false)
|
||||||
|
{
|
||||||
|
return ! $bool;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue