Skip to content

Commit 449eb32

Browse files
authored
Merge pull request #7 from codebtech/feat/merge-reports
Update testing files and implement Docker environment
2 parents 9910c10 + 049bc94 commit 449eb32

8 files changed

+98
-64
lines changed

Dockerfile

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Use the official PHP 8.2 image from Docker Hub
2+
FROM php:8.2-cli
3+
4+
# Install Xdebug extension
5+
RUN pecl install xdebug && docker-php-ext-enable xdebug
6+
7+
# Configure Xdebug
8+
RUN echo "xdebug.mode=debug,coverage" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
9+
echo "xdebug.client_host=host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini && \
10+
echo "xdebug.client_port=9000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
11+
12+
# Expose port 9000 for xdebug
13+
EXPOSE 9000
14+
15+
# Install git, unzip (required by Composer) and Composer itself
16+
RUN apt-get update \
17+
&& apt-get install -y \
18+
git \
19+
unzip \
20+
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
21+
&& php composer-setup.php --install-dir=/usr/bin --filename=composer \
22+
&& php -r "unlink('composer-setup.php');"
23+
24+
WORKDIR /var/www/html
25+
26+
COPY . /var/www/html
27+
28+
CMD ["tail", "-f", "/dev/null"]

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# CoverageBadge
22

3+
![](./badges/php.svg)
4+
35
CoverageBadge is a library for creating an SVG coverage badge from a Clover XML file.
46

57
## Installation

composer.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,6 @@
3030
"scripts": {
3131
"lint": "phpcs --ignore=/vendor/* --standard=PSR12 .",
3232
"lint:fix": "phpcbf --ignore=/vendor/* --standard=PSR12 .",
33-
"test": "phpunit --testdox"
33+
"test": "phpunit --testdox --coverage-clover coverage/clover.xml --coverage-filter src/"
3434
}
3535
}

docker-compose.yml

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
version: '3'
2+
services:
3+
app:
4+
build:
5+
context: .
6+
dockerfile: Dockerfile
7+
volumes:
8+
- .:/var/www/html

phpunit.xml

-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/11.1/phpunit.xsd" bootstrap="vendor/autoload.php" colors="true" columns="max" cacheDirectory=".phpunit.cache">
3-
<coverage>
4-
<report>
5-
<clover outputFile="coverage.clover.xml"/>
6-
<html outputDirectory="coverage_html"/>
7-
</report>
8-
</coverage>
93
<testsuites>
104
<testsuite name="unit">
115
<directory suffix=".php">./Tests/</directory>

tests/BadgeComposerTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ public function testProcessTheCloverFileAndCalculateTheCoverage(): void
8181
{
8282
$this->processFile($this->inputFile);
8383

84-
$this->assertEquals(51, $this->badgeComposer->getTotalCoverage());
84+
$this->assertEquals(43, $this->badgeComposer->getTotalCoverage());
8585
}
8686

8787
/**
@@ -92,6 +92,6 @@ public function testProcessMultipleCloverFilesAndCalculateTheCoverage(): void
9292
$this->processFile($this->inputFile);
9393
$this->processFile($this->inputFile2);
9494

95-
$this->assertEquals(94, $this->badgeComposer->getTotalCoverage());
95+
$this->assertEquals(83, $this->badgeComposer->getTotalCoverage());
9696
}
9797
}

tests/test-input1.xml

+53-48
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,58 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<coverage generated="1717008513">
3-
<project timestamp="1717008513">
4-
<file name="/var/www/html/wp-content/plugins/nuk-wp-block-plugin-template/inc/Base/ScriptsEnqueue.php">
5-
<class name="NUK\WP\Inc\Base\ScriptsEnqueue" namespace="global">
6-
<metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="12"/>
2+
<coverage generated="1717164949">
3+
<project timestamp="1717164949">
4+
<file name="/var/www/html/src/BadgeComposer.php">
5+
<class name="CodeB\CoverageBadge\BadgeComposer" namespace="global">
6+
<metrics complexity="18" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="17" elements="46" coveredelements="20"/>
77
</class>
8-
<line num="28" type="method" name="register" visibility="public" complexity="1" crap="2" count="0"/>
9-
<line num="29" type="stmt" count="0"/>
10-
<line num="37" type="method" name="enqueue_admin_scripts" visibility="public" complexity="1" crap="2" count="0"/>
11-
<line num="38" type="stmt" count="0"/>
12-
<line num="39" type="stmt" count="0"/>
13-
<line num="41" type="stmt" count="0"/>
14-
<line num="42" type="stmt" count="0"/>
15-
<line num="43" type="stmt" count="0"/>
16-
<line num="44" type="stmt" count="0"/>
17-
<line num="45" type="stmt" count="0"/>
18-
<line num="46" type="stmt" count="0"/>
19-
<line num="47" type="stmt" count="0"/>
20-
<metrics loc="50" ncloc="27" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="4"/>
8+
<line num="26" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
9+
<line num="28" type="stmt" count="4"/>
10+
<line num="29" type="stmt" count="4"/>
11+
<line num="30" type="stmt" count="4"/>
12+
<line num="32" type="stmt" count="4"/>
13+
<line num="40" type="method" name="getTotalCoverage" visibility="public" complexity="1" crap="1" count="2"/>
14+
<line num="42" type="stmt" count="2"/>
15+
<line num="56" type="method" name="validateFiles" visibility="private" complexity="4" crap="4" count="4"/>
16+
<line num="58" type="stmt" count="4"/>
17+
<line num="59" type="stmt" count="4"/>
18+
<line num="60" type="stmt" count="1"/>
19+
<line num="64" type="stmt" count="4"/>
20+
<line num="65" type="stmt" count="1"/>
21+
<line num="78" type="method" name="run" visibility="public" complexity="2" crap="6" count="0"/>
22+
<line num="80" type="stmt" count="0"/>
23+
<line num="81" type="stmt" count="0"/>
24+
<line num="83" type="stmt" count="0"/>
25+
<line num="95" type="method" name="processFile" visibility="private" complexity="4" crap="4.18" count="2"/>
26+
<line num="98" type="stmt" count="2"/>
27+
<line num="99" type="stmt" count="2"/>
28+
<line num="100" type="stmt" count="2"/>
29+
<line num="101" type="stmt" count="2"/>
30+
<line num="102" type="stmt" count="2"/>
31+
<line num="105" type="stmt" count="2"/>
32+
<line num="106" type="stmt" count="2"/>
33+
<line num="107" type="stmt" count="0"/>
34+
<line num="108" type="stmt" count="0"/>
35+
<line num="118" type="method" name="finalizeCoverage" visibility="private" complexity="6" crap="42" count="0"/>
36+
<line num="120" type="stmt" count="0"/>
37+
<line num="121" type="stmt" count="0"/>
38+
<line num="123" type="stmt" count="0"/>
39+
<line num="125" type="stmt" count="0"/>
40+
<line num="127" type="stmt" count="0"/>
41+
<line num="128" type="stmt" count="0"/>
42+
<line num="129" type="stmt" count="0"/>
43+
<line num="130" type="stmt" count="0"/>
44+
<line num="131" type="stmt" count="0"/>
45+
<line num="132" type="stmt" count="0"/>
46+
<line num="133" type="stmt" count="0"/>
47+
<line num="134" type="stmt" count="0"/>
48+
<line num="135" type="stmt" count="0"/>
49+
<line num="136" type="stmt" count="0"/>
50+
<line num="137" type="stmt" count="0"/>
51+
<line num="140" type="stmt" count="0"/>
52+
<line num="141" type="stmt" count="0"/>
53+
<line num="143" type="stmt" count="0"/>
54+
<metrics loc="146" ncloc="89" classes="1" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="17" elements="46" coveredelements="20"/>
2155
</file>
22-
<file name="/var/www/html/wp-content/plugins/nuk-wp-block-plugin-template/inc/Init.php">
23-
<class name="NUK\WP\Inc\Init" namespace="global">
24-
<metrics complexity="9" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="20" coveredelements="12"/>
25-
</class>
26-
<line num="32" type="method" name="get_services" visibility="public" complexity="1" crap="2" count="0"/>
27-
<line num="33" type="stmt" count="0"/>
28-
<line num="34" type="stmt" count="0"/>
29-
<line num="35" type="stmt" count="0"/>
30-
<line num="43" type="method" name="register_services" visibility="public" complexity="2" crap="6" count="0"/>
31-
<line num="44" type="stmt" count="0"/>
32-
<line num="45" type="stmt" count="0"/>
33-
<line num="46" type="stmt" count="0"/>
34-
<line num="55" type="method" name="deactivate" visibility="public" complexity="3" crap="12" count="0"/>
35-
<line num="56" type="stmt" count="0"/>
36-
<line num="57" type="stmt" count="0"/>
37-
<line num="58" type="stmt" count="0"/>
38-
<line num="59" type="stmt" count="0"/>
39-
<line num="71" type="method" name="register" visibility="private" complexity="1" crap="2" count="0"/>
40-
<line num="72" type="stmt" count="0"/>
41-
<line num="83" type="method" name="instantiate" visibility="private" complexity="2" crap="6" count="0"/>
42-
<line num="84" type="stmt" count="0"/>
43-
<line num="86" type="stmt" count="0"/>
44-
<line num="88" type="stmt" count="0"/>
45-
<line num="91" type="stmt" count="0"/>
46-
<metrics loc="94" ncloc="50" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="20" coveredelements="5"/>
47-
</file>
48-
<file name="/var/www/html/wp-content/plugins/nuk-wp-block-plugin-template/inc/Interfaces/Registrable.php">
49-
<metrics loc="29" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="4"/>
50-
</file>
51-
<metrics files="3" loc="173" ncloc="88" classes="2" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="32" coveredelements="12"/>
56+
<metrics files="1" loc="146" ncloc="89" classes="1" methods="6" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="40" coveredstatements="17" elements="46" coveredelements="20"/>
5257
</project>
5358
</coverage>

tests/test-input2.xml

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<coverage generated="1717008513">
33
<project timestamp="1717008513">
4-
<file name="/var/www/html/wp-content/plugins/nuk-wp-block-plugin-template/inc/Base/ScriptsEnqueue.php">
5-
<class name="NUK\WP\Inc\Base\ScriptsEnqueue" namespace="global">
4+
<file name="/var/www/html/enqueue.php">
5+
<class name="Base\ScriptsEnqueue" namespace="global">
66
<metrics complexity="2" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="33"/>
77
</class>
88
<line num="28" type="method" name="register" visibility="public" complexity="1" crap="2" count="0"/>
@@ -19,8 +19,8 @@
1919
<line num="47" type="stmt" count="0"/>
2020
<metrics loc="50" ncloc="27" classes="1" methods="2" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="10" coveredstatements="0" elements="12" coveredelements="0"/>
2121
</file>
22-
<file name="/var/www/html/wp-content/plugins/nuk-wp-block-plugin-template/inc/Init.php">
23-
<class name="NUK\WP\Inc\Init" namespace="global">
22+
<file name="/var/www/html/Init.php">
23+
<class name="Inc\Init" namespace="global">
2424
<metrics complexity="9" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="20" coveredelements="0"/>
2525
</class>
2626
<line num="32" type="method" name="get_services" visibility="public" complexity="1" crap="2" count="0"/>
@@ -45,9 +45,6 @@
4545
<line num="91" type="stmt" count="0"/>
4646
<metrics loc="94" ncloc="50" classes="1" methods="5" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="15" coveredstatements="0" elements="20" coveredelements="0"/>
4747
</file>
48-
<file name="/var/www/html/wp-content/plugins/nuk-wp-block-plugin-template/inc/Interfaces/Registrable.php">
49-
<metrics loc="29" ncloc="11" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
50-
</file>
5148
<metrics files="3" loc="173" ncloc="88" classes="2" methods="7" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="0" elements="32" coveredelements="0"/>
5249
</project>
5350
</coverage>

0 commit comments

Comments
 (0)