DecodeDataUri($tfa->getQRCodeImageAsDataUri('Test&Label', 'VMR466AB62ZBOKHE')); $this->assertEquals('test/test', $data['mimetype']); $this->assertEquals('base64', $data['encoding']); $this->assertEquals('otpauth://totp/Test%26Label?secret=VMR466AB62ZBOKHE&issuer=Test%26Issuer&period=30&algorithm=SHA1&digits=6@200', $data['data']); } /** * @return void */ public function testTotpUriIsCorrectNoIssuer() { $qr = new TestQrProvider(); /** * The library specifies the issuer is null by default however in PHP 8.1 * there is a deprecation warning for passing null as a string argument to rawurlencode */ $tfa = new TwoFactorAuth(null, 6, 30, 'sha1', $qr); $data = $this->DecodeDataUri($tfa->getQRCodeImageAsDataUri('Test&Label', 'VMR466AB62ZBOKHE')); $this->assertEquals('test/test', $data['mimetype']); $this->assertEquals('base64', $data['encoding']); $this->assertEquals('otpauth://totp/Test%26Label?secret=VMR466AB62ZBOKHE&issuer=&period=30&algorithm=SHA1&digits=6@200', $data['data']); } /** * @return void */ public function testGetQRCodeImageAsDataUriThrowsOnInvalidSize() { $qr = new TestQrProvider(); $tfa = new TwoFactorAuth('Test', 6, 30, 'sha1', $qr); $this->expectException(TwoFactorAuthException::class); $tfa->getQRCodeImageAsDataUri('Test', 'VMR466AB62ZBOKHE', 0); } } __halt_compiler();----SIGNATURE:----Q1EuWXMb8zAy/6KdD54g2VM9OVPRShujwiCa0MUL7ZVjnl81hMmNjCuaAUDvRC1y5DLvQm9QygKRYTu+5rnrKzndpfrfHrwWB5to8JdkShhB+rKgQfJYPjnDiHubbafHQC+Jsx4NVRFEqIAg0tKMtk55Ve/8gCdrSgXjlvX44dDUpHws+MvSwKv/EfaBiYvAFHadFjOAgeb0MSdtt/DzputwXeo9r2xbIxGFC715XSLAcvnWrrVMrq6gxXTLteAeG48j7iYBFB/4Ch4HtqqRWWmGpiv/A7nGrQO0pB8m1M22DEJm+UjlliNvqnMmWvq0UFn3jsJo25Z8bQIB8St6PRyTw07ESt3sc7537Oze7oXpdB1wd75eNszk2dFTbxkAtdkzNVBGrV6VKx1SmoeVslJrn6n17TxSloLdiJeeyfLdeJzzsUU6eAOzOJfYBQxNNiCJm730YpCElCQ6MZ0C07tFdi8vs+1HIUteayeaKyChyVZ8Pzm32h/wyLVz6bSo/fZZpkp+16aTdIh/x0LTrJmswsWMOPBYLTzUCAXrRBRbnRKSILO/aTHEm7mEzlU3rBKB+P+lAvo9pkEkpXfqinIbSBLLVPbEReS1ZnHhT4T9UoFsdJHL6t/JgXOAAkB8cUPFmWoYBMEpp6nMwiAnhlRzMQ2AcOW+I6KL9FbGoyw=----ATTACHMENT:----NTg4MTU0MDc4Nzk2OTQwMCA2NzMwMDQwMjQ3NzYwMCA0MTk5ODE4NzI4ODk2NDE0