xref: /plugin/backlinks/_test/general.test.php (revision 52fa4f272a2e4333b8f0a813a57d59d386575820)
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