general_plugin_yalist_test::test_plugininfo()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

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