summaryrefslogtreecommitdiff
path: root/lib/plugins/authplain/_test
diff options
context:
space:
mode:
authorGerry Weißbach <gerry.w@gammaproduction.de>2014-12-22 10:40:15 +0100
committerGerry Weißbach <gerry.w@gammaproduction.de>2014-12-22 10:40:15 +0100
commitfc30ac3acbd4e17e25955ccdd0c5539ee2c9beca (patch)
tree3d287ae466500a6072b84d14ff4911fa936d1479 /lib/plugins/authplain/_test
parentde4634ec87b1a277c1686990d993dafc43db05ed (diff)
parent8da2ebf4f4261eb8f54df5704b5d9af283b5402d (diff)
downloadrpg-fc30ac3acbd4e17e25955ccdd0c5539ee2c9beca.tar.gz
rpg-fc30ac3acbd4e17e25955ccdd0c5539ee2c9beca.tar.bz2
Merge branch 'master' into new_css.php
Diffstat (limited to 'lib/plugins/authplain/_test')
-rw-r--r--lib/plugins/authplain/_test/escaping.test.php48
1 files changed, 43 insertions, 5 deletions
diff --git a/lib/plugins/authplain/_test/escaping.test.php b/lib/plugins/authplain/_test/escaping.test.php
index cd5294157..9df96389a 100644
--- a/lib/plugins/authplain/_test/escaping.test.php
+++ b/lib/plugins/authplain/_test/escaping.test.php
@@ -12,13 +12,14 @@
* @group plugins
*/
class helper_plugin_authplain_escaping_test extends DokuWikiTest {
-
- protected $pluginsEnabled = array('authplain');
+
+ protected $pluginsEnabled = array('authplainharness');
+ /** @var auth_plugin_authplain|auth_plugin_authplainharness */
protected $auth;
-
+
protected function reloadUsers() {
/* auth caches data loaded from file, but recreated object forces reload */
- $this->auth = new auth_plugin_authplain();
+ $this->auth = new auth_plugin_authplainharness();
}
function setUp() {
@@ -76,7 +77,44 @@ class helper_plugin_authplain_escaping_test extends DokuWikiTest {
$this->assertEquals($saved['name'], $user['name']);
$this->assertTrue($this->auth->checkPass("testuser", $user['pass']));
}
+
+ // really only required for developers to ensure this plugin will
+ // work with systems running on PCRE 6.6 and lower.
+ public function testLineSplit(){
+ $this->auth->setPregsplit_safe(false);
+
+ $names = array(
+ 'plain',
+ 'ut-fठ8',
+ 'colon:',
+ 'backslash\\',
+ 'alltogether\\ठ:'
+ );
+ $userpass = 'user:password_hash:';
+ $other_user_data = ':email@address:group1,group2';
+
+ foreach ($names as $testname) {
+ $escaped = str_replace(array('\\',':'),array('\\\\','\\:'),$testname); // escape : & \
+ $test_line = $userpass.$escaped.$other_user_data;
+ $result = $this->auth->splitUserData($test_line);
+
+ $this->assertEquals($escaped, $result[2]);
+ }
+ }
}
-?> \ No newline at end of file
+class auth_plugin_authplainharness extends auth_plugin_authplain {
+
+ public function setPregsplit_safe($bool) {
+ $this->_pregsplit_safe = $bool;
+ }
+
+ public function getPregsplit_safe(){
+ return $this->_pregsplit_safe;
+ }
+
+ public function splitUserData($line){
+ return $this->_splitUserData($line);
+ }
+}