aboutsummaryrefslogtreecommitdiffstats
path: root/tests/functions/validate_password_test.php
diff options
context:
space:
mode:
authorNathan Guse <nathaniel.guse@gmail.com>2013-06-24 13:49:29 -0500
committerNathan Guse <nathaniel.guse@gmail.com>2013-06-24 13:49:29 -0500
commitff84aed0b2e5bb2def73a1861e601ad9fb8856df (patch)
tree22ffb4b331619cfb96002b526c6b45b3fc297332 /tests/functions/validate_password_test.php
parent2dd58413e26434568bd768549e621e72b5ccb33c (diff)
parenta5c971176be81f854772919713da6db506fa7cd1 (diff)
downloadforums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.tar
forums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.tar.gz
forums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.tar.bz2
forums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.tar.xz
forums-ff84aed0b2e5bb2def73a1861e601ad9fb8856df.zip
Merge branch 'develop' of github.com:phpbb/phpbb3 into feature/twig
# By Dhruv (35) and others # Via Andreas Fischer (15) and others * 'develop' of github.com:phpbb/phpbb3: (75 commits) [ticket/10776] update min php version 5.3.3 in readme [ticket/11503] similar implementation for mssql_native and odbc [ticket/11603] Fix out dated comment [ticket/11603] Fix usage note [ticket/11604] Skip installer step where config.php is created. [ticket/11603] Throw RuntimeExceptions instead of using exit() [ticket/11603] Avoid using cURL [ticket/11604] Fix case where config.php is not generated by phpBB. [ticket/11604] Use variables for config.php filesnames. [ticket/11561] Specify used tables in notification fixture, so they are emptied [ticket/11094] Add textbox for jabber while memberlist search [ticket/10820] fix if condition to check for IE [ticket/11603] Split api_request into two functions (query only vs. full url) [ticket/11603] Fix spacing and add some comments [ticket/10820] Add additional check for IE in condition [ticket/11603] Fix github API calls [ticket/11603] Rename network to forks and fix handling [ticket/11603] Fix github api url and use curl with valid user agent [ticket/10820] Fix function docblock [ticket/10820] Inject IE version in function ...
Diffstat (limited to 'tests/functions/validate_password_test.php')
-rw-r--r--tests/functions/validate_password_test.php96
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'),
+ ),
+ ));
+ }
+}