diff --git a/lib/Providers/Qr/HandlesDataUri.php b/lib/Providers/Qr/HandlesDataUri.php new file mode 100644 index 0000000..c9f8571 --- /dev/null +++ b/lib/Providers/Qr/HandlesDataUri.php @@ -0,0 +1,24 @@ +[\w\.\-\+\/]+);(?P\w+),(?P.*)/', $datauri, $m) === 1) { + return array( + 'mimetype' => $m['mimetype'], + 'encoding' => $m['encoding'], + 'data' => base64_decode($m['data']) + ); + } + + return null; + } +} diff --git a/tests/Providers/Qr/IQRCodeProviderTest.php b/tests/Providers/Qr/IQRCodeProviderTest.php index 579cb51..bf52d6e 100644 --- a/tests/Providers/Qr/IQRCodeProviderTest.php +++ b/tests/Providers/Qr/IQRCodeProviderTest.php @@ -5,26 +5,11 @@ namespace Tests\Providers\Qr; use PHPUnit\Framework\TestCase; use RobThree\Auth\TwoFactorAuth; use RobThree\Auth\TwoFactorAuthException; +use RobThree\Auth\Providers\Qr\HandlesDataUri; class IQRCodeProviderTest extends TestCase { - /** - * @param string $datauri - * - * @return null|array - */ - private function DecodeDataUri($datauri) - { - if (preg_match('/data:(?P[\w\.\-\/]+);(?P\w+),(?P.*)/', $datauri, $m) === 1) { - return array( - 'mimetype' => $m['mimetype'], - 'encoding' => $m['encoding'], - 'data' => base64_decode($m['data']) - ); - } - - return null; - } + use HandlesDataUri; /** * @return void