1<?php 2/** 3 * General tests for the skilltagicon plugin 4 * 5 * @group plugin_skilltagicon 6 * @group plugins 7 */ 8class general_plugin_skilltagicon_test extends DokuWikiTest { 9 10 /** 11 * Simple test to make sure the plugin.info.txt is in correct format 12 */ 13 public function test_plugininfo() { 14 $file = __DIR__.'/../plugin.info.txt'; 15 $this->assertFileExists($file); 16 17 $info = confToHash($file); 18 19 $this->assertArrayHasKey('base', $info); 20 $this->assertArrayHasKey('author', $info); 21 $this->assertArrayHasKey('email', $info); 22 $this->assertArrayHasKey('date', $info); 23 $this->assertArrayHasKey('name', $info); 24 $this->assertArrayHasKey('desc', $info); 25 $this->assertArrayHasKey('url', $info); 26 27 $this->assertEquals('skilltagicon', $info['base']); 28 $this->assertRegExp('/^https?:\/\//', $info['url']); 29 $this->assertTrue(mail_isvalid($info['email'])); 30 $this->assertRegExp('/^\d\d\d\d-\d\d-\d\d$/', $info['date']); 31 $this->assertTrue(false !== strtotime($info['date'])); 32 } 33 34 /** 35 * Test to ensure that every conf['...'] entry in conf/default.php has a corresponding meta['...'] entry in 36 * conf/metadata.php. 37 */ 38 public function test_plugin_conf() { 39 include(__DIR__.'/../conf/default.php'); 40 include(__DIR__.'/../conf/metadata.php'); 41 42 if (gettype($conf) != 'NULL' && gettype($meta) != 'NULL') { 43 foreach($conf as $key => $value) { 44 $this->assertTrue(array_key_exists($key, $meta), 'Key $meta[\'' . $key . '\'] missing in ' . DOKU_PLUGIN . 'skilltagicon/conf/metadata.php'); 45 } 46 47 foreach($meta as $key => $value) { 48 $this->assertTrue(array_key_exists($key, $conf), 'Key $conf[\'' . $key . '\'] missing in ' . DOKU_PLUGIN . 'skilltagicon/conf/default.php'); 49 } 50 } 51 52 } 53} 54