mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
251 lines
6.8 KiB
PHP
251 lines
6.8 KiB
PHP
<?php
|
|
/**
|
|
*
|
|
* @package testing
|
|
* @copyright (c) 2013 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__) . '/../../phpBB/includes/utf/utf_tools.php';
|
|
require_once dirname(__FILE__) . '/validate_data_helper.php';
|
|
|
|
class phpbb_functions_validate_data_simple_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_string()
|
|
{
|
|
$this->helper->assert_validate_data(array(
|
|
'empty_opt' => array(),
|
|
'empty' => array(),
|
|
'foo' => array(),
|
|
'foo_minmax_correct' => array(),
|
|
'foo_minmax_short' => array('TOO_SHORT'),
|
|
'foo_minmax_long' => array('TOO_LONG'),
|
|
'empty_short' => array('TOO_SHORT'),
|
|
'empty_length_opt' => array(),
|
|
),
|
|
array(
|
|
'empty_opt' => '',
|
|
'empty' => '',
|
|
'foo' => 'foobar',
|
|
'foo_minmax_correct' => 'foobar',
|
|
'foo_minmax_short' => 'foobar',
|
|
'foo_minmax_long' => 'foobar',
|
|
'empty_short' => '',
|
|
'empty_length_opt' => '',
|
|
),
|
|
array(
|
|
'empty_opt' => array('string', true),
|
|
'empty' => array('string'),
|
|
'foo' => array('string'),
|
|
'foo_minmax_correct' => array('string', false, 2, 6),
|
|
'foo_minmax_short' => array('string', false, 7, 9),
|
|
'foo_minmax_long' => array('string', false, 2, 5),
|
|
'empty_short' => array('string', false, 1, 6),
|
|
'empty_length_opt' => array('string', true, 1, 6),
|
|
));
|
|
}
|
|
|
|
public function test_validate_num()
|
|
{
|
|
$this->helper->assert_validate_data(array(
|
|
'empty' => array(),
|
|
'zero' => array(),
|
|
'five_minmax_correct' => array(),
|
|
'five_minmax_short' => array('TOO_SMALL'),
|
|
'five_minmax_long' => array('TOO_LARGE'),
|
|
'string' => array(),
|
|
),
|
|
array(
|
|
'empty' => '',
|
|
'zero' => 0,
|
|
'five_minmax_correct' => 5,
|
|
'five_minmax_short' => 5,
|
|
'five_minmax_long' => 5,
|
|
'string' => 'foobar',
|
|
),
|
|
array(
|
|
'empty' => array('num'),
|
|
'zero' => array('num'),
|
|
'five_minmax_correct' => array('num', false, 2, 6),
|
|
'five_minmax_short' => array('num', false, 7, 10),
|
|
'five_minmax_long' => array('num', false, 2, 3),
|
|
'string' => array('num'),
|
|
));
|
|
}
|
|
|
|
public function test_validate_date()
|
|
{
|
|
$this->helper->assert_validate_data(array(
|
|
'empty' => array('INVALID'),
|
|
'empty_opt' => array(),
|
|
'double_single' => array(),
|
|
'single_single' => array(),
|
|
'double_double' => array(),
|
|
// Currently fails
|
|
//'zero_year' => array(),
|
|
'month_high' => array('INVALID'),
|
|
'month_low' => array('INVALID'),
|
|
'day_high' => array('INVALID'),
|
|
'day_low' => array('INVALID'),
|
|
),
|
|
array(
|
|
'empty' => '',
|
|
'empty_opt' => '',
|
|
'double_single' => '17-06-1990',
|
|
'single_single' => '05-05-2009',
|
|
'double_double' => '17-12-1990',
|
|
// Currently fails
|
|
//'zero_year' => '01-01-0000',
|
|
'month_high' => '17-17-1990',
|
|
'month_low' => '01-00-1990',
|
|
'day_high' => '64-01-1990',
|
|
'day_low' => '00-12-1990',
|
|
),
|
|
array(
|
|
'empty' => array('date'),
|
|
'empty_opt' => array('date', true),
|
|
'double_single' => array('date'),
|
|
'single_single' => array('date'),
|
|
'double_double' => array('date'),
|
|
// Currently fails
|
|
//'zero_year' => array('date'),
|
|
'month_high' => array('date'),
|
|
'month_low' => array('date'),
|
|
'day_high' => array('date'),
|
|
'day_low' => array('date'),
|
|
));
|
|
}
|
|
|
|
public function test_validate_match()
|
|
{
|
|
$this->helper->assert_validate_data(array(
|
|
'empty_opt' => array(),
|
|
'empty_empty_match' => array(),
|
|
'foobar' => array(),
|
|
'foobar_fail' => array('WRONG_DATA'),
|
|
),
|
|
array(
|
|
'empty_opt' => '',
|
|
'empty_empty_match' => '',
|
|
'foobar' => 'foobar',
|
|
'foobar_fail' => 'foobar123',
|
|
),
|
|
array(
|
|
'empty_opt' => array('match', true, '/[a-z]$/'),
|
|
'empty_empty_match' => array('match'),
|
|
'foobar' => array('match', false, '/[a-z]$/'),
|
|
'foobar_fail' => array('match', false, '/[a-z]$/'),
|
|
));
|
|
}
|
|
|
|
public function validate_password_data()
|
|
{
|
|
return array(
|
|
array('PASS_TYPE_ANY', array(
|
|
'empty' => array(),
|
|
'foobar_any' => array(),
|
|
'foobar_mixed' => array(),
|
|
'foobar_alpha' => array(),
|
|
'foobar_symbol' => array(),
|
|
)),
|
|
array('PASS_TYPE_CASE', array(
|
|
'empty' => array(),
|
|
'foobar_any' => array('INVALID_CHARS'),
|
|
'foobar_mixed' => array(),
|
|
'foobar_alpha' => array(),
|
|
'foobar_symbol' => array(),
|
|
)),
|
|
array('PASS_TYPE_ALPHA', array(
|
|
'empty' => array(),
|
|
'foobar_any' => array('INVALID_CHARS'),
|
|
'foobar_mixed' => array('INVALID_CHARS'),
|
|
'foobar_alpha' => array(),
|
|
'foobar_symbol' => array(),
|
|
)),
|
|
array('PASS_TYPE_SYMBOL', array(
|
|
'empty' => array(),
|
|
'foobar_any' => array('INVALID_CHARS'),
|
|
'foobar_mixed' => array('INVALID_CHARS'),
|
|
'foobar_alpha' => array('INVALID_CHARS'),
|
|
'foobar_symbol' => array(),
|
|
)),
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @dataProvider validate_password_data
|
|
*/
|
|
public function test_validate_password($pass_complexity, $expected)
|
|
{
|
|
global $config;
|
|
|
|
// Set complexity to mixed case letters, numbers and symbols
|
|
$config['pass_complex'] = $pass_complexity;
|
|
|
|
$this->helper->assert_validate_data($expected, array(
|
|
'empty' => '',
|
|
'foobar_any' => 'foobar',
|
|
'foobar_mixed' => 'FooBar',
|
|
'foobar_alpha' => 'F00bar',
|
|
'foobar_symbol' => 'fooBar123*',
|
|
),
|
|
array(
|
|
'empty' => array('password'),
|
|
'foobar_any' => array('password'),
|
|
'foobar_mixed' => array('password'),
|
|
'foobar_alpha' => array('password'),
|
|
'foobar_symbol' => array('password'),
|
|
));
|
|
}
|
|
|
|
public function test_validate_jabber()
|
|
{
|
|
$this->helper->assert_validate_data(array(
|
|
'empty' => array(),
|
|
'no_seperator' => array('WRONG_DATA'),
|
|
'no_user' => array('WRONG_DATA'),
|
|
'no_realm' => array('WRONG_DATA'),
|
|
'dot_realm' => array('WRONG_DATA'),
|
|
'-realm' => array('WRONG_DATA'),
|
|
'realm-' => array('WRONG_DATA'),
|
|
'correct' => array(),
|
|
'prohibited' => array('WRONG_DATA'),
|
|
'prohibited_char' => array('WRONG_DATA'),
|
|
),
|
|
array(
|
|
'empty' => '',
|
|
'no_seperator' => 'testjabber.ccc',
|
|
'no_user' => '@jabber.ccc',
|
|
'no_realm' => 'user@',
|
|
'dot_realm' => 'user@.....',
|
|
'-realm' => 'user@-jabber.ccc',
|
|
'realm-' => 'user@jabber.ccc-',
|
|
'correct' => 'user@jabber.09A-z.org',
|
|
'prohibited' => 'u@ser@jabber.ccc.org',
|
|
'prohibited_char' => 'u<s>er@jabber.ccc.org',
|
|
),
|
|
array(
|
|
'empty' => array('jabber'),
|
|
'no_seperator' => array('jabber'),
|
|
'no_user' => array('jabber'),
|
|
'no_realm' => array('jabber'),
|
|
'dot_realm' => array('jabber'),
|
|
'-realm' => array('jabber'),
|
|
'realm-' => array('jabber'),
|
|
'correct' => array('jabber'),
|
|
'prohibited' => array('jabber'),
|
|
'prohibited_char' => array('jabber'),
|
|
));
|
|
}
|
|
}
|