Skip to content

Commit 9bfb2de

Browse files
committed
[1.x] Fix reflection setAccessible deprecation warnings
In PHP8.1 ReflectionProperty::setAccessible was made a no-op through https://wiki.php.net/rfc/make-reflection-setaccessible-no-op in PHP8.5 it is now throwing a deprecation warning by: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_reflectionsetaccessible
1 parent 7087c43 commit 9bfb2de

7 files changed

Lines changed: 159 additions & 54 deletions

tests/BrowserTest.php

Lines changed: 51 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ public function setUpBrowser()
2222
$this->browser = new Browser(null, $this->loop);
2323

2424
$ref = new \ReflectionProperty($this->browser, 'transaction');
25-
$ref->setAccessible(true);
25+
if (PHP_VERSION_ID < 80100) {
26+
$ref->setAccessible(true);
27+
}
2628
$ref->setValue($this->browser, $this->sender);
2729
}
2830

@@ -31,11 +33,15 @@ public function testConstructWithoutLoopAssignsLoopAutomatically()
3133
$browser = new Browser();
3234

3335
$ref = new \ReflectionProperty($browser, 'transaction');
34-
$ref->setAccessible(true);
36+
if (PHP_VERSION_ID < 80100) {
37+
$ref->setAccessible(true);
38+
}
3539
$transaction = $ref->getValue($browser);
3640

3741
$ref = new \ReflectionProperty($transaction, 'loop');
38-
$ref->setAccessible(true);
42+
if (PHP_VERSION_ID < 80100) {
43+
$ref->setAccessible(true);
44+
}
3945
$loop = $ref->getValue($transaction);
4046

4147
$this->assertInstanceOf('React\EventLoop\LoopInterface', $loop);
@@ -48,23 +54,33 @@ public function testConstructWithConnectorAssignsGivenConnector()
4854
$browser = new Browser($connector);
4955

5056
$ref = new \ReflectionProperty($browser, 'transaction');
51-
$ref->setAccessible(true);
57+
if (PHP_VERSION_ID < 80100) {
58+
$ref->setAccessible(true);
59+
}
5260
$transaction = $ref->getValue($browser);
5361

5462
$ref = new \ReflectionProperty($transaction, 'sender');
55-
$ref->setAccessible(true);
63+
if (PHP_VERSION_ID < 80100) {
64+
$ref->setAccessible(true);
65+
}
5666
$sender = $ref->getValue($transaction);
5767

5868
$ref = new \ReflectionProperty($sender, 'http');
59-
$ref->setAccessible(true);
69+
if (PHP_VERSION_ID < 80100) {
70+
$ref->setAccessible(true);
71+
}
6072
$client = $ref->getValue($sender);
6173

6274
$ref = new \ReflectionProperty($client, 'connectionManager');
63-
$ref->setAccessible(true);
75+
if (PHP_VERSION_ID < 80100) {
76+
$ref->setAccessible(true);
77+
}
6478
$connectionManager = $ref->getValue($client);
6579

6680
$ref = new \ReflectionProperty($connectionManager, 'connector');
67-
$ref->setAccessible(true);
81+
if (PHP_VERSION_ID < 80100) {
82+
$ref->setAccessible(true);
83+
}
6884
$ret = $ref->getValue($connectionManager);
6985

7086
$this->assertSame($connector, $ret);
@@ -77,23 +93,33 @@ public function testConstructWithConnectorWithLegacySignatureAssignsGivenConnect
7793
$browser = new Browser(null, $connector);
7894

7995
$ref = new \ReflectionProperty($browser, 'transaction');
80-
$ref->setAccessible(true);
96+
if (PHP_VERSION_ID < 80100) {
97+
$ref->setAccessible(true);
98+
}
8199
$transaction = $ref->getValue($browser);
82100

83101
$ref = new \ReflectionProperty($transaction, 'sender');
84-
$ref->setAccessible(true);
102+
if (PHP_VERSION_ID < 80100) {
103+
$ref->setAccessible(true);
104+
}
85105
$sender = $ref->getValue($transaction);
86106

87107
$ref = new \ReflectionProperty($sender, 'http');
88-
$ref->setAccessible(true);
108+
if (PHP_VERSION_ID < 80100) {
109+
$ref->setAccessible(true);
110+
}
89111
$client = $ref->getValue($sender);
90112

91113
$ref = new \ReflectionProperty($client, 'connectionManager');
92-
$ref->setAccessible(true);
114+
if (PHP_VERSION_ID < 80100) {
115+
$ref->setAccessible(true);
116+
}
93117
$connectionManager = $ref->getValue($client);
94118

95119
$ref = new \ReflectionProperty($connectionManager, 'connector');
96-
$ref->setAccessible(true);
120+
if (PHP_VERSION_ID < 80100) {
121+
$ref->setAccessible(true);
122+
}
97123
$ret = $ref->getValue($connectionManager);
98124

99125
$this->assertSame($connector, $ret);
@@ -104,11 +130,15 @@ public function testConstructWithLoopAssignsGivenLoop()
104130
$browser = new Browser(null, $this->loop);
105131

106132
$ref = new \ReflectionProperty($browser, 'transaction');
107-
$ref->setAccessible(true);
133+
if (PHP_VERSION_ID < 80100) {
134+
$ref->setAccessible(true);
135+
}
108136
$transaction = $ref->getValue($browser);
109137

110138
$ref = new \ReflectionProperty($transaction, 'loop');
111-
$ref->setAccessible(true);
139+
if (PHP_VERSION_ID < 80100) {
140+
$ref->setAccessible(true);
141+
}
112142
$loop = $ref->getValue($transaction);
113143

114144
$this->assertSame($this->loop, $loop);
@@ -119,11 +149,15 @@ public function testConstructWithLoopWithLegacySignatureAssignsGivenLoop()
119149
$browser = new Browser($this->loop);
120150

121151
$ref = new \ReflectionProperty($browser, 'transaction');
122-
$ref->setAccessible(true);
152+
if (PHP_VERSION_ID < 80100) {
153+
$ref->setAccessible(true);
154+
}
123155
$transaction = $ref->getValue($browser);
124156

125157
$ref = new \ReflectionProperty($transaction, 'loop');
126-
$ref->setAccessible(true);
158+
if (PHP_VERSION_ID < 80100) {
159+
$ref->setAccessible(true);
160+
}
127161
$loop = $ref->getValue($transaction);
128162

129163
$this->assertSame($this->loop, $loop);

tests/HttpServerTest.php

Lines changed: 48 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -53,15 +53,21 @@ public function testConstructWithoutLoopAssignsLoopAutomatically()
5353
$http = new HttpServer(function () { });
5454

5555
$ref = new \ReflectionProperty($http, 'streamingServer');
56-
$ref->setAccessible(true);
56+
if (PHP_VERSION_ID < 80100) {
57+
$ref->setAccessible(true);
58+
}
5759
$streamingServer = $ref->getValue($http);
5860

5961
$ref = new \ReflectionProperty($streamingServer, 'clock');
60-
$ref->setAccessible(true);
62+
if (PHP_VERSION_ID < 80100) {
63+
$ref->setAccessible(true);
64+
}
6165
$clock = $ref->getValue($streamingServer);
6266

6367
$ref = new \ReflectionProperty($clock, 'loop');
64-
$ref->setAccessible(true);
68+
if (PHP_VERSION_ID < 80100) {
69+
$ref->setAccessible(true);
70+
}
6571
$loop = $ref->getValue($clock);
6672

6773
$this->assertInstanceOf('React\EventLoop\LoopInterface', $loop);
@@ -332,7 +338,9 @@ public function testServerConcurrency($memory_limit, $post_max_size, $expectedCo
332338
$http = new HttpServer(function () { });
333339

334340
$ref = new \ReflectionMethod($http, 'getConcurrentRequestsLimit');
335-
$ref->setAccessible(true);
341+
if (PHP_VERSION_ID < 80100) {
342+
$ref->setAccessible(true);
343+
}
336344

337345
$value = $ref->invoke($http, $memory_limit, $post_max_size);
338346

@@ -344,7 +352,9 @@ public function testServerGetPostMaxSizeReturnsSizeFromGivenIniSetting()
344352
$http = new HttpServer(function () { });
345353

346354
$ref = new \ReflectionMethod($http, 'getMaxRequestSize');
347-
$ref->setAccessible(true);
355+
if (PHP_VERSION_ID < 80100) {
356+
$ref->setAccessible(true);
357+
}
348358

349359
$value = $ref->invoke($http, '1k');
350360

@@ -356,7 +366,9 @@ public function testServerGetPostMaxSizeReturnsSizeCappedFromGivenIniSetting()
356366
$http = new HttpServer(function () { });
357367

358368
$ref = new \ReflectionMethod($http, 'getMaxRequestSize');
359-
$ref->setAccessible(true);
369+
if (PHP_VERSION_ID < 80100) {
370+
$ref->setAccessible(true);
371+
}
360372

361373
$value = $ref->invoke($http, '1M');
362374

@@ -372,7 +384,9 @@ public function testServerGetPostMaxSizeFromIniIsCapped()
372384
$http = new HttpServer(function () { });
373385

374386
$ref = new \ReflectionMethod($http, 'getMaxRequestSize');
375-
$ref->setAccessible(true);
387+
if (PHP_VERSION_ID < 80100) {
388+
$ref->setAccessible(true);
389+
}
376390

377391
$value = $ref->invoke($http);
378392

@@ -389,17 +403,23 @@ public function testConstructServerWithUnlimitedMemoryLimitDoesNotLimitConcurren
389403
ini_set('memory_limit', $old);
390404

391405
$ref = new \ReflectionProperty($http, 'streamingServer');
392-
$ref->setAccessible(true);
406+
if (PHP_VERSION_ID < 80100) {
407+
$ref->setAccessible(true);
408+
}
393409

394410
$streamingServer = $ref->getValue($http);
395411

396412
$ref = new \ReflectionProperty($streamingServer, 'callback');
397-
$ref->setAccessible(true);
413+
if (PHP_VERSION_ID < 80100) {
414+
$ref->setAccessible(true);
415+
}
398416

399417
$middlewareRunner = $ref->getValue($streamingServer);
400418

401419
$ref = new \ReflectionProperty($middlewareRunner, 'middleware');
402-
$ref->setAccessible(true);
420+
if (PHP_VERSION_ID < 80100) {
421+
$ref->setAccessible(true);
422+
}
403423

404424
$middleware = $ref->getValue($middlewareRunner);
405425

@@ -419,17 +439,23 @@ public function testConstructServerWithMemoryLimitDoesLimitConcurrency()
419439
ini_set('memory_limit', $old);
420440

421441
$ref = new \ReflectionProperty($http, 'streamingServer');
422-
$ref->setAccessible(true);
442+
if (PHP_VERSION_ID < 80100) {
443+
$ref->setAccessible(true);
444+
}
423445

424446
$streamingServer = $ref->getValue($http);
425447

426448
$ref = new \ReflectionProperty($streamingServer, 'callback');
427-
$ref->setAccessible(true);
449+
if (PHP_VERSION_ID < 80100) {
450+
$ref->setAccessible(true);
451+
}
428452

429453
$middlewareRunner = $ref->getValue($streamingServer);
430454

431455
$ref = new \ReflectionProperty($middlewareRunner, 'middleware');
432-
$ref->setAccessible(true);
456+
if (PHP_VERSION_ID < 80100) {
457+
$ref->setAccessible(true);
458+
}
433459

434460
$middleware = $ref->getValue($middlewareRunner);
435461

@@ -442,17 +468,23 @@ public function testConstructFiltersOutConfigurationMiddlewareBefore()
442468
$http = new HttpServer(new StreamingRequestMiddleware(), function () { });
443469

444470
$ref = new \ReflectionProperty($http, 'streamingServer');
445-
$ref->setAccessible(true);
471+
if (PHP_VERSION_ID < 80100) {
472+
$ref->setAccessible(true);
473+
}
446474

447475
$streamingServer = $ref->getValue($http);
448476

449477
$ref = new \ReflectionProperty($streamingServer, 'callback');
450-
$ref->setAccessible(true);
478+
if (PHP_VERSION_ID < 80100) {
479+
$ref->setAccessible(true);
480+
}
451481

452482
$middlewareRunner = $ref->getValue($streamingServer);
453483

454484
$ref = new \ReflectionProperty($middlewareRunner, 'middleware');
455-
$ref->setAccessible(true);
485+
if (PHP_VERSION_ID < 80100) {
486+
$ref->setAccessible(true);
487+
}
456488

457489
$middleware = $ref->getValue($middlewareRunner);
458490

tests/Io/ClockTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ public function testNowResetsMemoizedTimestampOnFutureTick()
3232
$now = $clock->now();
3333

3434
$ref = new \ReflectionProperty($clock, 'now');
35-
$ref->setAccessible(true);
35+
if (PHP_VERSION_ID < 80100) {
36+
$ref->setAccessible(true);
37+
}
3638
$this->assertEquals($now, $ref->getValue($clock));
3739

3840
$this->assertNotNull($tick);

tests/Io/MultipartParserTest.php

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1048,15 +1048,25 @@ public function testWeOnlyParseTheAmountOfMultiPartChunksWeConfigured()
10481048

10491049
$reflectecClass = new \ReflectionClass('\React\Http\Io\MultipartParser');
10501050
$requestProperty = $reflectecClass->getProperty('request');
1051-
$requestProperty->setAccessible(true);
1051+
if (PHP_VERSION_ID < 80100) {
1052+
$requestProperty->setAccessible(true);
1053+
}
10521054
$cursorProperty = $reflectecClass->getProperty('cursor');
1053-
$cursorProperty->setAccessible(true);
1055+
if (PHP_VERSION_ID < 80100) {
1056+
$cursorProperty->setAccessible(true);
1057+
}
10541058
$multipartBodyPartCountProperty = $reflectecClass->getProperty('multipartBodyPartCount');
1055-
$multipartBodyPartCountProperty->setAccessible(true);
1059+
if (PHP_VERSION_ID < 80100) {
1060+
$multipartBodyPartCountProperty->setAccessible(true);
1061+
}
10561062
$maxMultipartBodyPartsProperty = $reflectecClass->getProperty('maxMultipartBodyParts');
1057-
$maxMultipartBodyPartsProperty->setAccessible(true);
1063+
if (PHP_VERSION_ID < 80100) {
1064+
$maxMultipartBodyPartsProperty->setAccessible(true);
1065+
}
10581066
$parseBodyMethod = $reflectecClass->getMethod('parseBody');
1059-
$parseBodyMethod->setAccessible(true);
1067+
if (PHP_VERSION_ID < 80100) {
1068+
$parseBodyMethod->setAccessible(true);
1069+
}
10601070

10611071
$this->assertSame(0, $cursorProperty->getValue($parser));
10621072

tests/Io/RequestHeaderParserTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -856,8 +856,9 @@ public function testServerParamsWillBeRememberedUntilConnectionIsClosed()
856856
$connection->emit('data', array("GET /foo HTTP/1.0\r\nHost: example.com\r\n\r\n"));
857857

858858
$ref = new \ReflectionProperty($parser, 'connectionParams');
859-
$ref->setAccessible(true);
860-
859+
if (PHP_VERSION_ID < 80100) {
860+
$ref->setAccessible(true);
861+
}
861862
$this->assertCount(1, $ref->getValue($parser));
862863

863864
$connection->emit('close');

0 commit comments

Comments
 (0)