Code Duplication    Length = 93-94 lines in 2 locations

_test/syntax_exclude.test.php 1 location

@@ 24-117 (lines=94) @@
21
 * @group plugin_backlinks
22
 * @group plugins
23
 */
24
class syntax_exclude_plugin_backlinks_test extends DokuWikiTest {
25
26
    protected $pluginsEnabled = array('backlinks');
27
28
    /**
29
     * copy data.
30
     */
31
    public static function setUpBeforeClass(){
32
        parent::setUpBeforeClass();
33
        global $conf;
34
        $conf['allowdebug'] = 1;
35
36
        TestUtils::rcopy(TMP_DIR, dirname(__FILE__) . '/data/');
37
38
        dbglog("\nset up class syntax_plugin_backlinks_test");
39
    }
40
41
    function setUp() {
42
        parent::setUp();
43
44
        global $conf;
45
        $conf['allowdebug'] = 1;
46
        $conf['cachetime'] = -1;
47
48
        $data = array();
49
        search($data, $conf['datadir'], 'search_allpages', array('skipacl' => true));
50
51
        //dbglog($data, "pages for indexing");
52
53
        $verbose = false;
54
        $force = false;
55
        foreach($data as $val) {
56
            idx_addPage($val['id'], $verbose, $force);
57
        }
58
59
        if($conf['allowdebug']) {
60
            touch(DOKU_TMP_DATA.'cache/debug.log');
61
        }
62
    }
63
64
    public function tearDown() {
65
        parent::tearDown();
66
67
        global $conf;
68
        // try to get the debug log after running the test, print and clear
69
        if($conf['allowdebug']) {
70
            print "\n";
71
            readfile(DOKU_TMP_DATA.'cache/debug.log');
72
            unlink(DOKU_TMP_DATA.'cache/debug.log');
73
        }
74
    }
75
76
77
    public function testExclude() {
78
        $request = new TestRequest();
79
        $response = $request->get(array('id'=>'backlinks_exclude_syntax'), '/doku.php');
80
81
82
83
        $this->assertTrue(
84
            strpos($response->getContent(), 'Backlinks to what Bob Ross says (excluding exclude namespace)') !== false,
85
            '"Backlinks to what Bob Ross says (excluding exclude namespace)" was not in the output'
86
        );
87
88
        $this->assertTrue(
89
            strpos($response->getContent(), 'An excluded link to Bob Ross') == false,
90
            '"An excluded link to Bob Ross" should not be in the output'
91
        );
92
93
        $doc = phpQuery::newDocument($response->getContent());
94
        // look for id="plugin__backlinks"
95
        $this->assertEquals(
96
                            1,
97
                            pq('#plugin__backlinks', $doc)->length,
98
                            'There should be one backlinks element'
99
                           );
100
101
        $wikilinks = pq('#plugin__backlinks ul li', $doc);
102
        dbglog($wikilinks->text(), 'found backlinks');
103
        $this->assertEquals(
104
                            3,
105
                            $wikilinks->contents()->length,
106
                            'There should be 3 backlinks'
107
                           );
108
109
        $lastlink = pq('a:last',$wikilinks);
110
        dbglog($lastlink->text(),"last backlink");
111
        $this->assertEquals(
112
                            'A link to Bob Ross',
113
                            $lastlink->text(),
114
                            'The last backlink should be "A link to Bob Ross"'
115
                           );
116
    }
117
}
118

_test/syntax_include_deep.test.php 1 location

@@ 24-116 (lines=93) @@
21
 * @group plugin_backlinks
22
 * @group plugins
23
 */
24
class syntax_include_deep_plugin_backlinks_test extends DokuWikiTest {
25
26
    protected $pluginsEnabled = array('backlinks');
27
28
    /**
29
     * copy data.
30
     */
31
    public static function setUpBeforeClass(){
32
        parent::setUpBeforeClass();
33
        global $conf;
34
        $conf['allowdebug'] = 1;
35
36
        TestUtils::rcopy(TMP_DIR, dirname(__FILE__) . '/data/');
37
38
        dbglog("\nset up class syntax_plugin_backlinks_test");
39
    }
40
41
    function setUp() {
42
        parent::setUp();
43
44
        global $conf;
45
        $conf['allowdebug'] = 1;
46
        $conf['cachetime'] = -1;
47
48
        $data = array();
49
        search($data, $conf['datadir'], 'search_allpages', array('skipacl' => true));
50
51
        //dbglog($data, "pages for indexing");
52
53
        $verbose = false;
54
        $force = false;
55
        foreach($data as $val) {
56
            idx_addPage($val['id'], $verbose, $force);
57
        }
58
59
        if($conf['allowdebug']) {
60
            touch(DOKU_TMP_DATA.'cache/debug.log');
61
        }
62
    }
63
64
    public function tearDown() {
65
        parent::tearDown();
66
67
        global $conf;
68
        // try to get the debug log after running the test, print and clear
69
        if($conf['allowdebug']) {
70
            print "\n";
71
            readfile(DOKU_TMP_DATA.'cache/debug.log');
72
            unlink(DOKU_TMP_DATA.'cache/debug.log');
73
        }
74
    }
75
76
    public function testInclude() {
77
        $request = new TestRequest();
78
        $response = $request->get(array('id'=>'mmm:nnn:ooo:start'), '/doku.php');
79
80
        $this->assertTrue(
81
            strpos($response->getContent(), 'Backlinks from pages in /aaa/bbb/cc/') !== false,
82
            '"Backlinks from pages in /aaa/bbb/cc/" was not in the output'
83
        );
84
85
        $this->assertFalse(
86
            strpos($response->getContent(), 'linking to a page form aaa') !== false,
87
            '"linking to a page form aaa" should not be in the output'
88
        );
89
90
91
92
        $doc = phpQuery::newDocument($response->getContent());
93
        // look for id="plugin__backlinks"
94
        $this->assertEquals(
95
                            1,
96
                            pq('#plugin__backlinks', $doc)->length,
97
                            'There should be one backlinks element'
98
                           );
99
100
        $wikilinks = pq('#plugin__backlinks ul li', $doc);
101
        dbglog($wikilinks->text(), 'found backlinks');
102
        $this->assertEquals(
103
                            5,
104
                            $wikilinks->contents()->length,
105
                            'There should be 5 backlinks'
106
                           );
107
108
        $lastlink = pq('a:last',$wikilinks);
109
        dbglog($lastlink->text(),"last backlink");
110
        $this->assertEquals(
111
                            $lastlink->text(),
112
                            'linking to a namespace',
113
                            'The last backlink should be "linking to a namespace"'
114
                           );
115
    }
116
}
117