[Tͪ#n$;<:a4sX[@@[>>] /ۮW#)sqB$
`V^]ڥ >5zRg` 9Qt
GaoG]iS4jw=>;kY-MCtu|h@@{Lf Le DxP~\yNuaO\bPj]r RU]2|2@$!p?Qp
ǥPSG#UI6	%Se[9	C]"֡+h(r}8r2cy\3Ta/l@qvՔپwb|.Ŵ q"?oEW7~p)
)..@(IM<":I;TX%?nRM4 drNNqð5'.W[	x%lM/~|BVˊUpGȨ5\8dC4<Hޢ1yJ6vso^ylS/Gqͷ-,9:.v*NJ07W jGx暍%n四Hѫv0fm5b43RPL5I;Јݦnj@Y(4a@՜S=8*k׺yqCXb0C>	6YK_^+ZEP|͕[! r	I&Ko"'QA+ɻfyBe M?YNB/(KL-F!ZM0m\X~M/R.eQJ1|CmdfK?B?>]Ps8vTXQ}[ඇXDη`$^Imb*.e,#A_c6s>ŢH5Ǩɕyy#mvPS4K5ڡyI6c(3-%]]!?y:f`TVPNoO"'uJ9jzXtMvVy
0Z 8G(1}'!Ve>hO5U^L-t,Dn~S=7ѭ?h3bo,|k-=lk&C M@ܺӬu'}_t0xƉ$QG0>ڙh &2<4
2^z-p<%7=~W!|}T:`e>o#p(si[sw0
ms648F5) Vx#f)
b,zjܼw"MnFEx!h0d-z% P:=lbKVٰ2@6Yt"qԚմ`lH0B\3"Z|\xBiOtt]]" J+(>wNGZw~p ~Ch F-,9:.v*NJ0Oms&r)x=;XwZs4tc	6p/FȋSބjڲəfXLɣ[)P8@?ynDb
ׄ<W,XR̄  GsȵNbr񆖶j{.yf
X\`X.2\GA8jL^andهJBkg$ɨ~NOaVc2K}ʥ&qF[$ anXǮ0RmmrmC~;̮m,u(9\fx0Nsn@?0v;G/7 6>;DIݸqNRoA }tcN2(X4w$^w@@&\v2Uy1ԀlP^${Wf(tu~ͤ(yq0)=3X{N󠥢*WYMDϝJ-R׈{:'(L/ne,'a1NB݅~%Xwe)3 }HF5/Ԑo fqzlQec7L)t瞝"ᗋ6x! Ɨpm?83×d$Z-[/&E^(:ZJ2}nsA3Nᾣ1#Ɏz\S܎"F.srahlW(C&$}	5HYbWPˉG{Bc,V8NTvԢ}Tkox 2Rr|KgZvXk`/Ԑo fq0LؾJ|آI82*Ү`xBA	m]IL0[WH9!iF3w[qInswYZ6CxG1vpá*R!;G/7 6>;)Z*lzLZ:#Y-@xMcNh٪KH6I _}P%HzgKy3Nᾣ1#ɎzrBk>&aOE3Nᾣ1#Ɏz!PMv~AZ/(S{@ cp%CqA31EW8ˮ7X)|ɲ>	/cJq.آ m=׻2"rj8rahlW(C&$}	5HYH-n!poBc,V8NTvԢ{u,+3׃4dt1BΙ$L)t瞱Kƨ3^`|',ZW:ADA/(S{9,np%|x]	/(S{wi/4%?N¿Ry(y]7\H**[x)cU*QrN.UZ1/(S{yD7/iAc̥m&ZRg?uф$A/(S{(Lq(AآI82*Ү`xB"T(08UnE2o#MҐf/.{hVDP2Jʍ)n:	9IUt9J/xQR?N¿Ry(y]7\H**Yٺ#HW߀ =]Շs/(S{g]}TA_Lle֪腴W/Ԑo fqnA<bF+YgsI-lJ:KF{65o)&'p%EåiYyИ1PsT+8gYs@7EWT{oiA~}~@N3.0z3Nᾣ1#Ɏzo̭u^}*ƐjgfY}(Of=X{eMp
Yo}XAL?x#O~%Ypap+'CKƨ3^`|',fҷb9cq?N¿Ry(y]7\H**q՟EHsVܰ' <xĔV*30ZSߝ:g(i[@FgqG}_S*>[j!X#l_q_Q:peENI*TDz.f4lyxXt`62W*fpt#-IDHv)%\DM1Ĕennd,z] P &kQ>
o;roG?;S+Q.'
K4L}74Fusf Ij||wZrm6m:y7mj+']FWjF
q/"Iu0/-   array(
                $data,
                "name='funcs[foo]'"
            ),
            array(
                $data,
                "<input class='datefield' type='text' name='params[foo]' />"
            ),
            array(
                $data,
                "name='funcs[fob]'"
            ),
            array(
                $data,
                "<input class='datetimefield' type='text' name='params[fob]'"
            ),
            array(
                $data,
                "name='params[fod][]'"
            ),
            array(
                $data,
                "name='params[foe][]'"
            ),
            array(
                $data,
                "name='execute_routine'"
            ),
        );
    }

    /**
     * Test for PMA_RTN_getExecuteForm
     *
     * @param array $data    Data for routine
     * @param array $matcher Matcher
     *
     * @return void
     *
     * @dataProvider provider2
     */
    public function testgetExecuteForm2($data, $matcher)
    {
        $GLOBALS['is_ajax_request'] = true;
        PMA_RTN_setGlobals();
        $this->assertContains(
            $matcher,
            PMA_RTN_getExecuteForm($data)
        );
    }

    /**
     * Data provider for testgetExecuteForm2
     *
     * @return array
     */
    public function provider2()
    {
        $data = array(
            'item_name'                 => 'foo',
            'item_returnlength'         => '',
            'item_returnopts_num'       => '',
            'item_returnopts_text'      => '',
            'item_definition'           => 'SELECT 1;',
            'item_comment'              => '',
            'item_definer'              => '',
            'item_type'                 => 'PROCEDURE',
            'item_num_params'           => 6,
            'item_param_dir'            => array(
                0 => 'IN',
                1 => 'OUT',
                2 => 'IN',
                3 => 'IN',
                4 => 'IN',
                5 => 'IN'
            ),
            'item_param_name'           => array(
                0 => 'foo',
                1 => 'foa',
                2 => 'fob',
                3 => 'foc',
                4 => 'fod',
                5 => 'foe'
            ),
            'item_param_type'           => array(
                0 => 'DATE',
                1 => 'VARCHAR',
                2 => 'DATETIME',
                3 => 'GEOMETRY',
                4 => 'ENUM',
                5 => 'SET'
            ),
            'item_param_length'         => array(
                0 => '',
                1 => '22',
                2 => '',
                3 => '',
                4 => "'a','b'",
                5 => "'a','b'"
            ),
            'item_param_length_arr'     => array(
                0 => array(),
                1 => array('22'),
                2 => array(),
                3 => array(),
                4 => array("'a'", "'b'"),
                5 => array("'a'", "'b'")
            ),
            'item_param_opts_num'       => array(
                0 => '',
                1 => '',
                2 => '',
                3 => '',
                4 => '',
                5 => ''
            ),
            'item_param_opts_text'      => array(
                0 => '',
                1 => 'utf8',
                2 => '',
                3 => '',
                4 => '',
                5 => ''
            ),
            'item_returntype'           => '',
            'item_isdeterministic'      => '',
            'item_securitytype_definer' => '',
            'item_securitytype_invoker' => '',
            'item_sqldataaccess'        => ''
        );

        return array(
            array(
                $data,
                "name='execute_routine'"
            ),
            array(
                $data,
                "name='ajax_request'"
            ),
        );
    }
}
