diff options
author | Andreas Fischer <bantu@phpbb.com> | 2013-06-11 18:46:30 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2013-06-11 18:46:30 +0200 |
commit | b4183eda0caae2dfbe1425db27f3618c98db8504 (patch) | |
tree | 06e737e8494ca08e286f842c42780cde52466cc1 /tests/functions/validate_password_test.php | |
parent | 97c29c38760ccb3b121ca486bcd85ef683352f37 (diff) | |
parent | 30801e1f0a9aab6a3b4e589be1e43309543e8293 (diff) | |
download | forums-b4183eda0caae2dfbe1425db27f3618c98db8504.tar forums-b4183eda0caae2dfbe1425db27f3618c98db8504.tar.gz forums-b4183eda0caae2dfbe1425db27f3618c98db8504.tar.bz2 forums-b4183eda0caae2dfbe1425db27f3618c98db8504.tar.xz forums-b4183eda0caae2dfbe1425db27f3618c98db8504.zip |
Merge branch 'develop-olympus' into develop
* develop-olympus:
[ticket/11579] Add method for validating emails for valid MX and mark as slow
[ticket/11579] Do not extend validate_data_helper
[ticket/11579] Add missing commas to validate_username_test
[ticket/11579] Rework calls to validate_data_helper
[ticket/11579] Move simple tests into seperate files
[ticket/11579] Use test case helper class and use assert prefix for method
[ticket/11579] Move tests into seperate files depending on needed fixture
[ticket/11579] Remove unnecessary globals from validate_password()
[ticket/11579] Add remaining unit tests for validate_data functions
[ticket/11579] Add basic set of unit tests for validate_data()
Conflicts:
tests/mock/cache.php
Diffstat (limited to 'tests/functions/validate_password_test.php')
-rw-r--r-- | tests/functions/validate_password_test.php | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/tests/functions/validate_password_test.php b/tests/functions/validate_password_test.php new file mode 100644 index 0000000000..4639f6cc89 --- /dev/null +++ b/tests/functions/validate_password_test.php @@ -0,0 +1,96 @@ +<?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__) . '/validate_data_helper.php'; + +class phpbb_functions_validate_password_test extends phpbb_test_case +{ + protected $helper; + + protected function setUp() + { + parent::setUp(); + + $this->helper = new phpbb_functions_validate_data_helper($this); + } + + 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_valid_data(array( + 'empty' => array( + $expected['empty'], + '', + array('password'), + ), + 'foobar_any' => array( + $expected['foobar_any'], + 'foobar', + array('password'), + ), + 'foobar_mixed' => array( + $expected['foobar_mixed'], + 'FooBar', + array('password'), + ), + 'foobar_alpha' => array( + $expected['foobar_alpha'], + 'F00bar', + array('password'), + ), + 'foobar_symbol' => array( + $expected['foobar_symbol'], + 'fooBar123*', + array('password'), + ), + )); + } +} |