bugfix: trustedproxy is not a delimited pcre
[dokuwiki.git] / _test / tests / inc / fulltext_backlinks.test.php
blobb20a16ee13164a5b93c1471315fbac5518aeacc7
1 <?php
3 // must be run within Dokuwiki
4 if (!defined('DOKU_INC')) die();
6 /**
7 * Test cases for the link index
9 * @author Michael Hamann <michael@content-space.de>
11 class fulltext_backlinks_test extends DokuWikiTest {
13 public function test_internallink() {
14 saveWikiText('test:internallinks', '[[internälLink]] [[..:internal link]]', 'Test initialization');
15 idx_addPage('test:internallinks');
17 $this->assertEquals(array('test:internallinks'), ft_backlinks('internal_link'));
18 $this->assertEquals(array('test:internallinks'), ft_backlinks('test:internaellink'));
21 public function test_links_in_footnotes() {
22 saveWikiText('test:link_footnotes', '(([[footnote]] [[:foÖtnotel]]))', 'Test initialization');
23 idx_addPage('test:link_footnotes');
25 $this->assertEquals(array('test:link_footnotes'), ft_backlinks('test:footnote'));
26 $this->assertEquals(array('test:link_footnotes'), ft_backlinks('fooetnotel'));
29 public function test_links_in_hidden_pages() {
30 global $conf;
31 $conf['hidepages'] = 'hidden:.*';
32 saveWikiText('hidden:links', '[[wiki:hiddenlink|linktitle]]', 'Test initialization');
33 idx_addPage('hidden:links');
34 saveWikiText('visible:links', '[[wiki:hiddenlink]]', 'Test initialization');
35 idx_addPage('visible:links');
37 $this->assertEquals(array('visible:links'), ft_backlinks('wiki:hiddenlink'));
38 $this->assertEquals(array('visible:links'), ft_backlinks('wiki:hiddenlink', false));
39 $this->assertEquals(array('hidden:links', 'visible:links'), ft_backlinks('wiki:hiddenlink', true));
42 public function test_links_in_protected_pages() {
43 global $conf;
44 global $AUTH_ACL;
45 $conf['superuser'] = 'alice';
46 $conf['useacl'] = 1;
48 $AUTH_ACL = array(
49 '* @ALL 8',
50 'secret:* @ALL 0',
53 $_SERVER['REMOTE_USER'] = 'eve';
55 saveWikiText('secret:links', '[[wiki:secretlink]]', 'Test initialization');
56 idx_addPage('secret:links');
57 saveWikiText('public:links', '[[wiki:secretlink]]', 'Test initialization');
58 idx_addPage('public:links');
60 $this->assertEquals(array('public:links'), ft_backlinks('wiki:secretlink'));
61 $this->assertEquals(array('public:links'), ft_backlinks('wiki:secretlink', false));
62 $this->assertEquals(array('public:links', 'secret:links'), ft_backlinks('wiki:secretlink', true));
65 public function test_links_in_deleted_pages() {
66 saveWikiText('test:internallinks', '[[internallink]] [[..:internal link]]', 'Test initialization');
67 idx_addPage('test:internallinks');
69 $this->assertEquals(array('test:internallinks'), ft_backlinks('test:internallink'));
70 $this->assertEquals(array('test:internallinks'), ft_backlinks('internal_link'));
72 saveWikiText('test:internallinks', '', 'Deleted');
74 $this->assertEquals(array(), ft_backlinks('test:internallink'));
75 $this->assertEquals(array(), ft_backlinks('internal_link'));
78 function test_parameters() {
79 saveWikiText('test:links', '[[wiki:syntax?do=export_raw]] [[:web:scripts:add_vhost.sh?do=export_raw]]', 'Init tests');
80 idx_addPage('test:links');
82 $this->assertEquals(array('test:links'), ft_backlinks('wiki:syntax'));
83 $this->assertEquals(array('test:links'), ft_backlinks('web:scripts:add_vhost.sh'));