Skip to content

Commit c717328

Browse files
committed
Adding PHPUnit as dev dependency
and update the tests to use the new phpunit version - update the tests which has no assertions - drop older php versions - upgrade symfony/yaml - update to use the latest version of checkout action
1 parent 2e6eb0c commit c717328

12 files changed

+133
-42
lines changed

.github/CONTRIBUTING.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Contributing
2+
3+
Contributions are **welcome** and will be fully **credited**. We accept contributions via Pull Requests on [GitHub](https://github.com/dflydev/dflydev-dot-access-configuration).
4+
5+
## Pull Requests
6+
7+
- **[PSR-12 Coding Standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-12-extended-coding-style-guide.md)** - The easiest way to apply the conventions is to run `./vendor/bin/phpcbf`.
8+
9+
- **Add tests!** - Your patch won't be accepted if it doesn't have tests.
10+
11+
- **Tests must pass** - All automated tests, including things like code style checks, but be passing before we'll consider merging the change.
12+
13+
- **Document any change in behaviour** - Make sure the `README.md` and any other relevant documentation are kept up-to-date.
14+
15+
- **Consider our release cycle** - We try to follow [SemVer v2.0.0](https://semver.org/). Randomly breaking public APIs is not an option.
16+
17+
- **Create feature branches** - Don't ask us to pull from your default branch.
18+
19+
- **One pull request per feature** - If you want to do more than one thing, send multiple pull requests.
20+
21+
- **Send coherent history** - Make sure each individual commit in your pull request is meaningful. If you had to make multiple intermediate commits while developing, please squash them before submitting.
22+
23+
24+
## Running Tests
25+
26+
``` bash
27+
$ composer test
28+
```
29+
30+
31+
**Happy coding**!

.github/workflows/tests.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Tests
2+
3+
on:
4+
push: ~
5+
pull_request: ~
6+
7+
jobs:
8+
9+
phpunit:
10+
name: PHPUnit on ${{ matrix.php }} ${{ matrix.composer-flags }}
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
php: ['7.4', '8.0', '8.1']
15+
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v3
19+
with:
20+
fetch-depth: 1
21+
22+
- name: Setup PHP
23+
uses: shivammathur/setup-php@v2
24+
with:
25+
php-version: ${{ matrix.php }}
26+
extensions: curl
27+
coverage: pcov
28+
29+
- name: Install Composer dependencies
30+
uses: ramsey/composer-install@v2
31+
with:
32+
composer-options: "--no-progress --prefer-dist --optimize-autoloader"
33+
34+
- name: Configure matchers
35+
uses: mheap/phpunit-matcher-action@v1
36+
37+
- name: PHPUnit
38+
run: ./vendor/bin/phpunit --coverage-text --teamcity

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
.phpunit.result.cache
12
composer.lock
23
vendor

composer.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,13 @@
1818
}
1919
],
2020
"require": {
21-
"php": ">=5.3.2",
21+
"php": ">=7.4",
2222
"dflydev/dot-access-data": "1.*",
2323
"dflydev/placeholder-resolver": "1.*"
2424
},
2525
"require-dev": {
26-
"symfony/yaml": "~2.1"
26+
"symfony/yaml": "^5.4 || ^6.0",
27+
"phpunit/phpunit": "^9.3"
2728
},
2829
"suggest": {
2930
"symfony/yaml": "Required for using the YAML Configuration Builders"

phpunit.xml.dist

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<phpunit colors="true" bootstrap="tests/bootstrap.php">
3-
<testsuites>
4-
<testsuite name="Dot Access Configuration Test Suite">
5-
<directory>./tests/Dflydev/DotAccessConfiguration</directory>
6-
</testsuite>
7-
</testsuites>
8-
9-
<filter>
10-
<whitelist>
11-
<directory>./src/Dflydev/DotAccessConfiguration/</directory>
12-
</whitelist>
13-
</filter>
2+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" colors="true" bootstrap="tests/bootstrap.php" xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
3+
<coverage>
4+
<include>
5+
<directory>./src/Dflydev/DotAccessConfiguration/</directory>
6+
</include>
7+
</coverage>
8+
<testsuites>
9+
<testsuite name="Dot Access Configuration Test Suite">
10+
<directory>./tests/Dflydev/DotAccessConfiguration</directory>
11+
</testsuite>
12+
</testsuites>
1413
</phpunit>

tests/Dflydev/DotAccessConfiguration/AbstractConfigurationBuilderTest.php

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,33 @@
1111

1212
namespace Dflydev\DotAccessConfiguration;
1313

14-
class AbstractConfigurationBuilderTest extends \PHPUnit_Framework_TestCase
14+
use PHPUnit\Framework\TestCase;
15+
16+
class AbstractConfigurationBuilderTest extends TestCase
1517
{
1618
public function testPlaceholderResolver()
1719
{
18-
$placeholderResolver = $this->getMock('Dflydev\PlaceholderResolver\PlaceholderResolverInterface');
20+
$placeholderResolver = $this->getMockBuilder(\Dflydev\PlaceholderResolver\PlaceholderResolverInterface::class)->getMock();
1921

20-
$placeholderResolverFactory = $this->getMock('Dflydev\DotAccessConfiguration\PlaceholderResolverFactoryInterface');
22+
$placeholderResolverFactory = $this->getMockBuilder(\Dflydev\DotAccessConfiguration\PlaceholderResolverFactoryInterface::class)->getMock();
2123
$placeholderResolverFactory
2224
->expects($this->once())
2325
->method('create')
2426
->will($this->returnValue($placeholderResolver))
2527
;
2628

27-
$configurationBuilder = $this->getMockForAbstractClass('Dflydev\DotAccessConfiguration\AbstractConfigurationBuilder');
29+
$configurationBuilder = $this->getMockForAbstractClass(\Dflydev\DotAccessConfiguration\AbstractConfigurationBuilder::class);
2830
$configurationBuilder
2931
->expects($this->once())
30-
->method('internalBuild')
31-
;
32+
->method('internalBuild');
3233

3334
$configurationBuilder->setPlaceholderResolverFactory($placeholderResolverFactory);
3435
$configurationBuilder->build();
3536
}
3637

3738
public function testReconfigure()
3839
{
39-
$configuration000 = $this->getMock('Dflydev\DotAccessConfiguration\ConfigurationInterface');
40+
$configuration000 = $this->getMockBuilder(\Dflydev\DotAccessConfiguration\ConfigurationInterface::class)->getMock();
4041

4142
$configuration000
4243
->expects($this->exactly(2))
@@ -45,7 +46,7 @@ public function testReconfigure()
4546
->will($this->returnValue('FOO'))
4647
;
4748

48-
$configuration001 = $this->getMock('Dflydev\DotAccessConfiguration\ConfigurationInterface');
49+
$configuration001 = $this->getMockBuilder(\Dflydev\DotAccessConfiguration\ConfigurationInterface::class)->getMock();
4950

5051
$configuration001
5152
->expects($this->exactly(2))
@@ -54,16 +55,16 @@ public function testReconfigure()
5455
->will($this->returnValue('BAR'))
5556
;
5657

57-
$placeholderResolver = $this->getMock('Dflydev\PlaceholderResolver\PlaceholderResolverInterface');
58+
$placeholderResolver = $this->getMockBuilder(\Dflydev\PlaceholderResolver\PlaceholderResolverInterface::class)->getMock();
5859

59-
$placeholderResolverFactory = $this->getMock('Dflydev\DotAccessConfiguration\PlaceholderResolverFactoryInterface');
60+
$placeholderResolverFactory = $this->getMockBuilder(\Dflydev\DotAccessConfiguration\PlaceholderResolverFactoryInterface::class)->getMock();
6061
$placeholderResolverFactory
6162
->expects($this->exactly(2))
6263
->method('create')
6364
->will($this->returnValue($placeholderResolver))
6465
;
6566

66-
$configurationFactory = $this->getMock('Dflydev\DotAccessConfiguration\ConfigurationFactoryInterface');
67+
$configurationFactory = $this->getMockBuilder(\Dflydev\DotAccessConfiguration\ConfigurationFactoryInterface::class)->getMock();
6768
$configurationFactory
6869
->expects($this->exactly(2))
6970
->method('create')

tests/Dflydev/DotAccessConfiguration/ConfigurationDataSourceTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111

1212
namespace Dflydev\DotAccessConfiguration;
1313

14-
class ConfigurationDataSourceTest extends \PHPUnit_Framework_TestCase
14+
use PHPUnit\Framework\TestCase;
15+
16+
class ConfigurationDataSourceTest extends TestCase
1517
{
1618
public function test()
1719
{
18-
$configuration = $this->getMock('Dflydev\DotAccessConfiguration\Configuration');
20+
$configuration = $this->getMockBuilder(\Dflydev\DotAccessConfiguration\Configuration::class)->getMock();
1921

2022
$configuration
2123
->expects($this->any())

tests/Dflydev/DotAccessConfiguration/ConfigurationFactoryTest.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,15 @@
1111

1212
namespace Dflydev\DotAccessConfiguration;
1313

14-
class ConfigurationFactoryTest extends \PHPUnit_Framework_TestCase
14+
use PHPUnit\Framework\TestCase;
15+
16+
class ConfigurationFactoryTest extends TestCase
1517
{
1618
public function testCreate()
1719
{
1820
$configurationFactory = new ConfigurationFactory;
1921
$configuration = $configurationFactory->create();
22+
23+
$this->assertNotNull($configuration);
2024
}
2125
}

tests/Dflydev/DotAccessConfiguration/ConfigurationTest.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111

1212
namespace Dflydev\DotAccessConfiguration;
1313

14-
class ConfigurationTest extends \PHPUnit_Framework_TestCase
14+
use PHPUnit\Framework\TestCase;
15+
16+
class ConfigurationTest extends TestCase
1517
{
1618
protected function getTestData()
1719
{
@@ -148,7 +150,7 @@ public function testImport()
148150

149151
public function testSetPlaceholderResolver()
150152
{
151-
$placeholderResolver = $this->getMock('Dflydev\PlaceholderResolver\PlaceholderResolverInterface');
153+
$placeholderResolver = $this->getMockBuilder(\Dflydev\PlaceholderResolver\PlaceholderResolverInterface::class)->getMock();
152154

153155
$placeholderResolver
154156
->expects($this->once())

tests/Dflydev/DotAccessConfiguration/PlaceholderResolverFactoryTest.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,16 @@
1111

1212
namespace Dflydev\DotAccessConfiguration;
1313

14-
class PlaceholderResolverFactoryTest extends \PHPUnit_Framework_TestCase
14+
use PHPUnit\Framework\TestCase;
15+
16+
class PlaceholderResolverFactoryTest extends TestCase
1517
{
1618
public function testCreate()
1719
{
18-
$configuration = $this->getMock('Dflydev\DotAccessConfiguration\Configuration');
20+
$configuration = $this->getMockBuilder(\Dflydev\DotAccessConfiguration\Configuration::class)->getMock();
1921
$placeholderResolverFactory = new PlaceholderResolverFactory;
2022
$placeholderResolver = $placeholderResolverFactory->create($configuration);
23+
24+
$this->assertNotNull($placeholderResolver);
2125
}
2226
}

0 commit comments

Comments
 (0)