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