aboutsummaryrefslogtreecommitdiffstats
path: root/tests/functions/validate_password_test.php
diff options
context:
space:
mode:
authorMarc Alexander <admin@m-a-styles.de>2013-06-03 16:15:08 +0200
committerMarc Alexander <admin@m-a-styles.de>2013-06-03 16:15:08 +0200
commitc2bc82ebfd54cebba03bd04dccaf5a8e317844ae (patch)
treec84cba71ca728fa5a39f389c61142716d0528455 /tests/functions/validate_password_test.php
parent3487b70cc066f090c55990a9082ed9684d438147 (diff)
downloadforums-c2bc82ebfd54cebba03bd04dccaf5a8e317844ae.tar
forums-c2bc82ebfd54cebba03bd04dccaf5a8e317844ae.tar.gz
forums-c2bc82ebfd54cebba03bd04dccaf5a8e317844ae.tar.bz2
forums-c2bc82ebfd54cebba03bd04dccaf5a8e317844ae.tar.xz
forums-c2bc82ebfd54cebba03bd04dccaf5a8e317844ae.zip
[ticket/11579] Move simple tests into seperate files
PHPBB3-11579
Diffstat (limited to 'tests/functions/validate_password_test.php')
-rw-r--r--tests/functions/validate_password_test.php83
1 files changed, 83 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..e8dc7e0dea
--- /dev/null
+++ b/tests/functions/validate_password_test.php
@@ -0,0 +1,83 @@
+<?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_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'),
+ ));
+ }
+}