xref: /dokuwiki/_test/tests/inc/auth_nameencode.test.php (revision 698e7df8c9d5c43a93ed6822efa537158682a700)
1f8369d7dSTobias Sarnowski<?php
2f8369d7dSTobias Sarnowski
3f8369d7dSTobias Sarnowskiclass auth_nameencode_test extends DokuWikiTest {
4f8369d7dSTobias Sarnowski
5ff576d93SDominik Eckelmann    function tearDown() {
6f8369d7dSTobias Sarnowski        global $cache_authname;
7f8369d7dSTobias Sarnowski        $cache_authname = array();
8f8369d7dSTobias Sarnowski    }
9f8369d7dSTobias Sarnowski
10f8369d7dSTobias Sarnowski    function test_simple(){
11f8369d7dSTobias Sarnowski        $in  = 'hey$you';
12f8369d7dSTobias Sarnowski        $out = 'hey%24you';
13f8369d7dSTobias Sarnowski        $this->assertEquals(auth_nameencode($in),$out);
14f8369d7dSTobias Sarnowski    }
15f8369d7dSTobias Sarnowski
16f8369d7dSTobias Sarnowski    function test_quote(){
17f8369d7dSTobias Sarnowski        $in  = 'hey"you';
18f8369d7dSTobias Sarnowski        $out = 'hey%22you';
19f8369d7dSTobias Sarnowski        $this->assertEquals(auth_nameencode($in),$out);
20f8369d7dSTobias Sarnowski    }
21f8369d7dSTobias Sarnowski
22f8369d7dSTobias Sarnowski    function test_complex(){
23f8369d7dSTobias Sarnowski        $in  = 'hey $ you !$%! foo ';
24f8369d7dSTobias Sarnowski        $out = 'hey%20%24%20you%20%21%24%25%21%20foo%20';
25f8369d7dSTobias Sarnowski        $this->assertEquals(auth_nameencode($in),$out);
26f8369d7dSTobias Sarnowski    }
27f8369d7dSTobias Sarnowski
28f8369d7dSTobias Sarnowski    function test_complexutf8(){
29f8369d7dSTobias Sarnowski        $in  = 'häü $ yü !$%! foo ';
30f8369d7dSTobias Sarnowski        $out = 'häü%20%24%20yü%20%21%24%25%21%20foo%20';
31f8369d7dSTobias Sarnowski        $this->assertEquals(auth_nameencode($in),$out);
32f8369d7dSTobias Sarnowski    }
33f8369d7dSTobias Sarnowski
34f8369d7dSTobias Sarnowski    function test_groupskipon(){
35f8369d7dSTobias Sarnowski        $in  = '@hey$you';
36f8369d7dSTobias Sarnowski        $out = '@hey%24you';
37f8369d7dSTobias Sarnowski        $this->assertEquals(auth_nameencode($in,true),$out);
38f8369d7dSTobias Sarnowski    }
39f8369d7dSTobias Sarnowski
40f8369d7dSTobias Sarnowski    function test_groupskipoff(){
41f8369d7dSTobias Sarnowski        $in  = '@hey$you';
42f8369d7dSTobias Sarnowski        $out = '%40hey%24you';
43f8369d7dSTobias Sarnowski        $this->assertEquals(auth_nameencode($in),$out);
44f8369d7dSTobias Sarnowski    }
45*698e7df8SChristopher Smith
46*698e7df8SChristopher Smith    // include a two byte utf8 character which shouldn't be encoded
47*698e7df8SChristopher Smith    function test_hebrew(){
48*698e7df8SChristopher Smith        $in = 'nun-נ8';
49*698e7df8SChristopher Smith        $expect = 'nun%2dנ8';
50*698e7df8SChristopher Smith
51*698e7df8SChristopher Smith        $this->assertEquals($expect, auth_nameencode($in));
52*698e7df8SChristopher Smith    }
53*698e7df8SChristopher Smith
54*698e7df8SChristopher Smith    // include a three byte utf8 character which shouldn't be encoded
55*698e7df8SChristopher Smith    function test_devanagiri(){
56*698e7df8SChristopher Smith        $in = 'ut-fठ8';
57*698e7df8SChristopher Smith        $expect = 'ut%2dfठ8';
58*698e7df8SChristopher Smith
59*698e7df8SChristopher Smith        $this->assertEquals($expect, auth_nameencode($in));
60*698e7df8SChristopher Smith    }
61f8369d7dSTobias Sarnowski}
62f8369d7dSTobias Sarnowski
63f8369d7dSTobias Sarnowski//Setup VIM: ex: et ts=4 :
64