summaryrefslogtreecommitdiff
path: root/_test/tests/inc/common_basicinfo.test.php
blob: 8359c0877cd30c514ffcb8195d834d9504fb7b44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php

class common_infofunctions_test extends DokuWikiTest {
 
    function setup(){
        parent::setup();

        global $USERINFO; 
        $USERINFO = array(
           'pass' => '179ad45c6ce2cb97cf1029e212046e81',
           'name' => 'Arthur Dent',
           'mail' => 'arthur@example.com',
           'grps' => array ('admin','user'),
        );
        $_SERVER['REMOTE_USER'] = 'testuser';
        $_SERVER['REMOTE_ADDR'] = '1.2.3.4';
    }
    
    function _get_info() {
        global $USERINFO;
        $info = array (
          'isadmin' => true,
          'ismanager' => true,
          'userinfo' => $USERINFO,
          'perm' => 255,
          'namespace' => false,
          'ismobile' => false,
          'client' => 'testuser',
        );
      
        return $info;
    }

    /**
     * Its important to have the correct set of keys.
     * Other functions provide the values
     */
    function test_basicinfo(){
        // test with REMOTE_USER set and the user an admin user
        $info = $this->_get_info();
        $this->assertEquals(basicinfo($ID,true),$info);
        
        // with $httpclient parameter set to false 
        unset($info['ismobile']);
        $this->assertEquals(basicinfo($ID,false),$info);
        
        // with anonymous user
        unset($_SERVER['REMOTE_USER']);
        global $USERINFO; $USERINFO = array();

        $info = array(
          'isadmin' => false,
          'ismanager' => false,
          'perm' => 8,
          'namespace' => false,
          'ismobile' => false,
          'client' => '1.2.3.4',
        );
        $this->assertEquals(basicinfo($ID,true),$info);
    }
    
}

//Setup VIM: ex: et ts=4 :