From 04a95c85329ba719db56b9a2a3e95a03e868e6ed Mon Sep 17 00:00:00 2001 From: codemasher Date: Fri, 26 Nov 2021 19:55:01 +0100 Subject: [PATCH] :shower: use generator in data provider --- tests/QRCodeReaderTest.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/tests/QRCodeReaderTest.php b/tests/QRCodeReaderTest.php index 6dae2009c..7dff0a64a 100644 --- a/tests/QRCodeReaderTest.php +++ b/tests/QRCodeReaderTest.php @@ -12,7 +12,7 @@ namespace chillerlan\QRCodeTest; -use Exception; +use Exception, Generator; use chillerlan\QRCode\Common\{EccLevel, Mode, Version}; use chillerlan\QRCode\{QRCode, QROptions}; use chillerlan\QRCode\Decoder\{GDLuminanceSource, IMagickLuminanceSource}; @@ -98,9 +98,8 @@ class QRCodeReaderTest extends TestCase{ $this::assertSame($numeric.$alphanum.$kanji.$byte, (string)$qrcode->readFromBlob($qrcode->render())); } - public function dataTestProvider():array{ - $data = []; - $str = str_repeat($this::loremipsum, 5); + public function dataTestProvider():Generator{ + $str = str_repeat($this::loremipsum, 5); foreach(range(1, 40) as $v){ $version = new Version($v); @@ -108,16 +107,14 @@ class QRCodeReaderTest extends TestCase{ foreach(EccLevel::MODES as $ecc => $_){ $eccLevel = new EccLevel($ecc); - $data['version: '.$version.$eccLevel] = [ + yield 'version: '.$version.$eccLevel => [ $version, $eccLevel, - /** @phan-suppress-next-line PhanTypeMismatchArgumentNullableInternal */ - substr($str, 0, $version->getMaxLengthForMode(Mode::DATA_BYTE, $eccLevel)) + substr($str, 0, $version->getMaxLengthForMode(Mode::DATA_BYTE, $eccLevel) ?? '') ]; } } - return $data; } /**