diff options
Diffstat (limited to 'tests/functions/validate_email_test.php')
| -rw-r--r-- | tests/functions/validate_email_test.php | 72 | 
1 files changed, 33 insertions, 39 deletions
| diff --git a/tests/functions/validate_email_test.php b/tests/functions/validate_email_test.php index 9a6ce39251..b46509fda7 100644 --- a/tests/functions/validate_email_test.php +++ b/tests/functions/validate_email_test.php @@ -2,7 +2,7 @@  /**  *  * @package testing -* @copyright (c) 2013 phpBB Group +* @copyright (c) 2014 phpBB Group  * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2  *  */ @@ -47,60 +47,54 @@ class phpbb_functions_validate_email_test extends phpbb_database_test_case  		$user->optionset('banned_users', array('banned@example.com'));  	} -	public function test_validate_email() +	public static function validate_email_data() +	{ +		return array( +			array('empty', array('EMAIL_INVALID'), ''),		// email does not allow empty +			array('allowed', array(), 'foobar@example.com'), +			array('valid_complex', array(), "'%$~test@example.com"), +			array('invalid', array('EMAIL_INVALID'), 'fööbar@example.com'), +			array('taken', array(), 'admin@example.com'),	// email does not check taken, should use user_email instead +			array('banned', array(), 'banned@example.com'),	// email does not check ban, should use user_email instead +		); +	} + +	/** +	* @dataProvider validate_email_data +	*/ +	public function test_validate_email($case, $errors, $email)  	{  		$this->set_validation_prerequisites(false);  		$this->helper->assert_valid_data(array( -			'empty' => array( -				array(), -				'', -				array('email'), -			), -			'allowed' => array( -				array(), -				'foobar@example.com', -				array('email', 'foobar@example.com'), -			), -			'invalid' => array( -				array('EMAIL_INVALID'), -				'fööbar@example.com', -				array('email'), -			), -			'valid_complex' => array( -				array(), -				"'%$~test@example.com", -				array('email'), -			), -			'taken' => array( -				array('EMAIL_TAKEN'), -				'admin@example.com', -				array('email'), -			), -			'banned' => array( -				array('EMAIL_BANNED'), -				'banned@example.com', +			$case => array( +				$errors, +				$email,  				array('email'),  			),  		));  	} +	public static function validate_email_mx_data() +	{ +		return array( +			array('valid', array(), 'foobar@phpbb.com'), +			array('no_mx', array('DOMAIN_NO_MX_RECORD'), 'test@does-not-exist.phpbb.com'), +		); +	} +  	/** +	* @dataProvider validate_email_mx_data  	* @group slow  	*/ -	public function test_validate_email_mx() +	public function test_validate_email_mx($case, $errors, $email)  	{  		$this->set_validation_prerequisites(true);  		$this->helper->assert_valid_data(array( -			'valid' => array( -				array(), -				'foobar@phpbb.com', -				array('email'), -			), -			'no_mx' => array( -				array('DOMAIN_NO_MX_RECORD'), -				'test@does-not-exist.phpbb.com', +			$case => array( +				$errors, +				$email,  				array('email'),  			),  		)); | 
