xref: /plugin/openlayersmap/_test/general.test.php (revision 57f8d5bb7862220bc86367226edbe0c27b689270)
19c37410dSMark Prins<?php
29c37410dSMark Prins/*
39c37410dSMark Prins * Copyright (c) 2016 Mark C. Prins <mprins@users.sf.net>
49c37410dSMark Prins *
59c37410dSMark Prins * Permission to use, copy, modify, and distribute this software for any
69c37410dSMark Prins * purpose with or without fee is hereby granted, provided that the above
79c37410dSMark Prins * copyright notice and this permission notice appear in all copies.
89c37410dSMark Prins *
99c37410dSMark Prins * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
109c37410dSMark Prins * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
119c37410dSMark Prins * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
129c37410dSMark Prins * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
139c37410dSMark Prins * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
149c37410dSMark Prins * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
159c37410dSMark Prins * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
169c37410dSMark Prins */
179c37410dSMark Prins
189c37410dSMark Prins/**
199c37410dSMark Prins * General tests for the openlayersmap plugin
209c37410dSMark Prins *
219c37410dSMark Prins * @group plugin_openlayersmap
229c37410dSMark Prins * @group plugin_dokuwikispatial
239c37410dSMark Prins * @group plugins
249c37410dSMark Prins */
259c37410dSMark Prinsclass general_plugin_openlayersmap_test extends DokuWikiTest {
269c37410dSMark Prins
279c37410dSMark Prins    protected $pluginsEnabled = array('openlayersmap', 'geophp');
289c37410dSMark Prins
299c37410dSMark Prins    /**
30*57f8d5bbSMark Prins     * Simple test to make sure the plugin.info.txt is in correct format.
319c37410dSMark Prins     */
32*57f8d5bbSMark Prins    final public function test_plugininfo(): void {
339c37410dSMark Prins        $file = __DIR__ . '/../plugin.info.txt';
34*57f8d5bbSMark Prins        self::assertFileExists($file);
359c37410dSMark Prins
369c37410dSMark Prins        $info = confToHash($file);
379c37410dSMark Prins
38*57f8d5bbSMark Prins        self::assertArrayHasKey('base', $info);
39*57f8d5bbSMark Prins        self::assertArrayHasKey('author', $info);
40*57f8d5bbSMark Prins        self::assertArrayHasKey('email', $info);
41*57f8d5bbSMark Prins        self::assertArrayHasKey('date', $info);
42*57f8d5bbSMark Prins        self::assertArrayHasKey('name', $info);
43*57f8d5bbSMark Prins        self::assertArrayHasKey('desc', $info);
44*57f8d5bbSMark Prins        self::assertArrayHasKey('url', $info);
459c37410dSMark Prins
46*57f8d5bbSMark Prins        self::assertEquals('openlayersmap', $info['base']);
47*57f8d5bbSMark Prins        self::assertRegExp('/^https?:\/\//', $info['url']);
48*57f8d5bbSMark Prins        self::assertTrue(mail_isvalid($info['email']));
49*57f8d5bbSMark Prins        self::assertRegExp('/^\d\d\d\d-\d\d-\d\d$/', $info['date']);
50*57f8d5bbSMark Prins        self::assertTrue(false !== strtotime($info['date']));
519c37410dSMark Prins    }
529c37410dSMark Prins
539c37410dSMark Prins    /**
549c37410dSMark Prins     * test if plugin is loaded.
559c37410dSMark Prins     */
56*57f8d5bbSMark Prins    final public function test_plugin_openlayersmap_isloaded(): void {
579c37410dSMark Prins        global $plugin_controller;
58*57f8d5bbSMark Prins        self::assertContains(
59*57f8d5bbSMark Prins            'geophp', $plugin_controller->getList(), "geophp plugin is loaded"
609c37410dSMark Prins        );
61*57f8d5bbSMark Prins        self::assertContains(
62*57f8d5bbSMark Prins            'openlayersmap', $plugin_controller->getList(), "openlayersmap plugin is loaded"
639c37410dSMark Prins        );
649c37410dSMark Prins    }
659c37410dSMark Prins}
66