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
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. ![]() |
|||||
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
![]() |
|||||
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
![]() |
|||||
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 1. Pass all data via parametersfunction myFunction($a, $b) {
// Do something
}
2. Create a class that maintains your stateclass MyClass {
private $a;
private $b;
public function __construct($a, $b) {
$this->a = $a;
$this->b = $b;
}
public function myFunction() {
// Do something
}
}
![]() |
|||||
61 | $this->assertContains( |
||||
62 | 'geophp', $plugin_controller->getList(), "geophp plugin is loaded" |
||||
63 | ); |
||||
64 | } |
||||
65 | } |
||||
66 |
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:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths