mirror of
https://github.com/chillerlan/php-qrcode.git
synced 2026-08-18 01:53:12 +00:00
🔥 phan v6-dev
This commit is contained in:
@@ -32,7 +32,7 @@ jobs:
|
||||
- "8.2"
|
||||
- "8.3"
|
||||
- "8.4"
|
||||
# - "8.5"
|
||||
- "8.5"
|
||||
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@
|
||||
"ext-fileinfo": "*",
|
||||
"chillerlan/php-authenticator": "^5.2.1",
|
||||
"intervention/image": "^3.11",
|
||||
"phan/phan": "^5.5.2",
|
||||
"phan/phan": "v6.x-dev",
|
||||
"phpbench/phpbench": "^1.4",
|
||||
"phpunit/phpunit": "^11.5",
|
||||
"phpmd/phpmd": "^2.15",
|
||||
|
||||
@@ -23,6 +23,15 @@ function sendResponse(array $response):never{
|
||||
exit;
|
||||
}
|
||||
|
||||
function parseHexValue(string $v):array|string|null{
|
||||
if(preg_match('/[a-f\d]{6}/i', $v) === 1){
|
||||
return in_array($_POST['output_type'], ['png', 'jpg', 'gif'], true)
|
||||
? array_map('hexdec', str_split($v, 2))
|
||||
: '#'.$v ;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
try{
|
||||
|
||||
$moduleValues = [
|
||||
@@ -55,16 +64,6 @@ try{
|
||||
QRMatrix::M_LOGO => $_POST['m_logo_light'],
|
||||
];
|
||||
|
||||
$moduleValues = array_map(function($v){
|
||||
if(preg_match('/[a-f\d]{6}/i', $v) === 1){
|
||||
return in_array($_POST['output_type'], ['png', 'jpg', 'gif'], true)
|
||||
? array_map('hexdec', str_split($v, 2))
|
||||
: '#'.$v ;
|
||||
}
|
||||
return null;
|
||||
}, $moduleValues);
|
||||
|
||||
|
||||
$ecc = in_array($_POST['ecc'], ['L', 'M', 'Q', 'H'], true) ? $_POST['ecc'] : 'L';
|
||||
|
||||
$options = new QROptions([
|
||||
@@ -73,7 +72,8 @@ try{
|
||||
'maskPattern' => (int)$_POST['maskpattern'],
|
||||
'addQuietzone' => isset($_POST['quietzone']),
|
||||
'quietzoneSize' => (int)$_POST['quietzonesize'],
|
||||
'moduleValues' => $moduleValues,
|
||||
/** @phan-suppress-next-line PhanTypeMismatchArgument (false positive) */
|
||||
'moduleValues' => array_map(parseHexValue(...), $moduleValues),
|
||||
'outputType' => $_POST['output_type'],
|
||||
'scale' => (int)$_POST['scale'],
|
||||
'outputBase64' => true,
|
||||
|
||||
@@ -172,14 +172,15 @@ abstract class QRCodeReaderTestAbstract extends TestCase{
|
||||
$qrcode = new QRCode($this->options);
|
||||
$imagedata = $qrcode->render($expected);
|
||||
$result = $qrcode->readFromBlob($imagedata);
|
||||
|
||||
$this::assertSame($expected, $result->data);
|
||||
$this::assertSame($version->getVersionNumber(), $result->version->getVersionNumber());
|
||||
$this::assertSame($ecc->getLevel(), $result->eccLevel->getLevel());
|
||||
}
|
||||
catch(Exception $e){
|
||||
$this::markTestSkipped(sprintf('skipped version %s%s: %s', $version, $ecc, $e->getMessage()));
|
||||
}
|
||||
|
||||
$this::assertSame($expected, $result->data);
|
||||
$this::assertSame($version->getVersionNumber(), $result->version->getVersionNumber());
|
||||
$this::assertSame($ecc->getLevel(), $result->eccLevel->getLevel());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user