1*e689d293SMark Prins<?php 2*e689d293SMark Prins/* 3*e689d293SMark Prins * @phpcs:disable Squiz.Classes.ValidClassName.NotCamelCaps 4*e689d293SMark Prins * @noinspection AutoloadingIssuesInspection 5*e689d293SMark Prins */ 6*e689d293SMark Prins 7*e689d293SMark Prins/** 8*e689d293SMark Prins * General tests for the description plugin 9*e689d293SMark Prins * 10*e689d293SMark Prins * @group plugin_description 11*e689d293SMark Prins * @group plugins 12*e689d293SMark Prins * 13*e689d293SMark Prins * @author Mark C. Prins <mprins@users.sf.net> 14*e689d293SMark Prins */ 15*e689d293SMark Prinsclass general_plugin_description_test extends DokuWikiTest 16*e689d293SMark Prins{ 17*e689d293SMark Prins 18*e689d293SMark Prins protected $pluginsEnabled = array('description'); 19*e689d293SMark Prins 20*e689d293SMark Prins /** 21*e689d293SMark Prins * Simple test to make sure the plugin.info.txt is in correct format 22*e689d293SMark Prins */ 23*e689d293SMark Prins public function test_plugininfo(): void 24*e689d293SMark Prins { 25*e689d293SMark Prins $file = __DIR__ . '/../plugin.info.txt'; 26*e689d293SMark Prins $this->assertFileExists($file); 27*e689d293SMark Prins 28*e689d293SMark Prins $info = confToHash($file); 29*e689d293SMark Prins 30*e689d293SMark Prins $this->assertArrayHasKey('base', $info); 31*e689d293SMark Prins $this->assertArrayHasKey('author', $info); 32*e689d293SMark Prins $this->assertArrayHasKey('email', $info); 33*e689d293SMark Prins $this->assertArrayHasKey('date', $info); 34*e689d293SMark Prins $this->assertArrayHasKey('name', $info); 35*e689d293SMark Prins $this->assertArrayHasKey('desc', $info); 36*e689d293SMark Prins $this->assertArrayHasKey('url', $info); 37*e689d293SMark Prins 38*e689d293SMark Prins $this->assertEquals('description', $info['base']); 39*e689d293SMark Prins $this->assertRegExp('/^https?:\/\//', $info['url']); 40*e689d293SMark Prins $this->assertTrue(mail_isvalid($info['email'])); 41*e689d293SMark Prins $this->assertRegExp('/^\d\d\d\d-\d\d-\d\d$/', $info['date']); 42*e689d293SMark Prins $this->assertTrue(false !== strtotime($info['date'])); 43*e689d293SMark Prins } 44*e689d293SMark Prins 45*e689d293SMark Prins /** 46*e689d293SMark Prins * test if plugin is loaded. 47*e689d293SMark Prins */ 48*e689d293SMark Prins public function test_plugin_description_isloaded() 49*e689d293SMark Prins { 50*e689d293SMark Prins global $plugin_controller; 51*e689d293SMark Prins $this->assertContains( 52*e689d293SMark Prins 'description', $plugin_controller->getList(), "description plugin is loaded" 53*e689d293SMark Prins ); 54*e689d293SMark Prins } 55*e689d293SMark Prins} 56