diff options
Diffstat (limited to 'tests/functions')
| -rw-r--r-- | tests/functions/fixtures/banned_users.xml | 38 | ||||
| -rw-r--r-- | tests/functions/phpbb_get_banned_user_ids.php | 58 | ||||
| -rw-r--r-- | tests/functions/validate_with_method_test.php | 39 | 
3 files changed, 135 insertions, 0 deletions
diff --git a/tests/functions/fixtures/banned_users.xml b/tests/functions/fixtures/banned_users.xml new file mode 100644 index 0000000000..cec3f4e51f --- /dev/null +++ b/tests/functions/fixtures/banned_users.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<dataset> +	<table name="phpbb_banlist"> +		<column>ban_userid</column> +		<column>ban_exclude</column> +		<column>ban_end</column> +		<row> +			<value>1</value> +			<value>1</value> +			<value>0</value> +		</row> +		<row> +			<value>2</value> +			<value>0</value> +			<value>0</value> +		</row> +		<row> +			<value>3</value> +			<value>0</value> +			<value>0</value> +		</row> +		<row> +			<value>4</value> +			<value>0</value> +			<value>2</value> +		</row> +		<row> +			<value>5</value> +			<value>0</value> +			<value>999999999999999999999</value> +		</row> +		<row> +			<value>6</value> +			<value>0</value> +			<value>3</value> +		</row> +	</table> +</dataset> diff --git a/tests/functions/phpbb_get_banned_user_ids.php b/tests/functions/phpbb_get_banned_user_ids.php new file mode 100644 index 0000000000..96de5c5767 --- /dev/null +++ b/tests/functions/phpbb_get_banned_user_ids.php @@ -0,0 +1,58 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2012 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'; + +class phpbb_get_banned_user_ids_test extends phpbb_database_test_case +{ +	public function getDataSet() +	{ +		return $this->createXMLDataSet(dirname(__FILE__) . '/fixtures/banned_users.xml'); +	} + +	public function phpbb_get_banned_user_ids_data() +	{ +		return array( +			// Input to phpbb_get_banned_user_ids (user_id list, ban_end) +			// Expected output +			array( +				// True to get users currently banned +				array(array(1, 2, 4, 5, 6), true), +				array(2 => 2, 5 => 5), +			), +			array( +				// False to only get permanently banned users +				array(array(1, 2, 4, 5, 6), false), +				array(2 => 2), +			), +			array( +				// Unix timestamp to get users banned until that time +				array(array(1, 2, 4, 5, 6), 2), +				array(2 => 2, 5 => 5, 6 => 6), +			), +		); +	} + +	public function setUp() +	{ +		global $db; + +		$db = $this->new_dbal(); + +		return parent::setUp(); +	} + +	/** +	* @dataProvider phpbb_get_banned_user_ids_data +	*/ +	public function test_phpbb_get_banned_user_ids($input, $expected) +	{ +		$this->assertEquals($expected, call_user_func_array('phpbb_get_banned_user_ids', $input)); +	} +} diff --git a/tests/functions/validate_with_method_test.php b/tests/functions/validate_with_method_test.php new file mode 100644 index 0000000000..86d7b9571c --- /dev/null +++ b/tests/functions/validate_with_method_test.php @@ -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; +	} +}  | 
