Issues (15)

_test/general.test.php (5 issues)

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 geophp plugin
20
 *
21
 * @group plugin_geophp
22
 * @group plugin_dokuwikispatial
23
 * @group plugins
24
 */
25
class general_plugin_geophp_test extends DokuWikiTest
0 ignored issues
show
The type DokuWikiTest was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
26
{
27
28
    protected $pluginsEnabled = array('geophp');
29
30
    /**
31
     * Simple test to make sure the plugin.info.txt is in correct format
32
     */
33
    final public function test_plugininfo(): void
34
    {
35
        $file = __DIR__ . '/../plugin.info.txt';
36
        $this->assertFileExists($file);
37
38
        $info = confToHash($file);
0 ignored issues
show
The function confToHash was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

38
        $info = /** @scrutinizer ignore-call */ confToHash($file);
Loading history...
39
40
        $this->assertArrayHasKey('base', $info);
41
        $this->assertArrayHasKey('author', $info);
42
        $this->assertArrayHasKey('email', $info);
43
        $this->assertArrayHasKey('date', $info);
44
        $this->assertArrayHasKey('name', $info);
45
        $this->assertArrayHasKey('desc', $info);
46
        $this->assertArrayHasKey('url', $info);
47
48
        $this->assertEquals('geophp', $info['base']);
49
        $this->assertRegExp('/^https?:\/\//', $info['url']);
50
        $this->assertTrue(mail_isvalid($info['email']));
0 ignored issues
show
The function mail_isvalid was not found. Maybe you did not declare it correctly or list all dependencies? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

50
        $this->assertTrue(/** @scrutinizer ignore-call */ mail_isvalid($info['email']));
Loading history...
51
        $this->assertRegExp('/^\d\d\d\d-\d\d-\d\d$/', $info['date']);
52
        $this->assertTrue(false !== strtotime($info['date']));
53
    }
54
55
    /**
56
     * test if plugin is loaded.
57
     */
58
    final public function test_plugin_geophp_isloaded(): void
59
    {
60
        global $plugin_controller;
0 ignored issues
show
Compatibility Best Practice introduced by
Use of global functionality is not recommended; it makes your code harder to test, and less reusable.

Instead of relying on global state, we recommend one of these alternatives:

1. Pass all data via parameters

function myFunction($a, $b) {
    // Do something
}

2. Create a class that maintains your state

class MyClass {
    private $a;
    private $b;

    public function __construct($a, $b) {
        $this->a = $a;
        $this->b = $b;
    }

    public function myFunction() {
        // Do something
    }
}
Loading history...
61
        $this->assertContains(
62
            'geophp', $plugin_controller->getList(), "geophp plugin is loaded"
63
        );
64
    }
65
}
66