summaryrefslogtreecommitdiff
path: root/vendor/chillerlan/php-qrcode/tests/Output/QRFpdfTest.php
diff options
context:
space:
mode:
authorChih-Hsuan Yen <[email protected]>2022-07-02 22:01:51 +0800
committerAndrew Dolgov <[email protected]>2022-07-12 22:23:48 +0300
commit4b6161892000cb2b8392dce92a9cf2cabdf2d20e (patch)
tree5cad602010e4d13e1a48d6b922d4768c0893ac8b /vendor/chillerlan/php-qrcode/tests/Output/QRFpdfTest.php
parentd9861038bcc3cb2f38c7153bdca7d5ab89597afa (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-qrcode/tests/Output/QRFpdfTest.php')
-rw-r--r--vendor/chillerlan/php-qrcode/tests/Output/QRFpdfTest.php36
1 files changed, 26 insertions, 10 deletions
diff --git a/vendor/chillerlan/php-qrcode/tests/Output/QRFpdfTest.php b/vendor/chillerlan/php-qrcode/tests/Output/QRFpdfTest.php
index 1b49182d2..a3ab0f5b9 100644
--- a/vendor/chillerlan/php-qrcode/tests/Output/QRFpdfTest.php
+++ b/vendor/chillerlan/php-qrcode/tests/Output/QRFpdfTest.php
@@ -23,8 +23,6 @@ use function class_exists, substr;
*/
class QRFpdfTest extends QROutputTestAbstract{
- protected $FQCN = QRFpdf::class;
-
/**
* @inheritDoc
* @internal
@@ -33,6 +31,8 @@ class QRFpdfTest extends QROutputTestAbstract{
if(!class_exists(FPDF::class)){
$this->markTestSkipped('FPDF not available');
+
+ /** @noinspection PhpUnreachableStatementInspection */
return;
}
@@ -41,6 +41,24 @@ class QRFpdfTest extends QROutputTestAbstract{
/**
* @inheritDoc
+ * @internal
+ */
+ protected function getOutputInterface(QROptions $options):QROutputInterface{
+ return new QRFpdf($options, $this->matrix);
+ }
+
+ /**
+ * @inheritDoc
+ * @internal
+ */
+ public function types():array{
+ return [
+ 'fpdf' => [QRCode::OUTPUT_FPDF],
+ ];
+ }
+
+ /**
+ * @inheritDoc
*/
public function testSetModuleValues():void{
@@ -50,6 +68,7 @@ class QRFpdfTest extends QROutputTestAbstract{
4 => [255, 255, 255],
];
+ $this->outputInterface = $this->getOutputInterface($this->options);
$this->outputInterface->dump();
$this::assertTrue(true); // tricking the code coverage
@@ -57,25 +76,22 @@ class QRFpdfTest extends QROutputTestAbstract{
/**
* @inheritDoc
+ * @dataProvider types
*/
- public function testRenderImage():void{
- $type = QRCode::OUTPUT_FPDF;
-
+ public function testRenderImage(string $type):void{
$this->options->outputType = $type;
$this->options->imageBase64 = false;
- $this->outputInterface->dump($this::cachefile.$type);
// substr() to avoid CreationDate
- $expected = substr(file_get_contents($this::cachefile.$type), 0, 2000);
- $actual = substr($this->outputInterface->dump(), 0, 2000);
+ $expected = substr(file_get_contents(__DIR__.'/samples/'.$type), 0, 2500);
+ $actual = substr((new QRCode($this->options))->render('test'), 0, 2500);
$this::assertSame($expected, $actual);
}
public function testOutputGetResource():void{
$this->options->returnResource = true;
-
- $this->setOutputInterface();
+ $this->outputInterface = $this->getOutputInterface($this->options);
$this::assertInstanceOf(FPDF::class, $this->outputInterface->dump());
}