xref: /plugin/description/_test/global.test.php (revision ab9621a8fb1013390a63f541aa535baaaab10a16)
1*ab9621a8SMark Prins<?php
2*ab9621a8SMark Prins
3*ab9621a8SMark Prins/**
4*ab9621a8SMark Prins * Syntax 'keyword_source' tests for the description plugin.
5*ab9621a8SMark Prins *
6*ab9621a8SMark Prins * @group plugin_description
7*ab9621a8SMark Prins * @group plugins
8*ab9621a8SMark Prins *
9*ab9621a8SMark Prins * @author Mark C. Prins <mprins@users.sf.net>
10*ab9621a8SMark Prins *
11*ab9621a8SMark Prins * @noinspection AutoloadingIssuesInspection
12*ab9621a8SMark Prins * @phpcs:disable Squiz.Classes.ValidClassName.NotCamelCaps
13*ab9621a8SMark Prins */
14*ab9621a8SMark Prinsclass global_plugin_description_test extends DokuWikiTest
15*ab9621a8SMark Prins{
16*ab9621a8SMark Prins    protected $pluginsEnabled = array('description');
17*ab9621a8SMark Prins
18*ab9621a8SMark Prins    /**
19*ab9621a8SMark Prins     * copy data and pages.
20*ab9621a8SMark Prins     */
21*ab9621a8SMark Prins    public static function setUpBeforeClass(): void
22*ab9621a8SMark Prins    {
23*ab9621a8SMark Prins        parent::setUpBeforeClass();
24*ab9621a8SMark Prins        TestUtils::rcopy(TMP_DIR, __DIR__ . '/data/');
25*ab9621a8SMark Prins    }
26*ab9621a8SMark Prins
27*ab9621a8SMark Prins    final public function setUp(): void
28*ab9621a8SMark Prins    {
29*ab9621a8SMark Prins        global $conf;
30*ab9621a8SMark Prins        parent::setUp();
31*ab9621a8SMark Prins        $conf['plugin']['description']['keyword_source'] = 'global';
32*ab9621a8SMark Prins        $conf['plugin']['description']['global_description'] = 'my global description';
33*ab9621a8SMark Prins    }
34*ab9621a8SMark Prins
35*ab9621a8SMark Prins    /**
36*ab9621a8SMark Prins     * @throws Exception if anything goes wrong
37*ab9621a8SMark Prins     */
38*ab9621a8SMark Prins    final public function testHeaderFromSyntax(): void
39*ab9621a8SMark Prins    {
40*ab9621a8SMark Prins        $index = plugin_load('syntax', 'description');
41*ab9621a8SMark Prins        $this->assertInstanceOf(syntax_plugin_description::class, $index);
42*ab9621a8SMark Prins
43*ab9621a8SMark Prins        $request = new TestRequest();
44*ab9621a8SMark Prins        $response = $request->get(array('id' => 'description_syntax'));
45*ab9621a8SMark Prins
46*ab9621a8SMark Prins        // check description meta headers, set from file
47*ab9621a8SMark Prins        $this->assertEquals(
48*ab9621a8SMark Prins            'my global description',
49*ab9621a8SMark Prins            $response->queryHTML('meta[name="description"]')->attr('content')
50*ab9621a8SMark Prins        );
51*ab9621a8SMark Prins    }
52*ab9621a8SMark Prins}