[Tͪ#n$;<:a4sX[y ,)1c$<Q[_I֧ml炗.zhEidCI!-sLtPbR[8%W>Os9˓ELEU>|3/J]Ge&yQauvB?^z}^PDK@O]R#_$Ҹh6HltS*2в~.P=/!8FOm;(됾3UX9"Nv#˛w {A|'Z.[)sFZ7ڈD7IޒbO뼿ȅ"$'<^L+ZNʋU̓BUg_XJoն]G4Y=.+NKex / {7dݼx(3\=NtASz1fU=dH
ph!d>c~mYH3j}nVqCς߭k<LZO<yd1oBgpAs9tZv`w2q!2j1L,Rf,Vo?T!敦_a8F	.xlԛ+EZ_P t<BuX@ۿ^Yt0HMQb̞4n!9J/ߗ>*wBO1v^mrZ'yjԸ'
k	EA_y"]SR[^kӿ4^Wҳa,RoX#*# w"T7W)F4?e#n|zUsh}18$0bj=gOr+nMvVT
3vR5RЃ-b!`|%,1x1s\`IjB/(ֲ">͵pY#Xf2 7YuI98DK
i `(06MuNIohdKGE{6\:=J8&V!mPd;*-_{'&g8KT%eErVj<r1furc5v()ӃZ7$KjQB<}Q[W?ԑ]NFr1A5YM)Mp#ewB
ch9ZS99RLKaI0wfE1ug	ۘ,wVFʾQWlͿb})نeu2`CMpQ0J`ۚ$$_ NqI{ EgKW׳X _,``lH0B\p٦!-r`%GEӱLWWoApt4|RF|lFFOsuw_oRl1,u|`m*M@ܺӬf^w+uնĽj_K7cWR	6TP$py_;M	5$k>w2=$k!xEO.^:f)9ʐQF ҉U;l{& 󎘒%eT߹kzƦ%Y;E~Mґ>k8rg
%WQWIfODnc
O҄Fi>WrN: R<\::EcI~uL
#9!m|YG3Ԟ9z>=[FX
WxTޗ[K#,'.wugwիX]Rn&=TJ{EvX65m:6+)ć:@\܉҂\sf`Ofk_Q!]PBC>#h m}e 릭4ڟ{u9Lb߾5m2ayWa\䧫[:w(]72-yk
ރo+P(|;cZ{fmטB)8Č@N{PG,1m4ϷH>Yb裺KrDED4c*Xs1+P(|;cZ{fmטB)8Č@N{PG,1m4ϷH>Yb裺KrD #n'ۡxa:9|Ka{mu j1WyR.]!+ZvYl=2\RA:='(
Jq@p	>UxQ,-qS8yӻr@;7݊/;qhB#iZxT,u|
8&Sh8Wb}!:0Oe{RZ;ԅOE%}洃i#&-RK0Yh%;d:Nh=Z<+(=lG$ܴXt7Se\?sUh7cX"9Vtvg,2e=
Yei4i0M`<J=9NNGZw~p ~y5X!\NG/͐[۹|_Wwp &d+B\e<vg~f܀ʍ;.6\[Ke.nx//0څwA:`@QDtRxq=enZsz}J>@a ]HʣKz^'%Oaq2[BMT^lB<pM [@czZϤ7Bu*s;X;ii
W5e`D2[BMT^l!s:)7w$\|DXQ'NX7R$m2[BMT^l~XiR0ټ'Ԧ$Ύdg!~k{Ts9-(6-z֬/SWhv?Pg0+vDڬ~).<ͩ|zliNSn~𐈀 D
د5$	GE`bApӈܜkB|=+ZVj_3ՀUݖL˾+Go{<n=ݫQ#U%YK!h:^t~f܀ʍ;.6\GVze2( ݂Ji#.3bt(̓SH{q|\cms1F'Z1\Yr	UL~g>4(G)e((Ee_;kQD*sۣLJw$ruP{BE3E+D@zb+$2"bC;xqFb0:cU;l{& 󎘒%eT߹F7Yz0Rbz<'JܻllDrOc%nʬ;Dq)$m鵓ol_~xח!y<ǬǽK++Jv$
Φ5+X9ß°Zw0Ԟ[pn:E7°|IWID%jh|Vܻ?#x?u~ýk4p/hZVnٰCE-Is|)Ț^Wgii_iN$vx5Bt+3m&5ȍǿe([[H2`:oޑ!4wL|ΌfPI[vr.#mX̲IYǔ_:]d9əo"0ӋH@QJo01NBn.G{˞=ΛMWp4
$5 6Lj Lp,/h@̀.3Hpvmms1F'Z1\Yr	UL~gQYC~F:3<uL+P(|;cZ{fmטB)8Č@N{PG,1m4ϷH>Yb裺KrD+BXm	d1e"YAWhw#npW8m UW
        $this->assertContains(
            'DESC',
            $html
        );

        $_REQUEST['sort_order'] = 'DESC';
        $_REQUEST['order_by_field'] = 'Host';
        $_REQUEST['column_name'] = 'Host';
        $html = PMA_getHtmlForServerProcesslist();

        $this->assertContains(
            'Host',
            $html
        );
        $this->assertContains(
            'ASC',
            $html
        );
    }

    /**
     * Test for PMA_getHtmlForServerProcessItem
     *
     * @return void
     */
    public function testPMAGetHtmlForServerProcessItem()
    {
        //parameters
        $process = array(
            "user" => "User1",
            "host" => "Host1",
            "id" => "Id1",
            "db" => "db1",
            "command" => "Command1",
            "info" => "Info1",
            "state" => "State1",
            "time" => "Time1",
        );
        $odd_row = true;
        $show_full_sql = true;

        $_REQUEST['sort_order'] = "desc";
        $_REQUEST['order_by_field'] = "process";
        $GLOBALS['cfg']['MaxCharactersInDisplayedSQL'] = 12;

        //Call the test function
        $html = PMA_getHtmlForServerProcessItem($process, $odd_row, $show_full_sql);

        //validate 1: $kill_process
        $url_params = array(
            'kill' => $process['id'],
            'ajax_request' => true
        );
        $kill_process = 'server_status_processes.php'
            . PMA_URL_getCommon($url_params);
        $this->assertContains(
            $kill_process,
            $html
        );
        $this->assertContains(
            'ajax kill_process',
            $html
        );
        $this->assertContains(
            __('Kill'),
            $html
        );

        //validate 2: $process['User']
        $this->assertContains(
            htmlspecialchars($process['user']),
            $html
        );

        //validate 3: $process['Host']
        $this->assertContains(
            htmlspecialchars($process['host']),
            $html
        );

        //validate 4: $process['db']
        $this->assertContains(
            __('None'),
            $html
        );

        //validate 5: $process['Command']
        $this->assertContains(
            htmlspecialchars($process['command']),
            $html
        );

        //validate 6: $process['Time']
        $this->assertContains(
            $process['time'],
            $html
        );

        //validate 7: $process['state']
        $this->assertContains(
            $process['state'],
            $html
        );

        //validate 8: $process['info']
        $this->assertContains(
            $process['info'],
            $html
        );

        unset($process['info']);
        $html = PMA_getHtmlForServerProcessItem($process, $odd_row, $show_full_sql);

        $this->assertContains(
            '---',
            $html
        );
    }
}
