diff options
author | Chih-Hsuan Yen <[email protected]> | 2022-07-02 22:01:51 +0800 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2022-07-12 22:23:48 +0300 |
commit | 4b6161892000cb2b8392dce92a9cf2cabdf2d20e (patch) | |
tree | 5cad602010e4d13e1a48d6b922d4768c0893ac8b /vendor/chillerlan/php-settings-container/tests/ContainerTest.php | |
parent | d9861038bcc3cb2f38c7153bdca7d5ab89597afa (diff) |
Update php-qrcode and php-settings-container for PHP 8.1
By running the following command after updating composer.json
```
composer update chillerlan/php-qrcode chillerlan/php-settings-container
```
This change fixes a deprecation warning from Preferences ->
Personal data / Authentication -> Authenticator (OTP).
```
Return type of chillerlan\Settings\SettingsContainerAbstract::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
1. vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php(19): ttrss_error_handler(Return type of chillerlan\Settings\SettingsContainerAbstract::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice, vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php)
2. vendor/composer/ClassLoader.php(571): include(/usr/share/webapps/tt-rss/vendor/chillerlan/php-settings-container/src/SettingsContainerAbstract.php)
3. vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile(/usr/share/webapps/tt-rss/vendor/composer/../chillerlan/php-settings-container/src/SettingsContainerAbstract.php)
4. vendor/chillerlan/php-qrcode/src/QROptions.php(59): loadClass(chillerlan\Settings\SettingsContainerAbstract)
5. vendor/composer/ClassLoader.php(571): include(/usr/share/webapps/tt-rss/vendor/chillerlan/php-qrcode/src/QROptions.php)
6. vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile(/usr/share/webapps/tt-rss/vendor/composer/../chillerlan/php-qrcode/src/QROptions.php)
7. vendor/chillerlan/php-qrcode/src/QRCode.php(113): loadClass(chillerlan\QRCode\QROptions)
8. classes/pref/prefs.php(958): __construct()
9. classes/pref/prefs.php(469): _get_otp_qrcode_img()
10. classes/pref/prefs.php(541): index_auth_2fa()
11. backend.php(136): index_auth()
```
The issue is fixed in php-settings-container 2.1.1 [1] Here I use the
latest php-qrcode version for another PHP 8.1 fix [2].
[1] https://github.com/chillerlan/php-settings-container/commit/68bc5019c8b38956c83906431ef879668366b036#diff-359c7f7a6d32d9935951e1b0742eb116fb654f4a932c8d40328bb5dcab2fa111L162
[2] https://github.com/chillerlan/php-qrcode/issues/97
Diffstat (limited to 'vendor/chillerlan/php-settings-container/tests/ContainerTest.php')
-rw-r--r-- | vendor/chillerlan/php-settings-container/tests/ContainerTest.php | 78 |
1 files changed, 44 insertions, 34 deletions
diff --git a/vendor/chillerlan/php-settings-container/tests/ContainerTest.php b/vendor/chillerlan/php-settings-container/tests/ContainerTest.php index ddae538f3..8fca7c3e8 100644 --- a/vendor/chillerlan/php-settings-container/tests/ContainerTest.php +++ b/vendor/chillerlan/php-settings-container/tests/ContainerTest.php @@ -2,9 +2,7 @@ /** * Class ContainerTraitTest * - * @filesource ContainerTraitTest.php * @created 28.08.2018 - * @package chillerlan\SettingsTest * @author Smiley <[email protected]> * @copyright 2018 Smiley * @license MIT @@ -13,74 +11,86 @@ namespace chillerlan\SettingsTest; use PHPUnit\Framework\TestCase; -use Exception, TypeError; +use JsonException, TypeError; +use function sha1; -class ContainerTraitTest extends TestCase{ +class ContainerTest extends TestCase{ public function testConstruct(){ $container = new TestContainer([ 'test1' => 'test1', - 'test2' => 'test2', + 'test2' => true, 'test3' => 'test3', 'test4' => 'test4', ]); - $this->assertSame('test1', $container->test1); - $this->assertSame('test2', $container->test2); - $this->assertNull($container->test3); - $this->assertSame('test4', $container->test4); + $this::assertSame('test1', $container->test1); + $this::assertSame(true, $container->test2); + $this::assertNull($container->test3); + $this::assertSame('test4', $container->test4); - $this->assertSame('success', $container->testConstruct); + $this::assertSame('success', $container->testConstruct); } public function testGet(){ $container = new TestContainer; - $this->assertSame('foo', $container->test1); - $this->assertNull($container->test2); - $this->assertNull($container->test3); - $this->assertNull($container->test4); - $this->assertNull($container->foo); + $this::assertSame('foo', $container->test1); + $this::assertNull($container->test2); + $this::assertNull($container->test3); + $this::assertNull($container->test4); + $this::assertNull($container->foo); // isset test - $this->assertTrue(isset($container->test1)); - $this->assertFalse(isset($container->test2)); - $this->assertFalse(isset($container->test3)); - $this->assertFalse(isset($container->test4)); - $this->assertFalse(isset($container->foo)); + $this::assertTrue(isset($container->test1)); + $this::assertFalse(isset($container->test2)); + $this::assertFalse(isset($container->test3)); + $this::assertFalse(isset($container->test4)); + $this::assertFalse(isset($container->foo)); // custom getter $container->test6 = 'foo'; - $this->assertSame(sha1('foo'), $container->test6); + $this::assertSame(sha1('foo'), $container->test6); // nullable/isset test $container->test6 = null; - $this->assertFalse(isset($container->test6)); - $this->assertSame('null', $container->test6); + $this::assertFalse(isset($container->test6)); + $this::assertSame('null', $container->test6); } public function testSet(){ $container = new TestContainer; $container->test1 = 'bar'; - $container->test2 = 'what'; + $container->test2 = false; $container->test3 = 'nope'; - $this->assertSame('bar', $container->test1); - $this->assertSame('what', $container->test2); - $this->assertNull($container->test3); + $this::assertSame('bar', $container->test1); + $this::assertSame(false, $container->test2); + $this::assertNull($container->test3); // unset unset($container->test1); - $this->assertFalse(isset($container->test1)); + $this::assertFalse(isset($container->test1)); // custom setter $container->test5 = 'bar'; - $this->assertSame('bar_test5', $container->test5); + $this::assertSame('bar_test5', $container->test5); } public function testToArray(){ - $container = new TestContainer(['test1' => 'no', 'test2' => true, 'testConstruct' => 'success']); + $container = new TestContainer([ + 'test1' => 'no', + 'test2' => true, + 'testConstruct' => 'success', + ]); - $this->assertSame(['test1' => 'no', 'test2' => true, 'testConstruct' => 'success', 'test4' => null, 'test5' => null, 'test6' => null], $container->toArray()); + $this::assertSame([ + 'test1' => 'no', + 'test2' => true, + 'testConstruct' => 'success', + 'test4' => null, + 'test5' => null, + 'test6' => null + ], $container->toArray()); } public function testToJSON(){ @@ -88,12 +98,12 @@ class ContainerTraitTest extends TestCase{ $expected = '{"test1":"no","test2":true,"testConstruct":"success","test4":null,"test5":null,"test6":null}'; - $this->assertSame($expected, $container->toJSON()); - $this->assertSame($expected, (string)$container); + $this::assertSame($expected, $container->toJSON()); + $this::assertSame($expected, (string)$container); } public function testFromJsonException(){ - $this->expectException(Exception::class); + $this->expectException(JsonException::class); (new TestContainer)->fromJSON('-'); } |