summaryrefslogtreecommitdiff
path: root/_test
diff options
context:
space:
mode:
authorAndreas Gohr <gohr@cosmocode.de>2006-03-02 11:18:50 +0100
committerAndreas Gohr <gohr@cosmocode.de>2006-03-02 11:18:50 +0100
commit6c2bb1005f9be48e398a5b41494d235d7061b7bb (patch)
tree27ec23233a11d3138f1c318010ace4b6bbfd4dc7 /_test
parenta18f748f73f0a18dc514f6bd65cad3587fb71baf (diff)
downloadrpg-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.php28
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 :