diff options
author | Andreas Gohr <gohr@cosmocode.de> | 2006-03-02 11:18:50 +0100 |
---|---|---|
committer | Andreas Gohr <gohr@cosmocode.de> | 2006-03-02 11:18:50 +0100 |
commit | 6c2bb1005f9be48e398a5b41494d235d7061b7bb (patch) | |
tree | 27ec23233a11d3138f1c318010ace4b6bbfd4dc7 /_test | |
parent | a18f748f73f0a18dc514f6bd65cad3587fb71baf (diff) | |
download | rpg-6c2bb1005f9be48e398a5b41494d235d7061b7bb.tar.gz rpg-6c2bb1005f9be48e398a5b41494d235d7061b7bb.tar.bz2 |
Allow non-ID names in ACLs
Some auth backends allow special chars like whitespaces in user and group
names. This made problems with the existing ACL checks and ACL manager.
This patch makes the ACL system work with these cases by (url)encoding all
special chars below 128.
darcs-hash:20060302101850-6e07b-14bda9dbdb3528904325419b35bb9eddb0d1dde3.gz
Diffstat (limited to '_test')
-rw-r--r-- | _test/cases/inc/auth_nameencode.test.php | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/_test/cases/inc/auth_nameencode.test.php b/_test/cases/inc/auth_nameencode.test.php new file mode 100644 index 000000000..6deb7de9f --- /dev/null +++ b/_test/cases/inc/auth_nameencode.test.php @@ -0,0 +1,28 @@ +<?php + +require_once DOKU_INC.'inc/init.php'; +require_once DOKU_INC.'inc/auth.php'; + +class auth_nameencode_test extends UnitTestCase { + + function test_simple(){ + $in = 'hey$you'; + $out = 'hey%24you'; + $this->assertEqual(auth_nameencode($in),$out); + } + + function test_complex(){ + $in = 'hey $ you !$%! foo '; + $out = 'hey%20%24%20you%20%21%24%25%21%20foo%20'; + $this->assertEqual(auth_nameencode($in),$out); + } + + function test_complexutf8(){ + $in = 'häü $ yü !$%! foo '; + $out = 'häü%20%24%20yü%20%21%24%25%21%20foo%20'; + $this->assertEqual(auth_nameencode($in),$out); + } + +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : |