Skip to content

Commit 049bc94

Browse files
committed
Update testing files and implement Docker environment
Several changes were made predominantly to testing files and to the project environment. Test names and values were updated to reflect changes in the codebase. Docker and Docker Compose were introduced to standardize the project environment, described through the Dockerfile and docker-compose.yml. The PHPUnit configuration (phpunit.xml) was simplified by removing the coverage report section.
1 parent d465b6c commit 049bc94

File tree

8 files changed

+98
-64
lines changed

8 files changed

+98
-64
lines changed

Dockerfile

Lines changed: 28 additions & 0 deletions
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

Lines changed: 2 additions & 0 deletions
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 8 additions & 0 deletions
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

Lines changed: 0 additions & 6 deletions
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 53 additions & 48 deletions
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

Lines changed: 4 additions & 7 deletions
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)