1*52fa4f27SMark Prins<?php 2*52fa4f27SMark Prins/* 3*52fa4f27SMark Prins * Copyright (c) 2016 Mark C. Prins <mprins@users.sf.net> 4*52fa4f27SMark Prins * 5*52fa4f27SMark Prins * Permission to use, copy, modify, and distribute this software for any 6*52fa4f27SMark Prins * purpose with or without fee is hereby granted, provided that the above 7*52fa4f27SMark Prins * copyright notice and this permission notice appear in all copies. 8*52fa4f27SMark Prins * 9*52fa4f27SMark Prins * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10*52fa4f27SMark Prins * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11*52fa4f27SMark Prins * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12*52fa4f27SMark Prins * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13*52fa4f27SMark Prins * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14*52fa4f27SMark Prins * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15*52fa4f27SMark Prins * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16*52fa4f27SMark Prins */ 17*52fa4f27SMark Prins 18*52fa4f27SMark Prins/** 19*52fa4f27SMark Prins * General tests for the backlinks plugin 20*52fa4f27SMark Prins * 21*52fa4f27SMark Prins * @group plugin_backlinks 22*52fa4f27SMark Prins * @group plugins 23*52fa4f27SMark Prins */ 24*52fa4f27SMark Prinsclass general_plugin_backlinks_test extends DokuWikiTest { 25*52fa4f27SMark Prins 26*52fa4f27SMark Prins protected $pluginsEnabled = array('backlinks'); 27*52fa4f27SMark Prins 28*52fa4f27SMark Prins /** 29*52fa4f27SMark Prins * Simple test to make sure the plugin.info.txt is in correct format 30*52fa4f27SMark Prins */ 31*52fa4f27SMark Prins public function test_plugininfo() { 32*52fa4f27SMark Prins $file = __DIR__ . '/../plugin.info.txt'; 33*52fa4f27SMark Prins $this->assertFileExists($file); 34*52fa4f27SMark Prins 35*52fa4f27SMark Prins $info = confToHash($file); 36*52fa4f27SMark Prins 37*52fa4f27SMark Prins $this->assertArrayHasKey('base', $info); 38*52fa4f27SMark Prins $this->assertArrayHasKey('author', $info); 39*52fa4f27SMark Prins $this->assertArrayHasKey('email', $info); 40*52fa4f27SMark Prins $this->assertArrayHasKey('date', $info); 41*52fa4f27SMark Prins $this->assertArrayHasKey('name', $info); 42*52fa4f27SMark Prins $this->assertArrayHasKey('desc', $info); 43*52fa4f27SMark Prins $this->assertArrayHasKey('url', $info); 44*52fa4f27SMark Prins 45*52fa4f27SMark Prins $this->assertEquals('backlinks', $info['base']); 46*52fa4f27SMark Prins $this->assertRegExp('/^https?:\/\//', $info['url']); 47*52fa4f27SMark Prins $this->assertTrue(mail_isvalid($info['email'])); 48*52fa4f27SMark Prins $this->assertRegExp('/^\d\d\d\d-\d\d-\d\d$/', $info['date']); 49*52fa4f27SMark Prins $this->assertTrue(false !== strtotime($info['date'])); 50*52fa4f27SMark Prins } 51*52fa4f27SMark Prins 52*52fa4f27SMark Prins public function test_plugin_backlinks_isloaded() { 53*52fa4f27SMark Prins global $plugin_controller; 54*52fa4f27SMark Prins $this->assertTrue( 55*52fa4f27SMark Prins in_array('backlinks', $plugin_controller->getList()), 56*52fa4f27SMark Prins "backlinks plugin is loaded" 57*52fa4f27SMark Prins ); 58*52fa4f27SMark Prins } 59*52fa4f27SMark Prins} 60