xref: /dokuwiki/_test/tests/inc/PageUtilsIsHiddenPage.test.php (revision 8449cc9d82848df24eb88a73dd81d7e048933287)
1<?php
2
3class PageUtilsIsHiddenPageTest extends DokuWikiTest {
4
5    function prepare($hidePages = '^:test$', $act = 'show') {
6        global $conf;
7        global $ACT;
8        $conf['hidepages'] = $hidePages;
9        $ACT = $act;
10    }
11
12    function testHiddenOff(){
13        $this->prepare('');
14
15        $this->assertFalse(isHiddenPage('test'));
16    }
17
18    function testHiddenOffAdmin(){
19        $this->prepare('^:test$', 'admin');
20
21        $this->assertFalse(isHiddenPage('test'));
22    }
23
24    function testHiddenOnMatch(){
25        $this->prepare();
26
27        $this->assertTrue(isHiddenPage('test'));
28    }
29
30    function testHiddenOnNoMatch(){
31        $this->prepare();
32
33        $this->assertFalse(isHiddenPage('another'));
34    }
35
36    function testEventHandler() {
37        global $EVENT_HANDLER;
38        $this->prepare();
39        $EVENT_HANDLER->register_hook('PAGEUTILS_ID_HIDEPAGE', 'BEFORE', $this, 'alwaysHide');
40
41        $this->assertFalse(isHiddenPage('test'));
42    }
43
44    function alwaysHide(Doku_Event &$event, $params) {
45        $event->data['hide'] = true;
46    }
47
48}
49//Setup VIM: ex: et ts=4 :
50