Skip to content

Commit 445e314

Browse files
authored
Merge pull request #50 from clue-labs/php8.5
Improve PHP 8.5+ support and update test environment
2 parents f8844f3 + d084654 commit 445e314

File tree

5 files changed

+16
-7
lines changed

5 files changed

+16
-7
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ jobs:
1111
strategy:
1212
matrix:
1313
php:
14+
- 8.5
1415
- 8.4
1516
- 8.3
1617
- 8.2
@@ -25,7 +26,7 @@ jobs:
2526
- 5.5
2627
- 5.4
2728
steps:
28-
- uses: actions/checkout@v4
29+
- uses: actions/checkout@v6
2930
- uses: shivammathur/setup-php@v2
3031
with:
3132
php-version: ${{ matrix.php }}

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
"require": {
1414
"php": ">=5.4",
1515
"evenement/evenement": "^3.0 || ^2.0",
16-
"react/event-loop": "^1.2",
16+
"react/event-loop": "^1.6",
1717
"react/http": "^1.11",
18-
"react/promise": "^3.2 || ^2.10 || ^1.2.1"
18+
"react/promise": "^3.3 || ^2.10 || ^1.2.1"
1919
},
2020
"require-dev": {
2121
"phpunit/phpunit": "^9.6 || ^8.5 || ^5.7 || ^4.8.36"

src/MessageEvent.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public static function parse($data, $lastEventId, &$retryTime = 0.0)
3434
$id = self::utf8($value);
3535
} elseif ($name === 'event' && $value !== '') {
3636
$type = self::utf8($value);
37-
} elseif ($name === 'retry' && $value === (string)(int)$value && $value >= 0) {
37+
} elseif ($name === 'retry' && $value >= 0 && $value <= \PHP_INT_MAX && $value === (string) (int) $value) {
3838
$retryTime = $value * 0.001;
3939
}
4040
}

tests/EventSourceTest.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,17 @@ public function testConstructWithoutBrowserAndLoopAssignsBrowserAndLoopAutomatic
4646
$es = new EventSource('http://example.com');
4747

4848
$ref = new \ReflectionProperty($es, 'browser');
49-
$ref->setAccessible(true);
49+
if (PHP_VERSION_ID < 80100) {
50+
$ref->setAccessible(true);
51+
}
5052
$browser = $ref->getValue($es);
5153

5254
$this->assertInstanceOf('React\Http\Browser', $browser);
5355

5456
$ref = new \ReflectionProperty($es, 'loop');
55-
$ref->setAccessible(true);
57+
if (PHP_VERSION_ID < 80100) {
58+
$ref->setAccessible(true);
59+
}
5660
$loop = $ref->getValue($es);
5761

5862
$this->assertInstanceOf('React\EventLoop\LoopInterface', $loop);
@@ -557,7 +561,9 @@ public function testEmitMessageOnceWhenCallingCloseFromMessageHandlerFromEventSt
557561
$this->assertEquals('1', $message->lastEventId);
558562

559563
$ref = new \ReflectionProperty($es, 'lastEventId');
560-
$ref->setAccessible(true);
564+
if (PHP_VERSION_ID < 80100) {
565+
$ref->setAccessible(true);
566+
}
561567

562568
$this->assertEquals('1', $ref->getValue($es));
563569
}

tests/MessageEventTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,9 @@ public function retryTimeDataProvider()
160160
['retry: ' . PHP_INT_MAX . '9', null],
161161
['retry: 1.234', null],
162162
['retry: now', null],
163+
['retry: 0.0', null],
163164
['retry: -1', null],
165+
['retry: +1', null],
164166
['retry: -1.234', null]
165167
];
166168
}

0 commit comments

Comments
 (0)