xref: /plugin/description/_test/syntax.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 syntax_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'] = 'syntax';
32*ab9621a8SMark Prins    }
33*ab9621a8SMark Prins
34*ab9621a8SMark Prins    /**
35*ab9621a8SMark Prins     * @throws Exception if anything goes wrong
36*ab9621a8SMark Prins     */
37*ab9621a8SMark Prins    final public function testHeaderFromSyntax(): void
38*ab9621a8SMark Prins    {
39*ab9621a8SMark Prins        $request = new TestRequest();
40*ab9621a8SMark Prins        $response = $request->get(array('id' => 'description_syntax'));
41*ab9621a8SMark Prins
42*ab9621a8SMark Prins        // check description meta headers, set from file
43*ab9621a8SMark Prins        $this->assertStringContainsString(
44*ab9621a8SMark Prins            'Place the page description here',
45*ab9621a8SMark Prins            $response->queryHTML('meta[name="description"]')->attr('content')
46*ab9621a8SMark Prins        );
47*ab9621a8SMark Prins    }
48*ab9621a8SMark Prins}
49