403Webshell
Server IP : 13.213.54.232  /  Your IP : 216.73.216.166
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux ip-172-31-17-110 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 7.1.33-67+ubuntu22.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/phpmyadmin/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Encoder/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/phpmyadmin/vendor/bacon/bacon-qr-code/tests/BaconQrCode/Encoder/MaskUtilTest.php
<?php
/**
 * BaconQrCode
 *
 * @link      http://github.com/Bacon/BaconQrCode For the canonical source repository
 * @copyright 2013 Ben 'DASPRiD' Scholzen
 * @license   http://opensource.org/licenses/BSD-2-Clause Simplified BSD License
 */

namespace BaconQrCode\Encoder;

use PHPUnit_Framework_TestCase as TestCase;

class MaskUtilTest extends TestCase
{
    public static function dataMaskBitProvider()
    {
        return array(
            array(
                0,
                array(
                    array(1, 0, 1, 0, 1, 0),
                    array(0, 1, 0, 1, 0, 1),
                    array(1, 0, 1, 0, 1, 0),
                    array(0, 1, 0, 1, 0, 1),
                    array(1, 0, 1, 0, 1, 0),
                    array(0, 1, 0, 1, 0, 1),
                )
            ),
            array(
                1,
                array(
                    array(1, 1, 1, 1, 1, 1),
                    array(0, 0, 0, 0, 0, 0),
                    array(1, 1, 1, 1, 1, 1),
                    array(0, 0, 0, 0, 0, 0),
                    array(1, 1, 1, 1, 1, 1),
                    array(0, 0, 0, 0, 0, 0),
                )
            ),
            array(
                2,
                array(
                    array(1, 0, 0, 1, 0, 0),
                    array(1, 0, 0, 1, 0, 0),
                    array(1, 0, 0, 1, 0, 0),
                    array(1, 0, 0, 1, 0, 0),
                    array(1, 0, 0, 1, 0, 0),
                    array(1, 0, 0, 1, 0, 0),
                )
            ),
            array(
                3,
                array(
                    array(1, 0, 0, 1, 0, 0),
                    array(0, 0, 1, 0, 0, 1),
                    array(0, 1, 0, 0, 1, 0),
                    array(1, 0, 0, 1, 0, 0),
                    array(0, 0, 1, 0, 0, 1),
                    array(0, 1, 0, 0, 1, 0),
                )
            ),
            array(
                4,
                array(
                    array(1, 1, 1, 0, 0, 0),
                    array(1, 1, 1, 0, 0, 0),
                    array(0, 0, 0, 1, 1, 1),
                    array(0, 0, 0, 1, 1, 1),
                    array(1, 1, 1, 0, 0, 0),
                    array(1, 1, 1, 0, 0, 0),
                )
            ),
            array(
                5,
                array(
                    array(1, 1, 1, 1, 1, 1),
                    array(1, 0, 0, 0, 0, 0),
                    array(1, 0, 0, 1, 0, 0),
                    array(1, 0, 1, 0, 1, 0),
                    array(1, 0, 0, 1, 0, 0),
                    array(1, 0, 0, 0, 0, 0),
                )
            ),
            array(
                6,
                array(
                    array(1, 1, 1, 1, 1, 1),
                    array(1, 1, 1, 0, 0, 0),
                    array(1, 1, 0, 1, 1, 0),
                    array(1, 0, 1, 0, 1, 0),
                    array(1, 0, 1, 1, 0, 1),
                    array(1, 0, 0, 0, 1, 1),
                )
            ),
            array(
                7,
                array(
                    array(1, 0, 1, 0, 1, 0),
                    array(0, 0, 0, 1, 1, 1),
                    array(1, 0, 0, 0, 1, 1),
                    array(0, 1, 0, 1, 0, 1),
                    array(1, 1, 1, 0, 0, 0),
                    array(0, 1, 1, 1, 0, 0),
                )
            ),
        );
    }

    /**
     * @dataProvider dataMaskBitProvider
     * @param        integer $maskPattern
     * @param        array   $expected
     * @return       void
     */
    public function testGetDatMaskBit($maskPattern, array $expected)
    {
        for ($x = 0; $x < 6; $x++) {
            for ($y = 0; $y < 6; $y++) {
                if (($expected[$y][$x] === 1) !== MaskUtil::getDataMaskBit($maskPattern, $x, $y)) {
                    $this->fail('Data mask bit did not match');
                }
            }
        }
    }

    public function testApplyMaskPenaltyRule1()
    {
        $matrix = new ByteMatrix(4, 1);
        $matrix->set(0, 0, 0);
        $matrix->set(1, 0, 0);
        $matrix->set(2, 0, 0);
        $matrix->set(3, 0, 0);

        $this->assertEquals(0, MaskUtil::applyMaskPenaltyRule1($matrix));

        // Horizontal
        $matrix = new ByteMatrix(6, 1);
        $matrix->set(0, 0, 0);
        $matrix->set(1, 0, 0);
        $matrix->set(2, 0, 0);
        $matrix->set(3, 0, 0);
        $matrix->set(4, 0, 0);
        $matrix->set(5, 0, 1);
        $this->assertEquals(3, MaskUtil::applyMaskPenaltyRule1($matrix));
        $matrix->set(5, 0, 0);
        $this->assertEquals(4, MaskUtil::applyMaskPenaltyRule1($matrix));

        // Vertical
        $matrix = new ByteMatrix(1, 6);
        $matrix->set(0, 0, 0);
        $matrix->set(0, 1, 0);
        $matrix->set(0, 2, 0);
        $matrix->set(0, 3, 0);
        $matrix->set(0, 4, 0);
        $matrix->set(0, 5, 1);
        $this->assertEquals(3, MaskUtil::applyMaskPenaltyRule1($matrix));
        $matrix->set(0, 5, 0);
        $this->assertEquals(4, MaskUtil::applyMaskPenaltyRule1($matrix));
    }

    public function testApplyMaskPenaltyRule2()
    {
        $matrix = new ByteMatrix(1, 1);
        $matrix->set(0, 0, 0);
        $this->assertEquals(0, MaskUtil::applyMaskPenaltyRule2($matrix));

        $matrix = new ByteMatrix(2, 2);
        $matrix->set(0, 0, 0);
        $matrix->set(1, 0, 0);
        $matrix->set(0, 1, 0);
        $matrix->set(1, 1, 1);
        $this->assertEquals(0, MaskUtil::applyMaskPenaltyRule2($matrix));

        $matrix = new ByteMatrix(2, 2);
        $matrix->set(0, 0, 0);
        $matrix->set(1, 0, 0);
        $matrix->set(0, 1, 0);
        $matrix->set(1, 1, 0);
        $this->assertEquals(3, MaskUtil::applyMaskPenaltyRule2($matrix));

        $matrix = new ByteMatrix(3, 3);
        $matrix->set(0, 0, 0);
        $matrix->set(1, 0, 0);
        $matrix->set(2, 0, 0);
        $matrix->set(0, 1, 0);
        $matrix->set(1, 1, 0);
        $matrix->set(2, 1, 0);
        $matrix->set(0, 2, 0);
        $matrix->set(1, 2, 0);
        $matrix->set(2, 2, 0);
        $this->assertEquals(3 * 4, MaskUtil::applyMaskPenaltyRule2($matrix));
    }

    public function testApplyMaskPenalty3()
    {
        // Horizontal 00001011101
        $matrix = new ByteMatrix(11, 1);
        $matrix->set(0, 0, 0);
        $matrix->set(1, 0, 0);
        $matrix->set(2, 0, 0);
        $matrix->set(3, 0, 0);
        $matrix->set(4, 0, 1);
        $matrix->set(5, 0, 0);
        $matrix->set(6, 0, 1);
        $matrix->set(7, 0, 1);
        $matrix->set(8, 0, 1);
        $matrix->set(9, 0, 0);
        $matrix->set(10, 0, 1);
        $this->assertEquals(40, MaskUtil::applyMaskPenaltyRule3($matrix));

        // Horizontal 10111010000
        $matrix = new ByteMatrix(11, 1);
        $matrix->set(0, 0, 1);
        $matrix->set(1, 0, 0);
        $matrix->set(2, 0, 1);
        $matrix->set(3, 0, 1);
        $matrix->set(4, 0, 1);
        $matrix->set(5, 0, 0);
        $matrix->set(6, 0, 1);
        $matrix->set(7, 0, 0);
        $matrix->set(8, 0, 0);
        $matrix->set(9, 0, 0);
        $matrix->set(10, 0, 0);
        $this->assertEquals(40, MaskUtil::applyMaskPenaltyRule3($matrix));

        // Vertical 00001011101
        $matrix = new ByteMatrix(1, 11);
        $matrix->set(0, 0, 0);
        $matrix->set(0, 1, 0);
        $matrix->set(0, 2, 0);
        $matrix->set(0, 3, 0);
        $matrix->set(0, 4, 1);
        $matrix->set(0, 5, 0);
        $matrix->set(0, 6, 1);
        $matrix->set(0, 7, 1);
        $matrix->set(0, 8, 1);
        $matrix->set(0, 9, 0);
        $matrix->set(0, 10, 1);
        $this->assertEquals(40, MaskUtil::applyMaskPenaltyRule3($matrix));

        // Vertical 10111010000
        $matrix = new ByteMatrix(1, 11);
        $matrix->set(0, 0, 1);
        $matrix->set(0, 1, 0);
        $matrix->set(0, 2, 1);
        $matrix->set(0, 3, 1);
        $matrix->set(0, 4, 1);
        $matrix->set(0, 5, 0);
        $matrix->set(0, 6, 1);
        $matrix->set(0, 7, 0);
        $matrix->set(0, 8, 0);
        $matrix->set(0, 9, 0);
        $matrix->set(0, 10, 0);
        $this->assertEquals(40, MaskUtil::applyMaskPenaltyRule3($matrix));
    }

    public function testApplyMaskPenaltyRule4()
    {
        // Dark cell ratio = 0%
        $matrix = new ByteMatrix(1, 1);
        $matrix->set(0, 0, 0);
        $this->assertEquals(100, MaskUtil::applyMaskPenaltyRule4($matrix));

        // Dark cell ratio = 5%
        $matrix = new ByteMatrix(2, 1);
        $matrix->set(0, 0, 0);
        $matrix->set(0, 0, 1);
        $this->assertEquals(0, MaskUtil::applyMaskPenaltyRule4($matrix));

        // Dark cell ratio = 66.67%
        $matrix = new ByteMatrix(6, 1);
        $matrix->set(0, 0, 0);
        $matrix->set(1, 0, 1);
        $matrix->set(2, 0, 1);
        $matrix->set(3, 0, 1);
        $matrix->set(4, 0, 1);
        $matrix->set(5, 0, 0);
        $this->assertEquals(30, MaskUtil::applyMaskPenaltyRule4($matrix));
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit