[Tͪ#n$;<:a4sX[ 6F1f=VgxӂHۯCo~lTAYW 넴9W~9o%VxVhŨfp.ӪθhONi
B+A{O7puCqƚ^Y
c9"X8D椢Li7x"0X5Ir̒3T1Ux׮i,ΦK{8Srf #;	}屢YU1x<{.\f!t\g^gb(&#.zhEidCI!-,
5\賓MO<Cl8rJ3tR"Qfm DD,X՝ TqyF_)ݮG-!rlɚWC|=ҳJED7Q{݆@!
gD
_Dw3JUKpu?C{/[OhG;c"hqhAٰoGhPQJ7d]|،J'[k|qc%WjMP6dj ]܃Wz"AM9QLޚBd֡0QZH7W jGN#̍b4C,/NWn!^=Fn;7`	bzsh&Rb2p,,:c[n] gn#8s	sQӑ4I_NauBi_\ܟv_Ͻ~S,!Юx]Yo9m\c$bOon,7|4uFk"¬(v<UxoK&G.F.szHlevU++455yLv|cŅ䢾|lFFOs
tI
O߇K0WRX?WQ+]SrwN8Ԅ}?қ;q'>T'7cX"9Vros-?/}ouRݜqTJ;.my^M@ܺӬ'iB0JS}HB*BV@Ça-2KOxGۃc=#QL,[10_p3ϼd9/;b mH+<EBG`%&ŋ\3?OD;[癩
l_IoCLD[,l+RP/ߝ{n}\P;TO{A`ê
^.*}NHmڜHY% 5:0⬳<%>3Nᾣ1#Ɏz`9Y+aSv;ĩefJy#w:ZW|qD
"J-Tn@&#)cW#MJA_)d1˫3pE&a{ݪݦv&|4/"*Ka(ժpOBؿH )J;j	Մ5$3	o>[{&y[ЊM#(mڜHY%ʁ,~A	&?N¿Ry(mڜHY%pXRLH0zp.+;Z\3?OD
824O.`mUFZA=Zqh[_2NJw8*HO%4q3M s6L3Nᾣ1#Ɏz$ursC#T*S0U'zwNOvJ|\V-c|6J骑M0pH:ITh 	()ٓsA*`Փ2,1q_f0Q㡩A9,ƬUeF^M0pH:Fd#1^ǝ-8S9UfUq6@-_zwsG3Ю Dȼ153Nᾣ1#Ɏz"DWpF Uџ@3k]!mM֕(9@h[b0ܳI$VQWuW2gnEW8ˮ0}b&dNM=&tn_
gFs:tWēq$|<"mh Tn]ժ|:\C\$;$lT'幹C ppKf*ק#nê
^.*}NHmڜHY% 5:0⬳<%>3Nᾣ1#Ɏz3WZLw8,~~Oٔ^}TQ(!C/T3Nᾣ1#Ɏz'Vl802jAd,Cw˘0Be*UhٜzV.\&Za{ݪݦv&|4tֵgXˮ]DVX\)R֙u~Wa+$\-픢		q2V18.|/(S{ؘ,07|QqS!^,Զ9٥T+8ÜqW<"5uü'ՔtDa槽n-EܿKQ#bJ|U{|,~i(@fYC"PB]EW8ˮhVG@jW>v^Q*5:'	 :Q~GUgߕ0YJ`۴Lr?a֫3Nᾣ1#Ɏz_O: +).=&5ΟByK2Sad8Ϸ̓53Nᾣ1#Ɏzu0/-7ZJ,PNxRcVy[ЊM#(T534_Vv^Oj@5D'fJ[,l+RP/ߝ{n}\aЯڿ;$֩EW8ˮhVG@jW>v^Q*5:'	 :Q /4e-\Ec`L3Bf}RA3Nᾣ1#ɎzL/躕>e0GqmYNG_^Dw2ٰ>貌)r3Nᾣ1#ɎzHS(T;)@~R		q2V18.|/(S{ؘ,07|QqS!^,Զ9٥T+8&>`?6L5o"վvyN~Bc,V8NmڜHY%J塾b*;ϞabbzIՊKe^Zlrq,J_~X=8+ߙ3Nᾣ1#Ɏzvfb{xn	"&ȞMC$hLPv 
k@/(S{^:Ոپ;i9׀vR_ZcȔ5%-:趾TJrًxs
&H7'|2왥0F⩧Zes&#MX*!3Nᾣ1#Ɏz	IZz<Ʊ؃\FF,lB?2Zw9?u0/-v"pF&ݻ+OMrd_Bc,V8NmڜHY%~(htJZ_D̆shC̿ςRTRfsp\ጮmڜHY%Ls_kS?bd@>T]Ty6\
6Ф*n{{ݪݦv&|4          . ' value is 64MB. PBXT can create a maximum of 32000 data'
                        . ' logs, which are used by all tables. So the value of'
                        . ' this variable can be increased to increase the total'
                        . ' amount of data that can be stored in the database.'
                    ),
                    'type'  => 1
                ),
                'pbxt_garbage_threshold' => array(
                    'title' => __('Garbage threshold'),
                    'desc'  => __(
                        'The percentage of garbage in a data log file'
                        . ' before it is compacted. This is a value between 1 and'
                        . ' 99. The default is 50.'
                    ),
                    'type'  => 2
                ),
                'pbxt_log_buffer_size' => array(
                    'title' => __('Log buffer size'),
                    'desc'  => __(
                        'The size of the buffer used when writing a data'
                        . ' log. The default is 256MB. The engine allocates one'
                        . ' buffer per thread, but only if the thread is required'
                        . ' to write a data log.'
                    ),
                    'type'  => 1
                ),
                'pbxt_data_file_grow_size' => array(
                    'title' => __('Data file grow size'),
                    'desc'  => __('The grow size of the handle data (.xtd) files.'),
                    'type'  => 1
                ),
                'pbxt_row_file_grow_size' => array(
                    'title' => __('Row file grow size'),
                    'desc'  => __('The grow size of the row pointer (.xtr) files.'),
                    'type'  => 1
                ),
                'pbxt_log_file_count' => array(
                    'title' => __('Log file count'),
                    'desc'  => __(
                        'This is the number of transaction log files'
                        . ' (pbxt/system/xlog*.xt) the system will maintain. If the'
                        . ' number of logs exceeds this value then old logs will be'
                        . ' deleted, otherwise they are renamed and given the next'
                        . ' highest number.'
                    ),
                    'type'  => 2
                ),
            )
        );
    }

    /**
     * Test for resolveTypeSize
     *
     * @param string $formatted_size the size expression (for example 8MB)
     * @param string $output         Expected output
     *
     * @dataProvider providerFortTestResolveTypeSize
     *
     * @return void
     */
    public function testResolveTypeSize($formatted_size, $output)
    {
        $this->assertEquals(
            $this->object->resolveTypeSize($formatted_size),
            $output
        );
    }

    /**
     * Provider for testResolveTypeSize
     *
     * @return array
     */
    public function providerFortTestResolveTypeSize()
    {
        return array(
            array(
                '8MB',
                array (
                    0 => '8,192',
                    1 => 'KiB'
                )
            ),
            array(
                '10mb',
                array (
                    0 => '-1',
                    1 => 'B'
                )
            ),
            array(
                'A4',
                array (
                    0 => '0',
                    1 => 'B'
                )
            )
        );
    }

    /**
     * Test for getInfoPages
     *
     * @return void
     */
    public function testGetInfoPages()
    {
        $this->assertEquals(
            $this->object->getInfoPages(),
            array(
                'Documentation' => 'Documentation'
            )
        );
    }

    /**
     * Test for getPage
     *
     * @return void
     */
    public function testGetPage()
    {
        $this->assertEquals(
            $this->object->getPage('Documentation'),
            '<p>'
            . sprintf(
                __(
                    'Documentation and further information about PBXT'
                    . ' can be found on the %sPrimeBase XT Home Page%s.'
                ),
                '<a href="' . PMA_linkURL('https://mariadb.com/kb/en/mariadb/about-pbxt/')
                . '" rel="noopener noreferrer" target="_blank">',
                '</a>'
            )
            . '</p>' . "\n"
        );

        $this->assertEquals(
            $this->object->getPage('NonExistMethod'),
            false
        );
    }
}
