Skip to content

Commit 27e9a3c

Browse files
authored
Merge pull request #13 from SimonFrings/tests
Run tests on PHPUnit 9 and update PHPUnit configuration schema for PHPUnit 9.3
2 parents b14abb6 + 06d0138 commit 27e9a3c

9 files changed

+54
-16
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
/.travis.yml export-ignore
44
/examples/ export-ignore
55
/phpunit.xml.dist export-ignore
6+
/phpunit.xml.legacy export-ignore
67
/tests/ export-ignore

.travis.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ language: php
33
# lock distro so future defaults will not break the build
44
dist: trusty
55

6-
matrix:
6+
jobs:
77
include:
88
- php: 5.3
99
dist: precise
@@ -16,10 +16,9 @@ matrix:
1616
- php: 7.3
1717
- php: 7.4
1818

19-
sudo: false
20-
2119
install:
22-
- composer install --no-interaction
20+
- composer install
2321

2422
script:
25-
- vendor/bin/phpunit --coverage-text
23+
- if [[ "$TRAVIS_PHP_VERSION" > "7.2" ]]; then vendor/bin/phpunit --coverage-text; fi
24+
- if [[ "$TRAVIS_PHP_VERSION" < "7.3" ]]; then vendor/bin/phpunit --coverage-text -c phpunit.xml.legacy; fi

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@
2424
"react/promise": "^2.0 || ^1.0"
2525
},
2626
"require-dev": {
27-
"phpunit/phpunit": "^7.0 || ^6.0 || ^5.0 || ^4.8.35"
27+
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35"
2828
}
2929
}

phpunit.xml.dist

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22

3-
<phpunit bootstrap="vendor/autoload.php" colors="true">
3+
<!-- PHPUnit configuration file with new format for PHPUnit 9.3+ -->
4+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
6+
bootstrap="vendor/autoload.php"
7+
colors="true"
8+
cacheResult="false">
49
<testsuites>
510
<testsuite name="Shell React Test Suite">
611
<directory>./tests/</directory>
712
</testsuite>
813
</testsuites>
9-
<filter>
10-
<whitelist>
14+
<coverage>
15+
<include>
1116
<directory>./src/</directory>
12-
</whitelist>
13-
</filter>
14-
</phpunit>
17+
</include>
18+
</coverage>
19+
</phpunit>

phpunit.xml.legacy

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<!-- PHPUnit configuration file with old format for PHPUnit 9.2 or older -->
4+
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/4.8/phpunit.xsd"
6+
bootstrap="vendor/autoload.php"
7+
colors="true">
8+
<testsuites>
9+
<testsuite name="Shell React Test Suite">
10+
<directory>./tests/</directory>
11+
</testsuite>
12+
</testsuites>
13+
<filter>
14+
<whitelist>
15+
<directory>./src/</directory>
16+
</whitelist>
17+
</filter>
18+
</phpunit>

tests/DeferredShellTest.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@ class DeferredShellTest extends TestCase
88
{
99
private $stream;
1010

11-
public function setUp()
11+
/**
12+
* @before
13+
*/
14+
public function setUpStream()
1215
{
1316
$this->stream = $this->getMockBuilder('React\Stream\DuplexStreamInterface')->getMock();
1417
}

tests/FunctionalTest.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ class FunctionalTest extends TestCase
1010
private $loop;
1111
private $launcher;
1212

13-
public function setUp()
13+
/**
14+
* @before
15+
*/
16+
public function setUpLauncher()
1417
{
1518
$this->loop = Factory::create();
1619
$this->launcher = new ProcessLauncher($this->loop);

tests/ProcessLauncherTest.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ class ProcessLauncherTest extends TestCase
99
private $loop;
1010
private $processLauncher;
1111

12-
public function setUp()
12+
/**
13+
* @before
14+
*/
15+
public function setUpProcessLauncher()
1316
{
1417
$this->loop = $this->getMockBuilder('React\EventLoop\LoopInterface')->getMock();
1518
$this->processLauncher = new ProcessLauncher($this->loop);

tests/TestCase.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,13 @@ protected function expectCallableOnceParameter($type)
5454

5555
protected function createCallableMock()
5656
{
57-
return $this->getMockBuilder('stdClass')->setMethods(array('__invoke'))->getMock();
57+
if (method_exists('PHPUnit\Framework\MockObject\MockBuilder', 'addMethods')) {
58+
// PHPUnit 9+
59+
return $this->getMockBuilder('stdClass')->addMethods(array('__invoke'))->getMock();
60+
} else {
61+
// legacy PHPUnit 4 - PHPUnit 8
62+
return $this->getMockBuilder('stdClass')->setMethods(array('__invoke'))->getMock();
63+
}
5864
}
5965

6066
protected function expectPromiseResolve($promise)

0 commit comments

Comments
 (0)