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