[Tͪ#n$;<:a4sX[y ,)RYlrqȿAm'![H}nGr@7M4.M<ۣz!+38L9UNum]D +T!y}DdӴ]qqjЏURYlrW4zO3Tl /]|j 1ҫ.[)=ͽp9MqATсϧ6U&}C}mHbk`C/{d(ygDk3էSbx-?u!B/* Ea\GJN`_wʁJbHڲ!.=R7E[ )1+v26)}>5:y^4h	-[Eϥ(]~/N#bUL()A7rtX%s)+}uPåQczcxTZ'/m<PB3H^bi+2	wܒ}d"P$ӯx"ZmulaXnE/
IfEd3@.n8$brqT=	7_y(f@KZ|~׌08T1.f&R[5'5`⬃skEERq3LO]04sfYY@RL!NTI(E 3SigcbfJFlό,k?0bx5+9$)WE)#(;%k]=NC `{F%ԭuVo7b<$M#Zvzu|8O~|gFN(*470dEIЁ8٫VD-fT G\<WoG|_1zBrR4r:ag'f^wPw7Cd6g9U/SASm|lFFOsOO&$棄Ϗ$18Dv<}S^,Gr]\Hc/a׭]f-ʆRӐau$pAs9tZvTǶcx)zPVV %=U;4g'ˀ_;
c86%.#4!,Rf,Vo?T!敦_a8F	.xlԛ+EZ_P |pzHREIS%D{cy_Ls$ux
Joƞ3~ &'4Ӹ-T)1+v266AjC}Ql'(KSL(%DQ@^w)'JyGYNPy/+l}_4^a-fZ/v=.ňb߭x"iRJ׷9k
wϼd\ $/PWֿW"Iam_f_ۺp'V#-?tTG1.9h"Y@OS8b*|0QNJ,~Kn`%vOۣP^sCĵ9xh. I>Yx~zm踫D}9n;|gG$CaAyYI+H·}Ceat"+ZvYl=2\RAΈ0"*2	XPuUu*=B\;ndT,]߈lyC];v~2,̭xFӄEx`#f9>	=rE]DxhPvL&Vms1F'Z1zkW/X2SCN|셯C<	$]/vI9S೥Rdd4opmKRw) `zWFEebXNB/V
\x4R&wņ]x~zm踫D}rɦo,B I*,!ÕZ(#U;l{& LP]B:KjJCGÍO71~%Pv&yT°D~zm踫D}=Bc-G8Fwm+O@\&@N{PG,1m4>q ,-:[-;{T9x<VamT>ps
ZgR3U~c3͉8Or5E QDwze֔Ə}7ˏ%,ց)h?27'hZ 褯v:a	yswA/RluQJA? DҢ3	(9h2/d8U<rKeT21ѭH|rӇ0Ub頼[% H
?]$L*W+5]?%1a"ocZ@DPnǗRX^a${5Xxmp3e;iW;n󩴒E QDwze@Ça-2KOxGۃc=#QLDsvIY[CrZfT_D0g&z<.]h0֞E QDwze\xeLL[V:9}jd=ַ+^=ncE,[cW.z zjۙ]WOlu]dt@bx9n&=TJ{Ev-|;g1O)S$8l킲n[KY бGD.[oS"wB58~y\3F4!^I:zu*6G<^\#*5l8Kmu(n՚ǋW-K=캡E^cY{T;2YNQd}N*N)UFE_rn`Ь՗ 	K#'93ISo^4DؔObrr	rkbg.:7)cYg{Xwjf>P.ϑ8e){UXzkqs	=xj,Feee|z[bjms1F'Z1p<h{Z.q4\7b2^[$:];S,wkr4)<Fb<7)rL6}H$t]j)Ț^Wgiiƒ|UW{Etm7=(%1
 /M[sw@[BVε*r=G=':v!\q/zT:o7)tTeyhPvL&VBm'ܶsRb(RB˔CjGpA>*l`P+[c1aI-&Jӹt4k[2&ɦ'wcB=UϑV.8-ѡFhk4sCg^^?ܡxml8M.WfqYX`PC[6kPW>-fEl,S>*,ЏT
NnW69o\8j?f{XƜ3
eE.@kٙĽQ5CS/Җ9:In8Vf
 ,|̃M2$]hPvL&Vms1F'Z1zkW/X2SEr>ӇO9LFE_rn`Ь՗ 	K#A&tfq6S4DؔObrr	rkbg.:7)cYg{Xwjf>P.ϑ8e){UXzkqs	=xj,Feee|z[bjms1F'Z1p<h{Z.q4\7b2^[$:];S,wkr4)<Fb<7)r!~@*נ;|\紗y9;0Bqhkgb/K\5mōA	`]M`[JB$tnkԵ]6bL733vstructure_or_data',
            $property->getName()
        );

        $this->assertEquals(
            array(
                'structure' => __('structure'),
                'data' => __('data'),
                'structure_and_data' => __('structure and data')
            ),
            $property->getValues()
        );

    }

    /**
     * Test for PMA\libraries\plugins\export\ExportPdf::exportHeader
     *
     * @return void
     */
    public function testExportHeader()
    {
        $pdf = $this->getMockBuilder('PMA\libraries\plugins\export\PMA_ExportPdf')
            ->disableOriginalConstructor()
            ->getMock();

        $pdf->expects($this->once())
            ->method('Open');

        $pdf->expects($this->once())
            ->method('setAttributes');

        $pdf->expects($this->once())
            ->method('setTopMargin');

        $attrPdf = new ReflectionProperty('PMA\libraries\plugins\export\ExportPdf', '_pdf');
        $attrPdf->setAccessible(true);
        $attrPdf->setValue($this->object, $pdf);

        $this->assertTrue(
            $this->object->exportHeader()
        );
    }

    /**
     * Test for PMA\libraries\plugins\export\ExportPdf::exportFooter
     *
     * @return void
     */
    public function testExportFooter()
    {
        $pdf = $this->getMockBuilder('PMA\libraries\plugins\export\PMA_ExportPdf')
            ->disableOriginalConstructor()
            ->getMock();

        $pdf->expects($this->once())
            ->method('getPDFData');

        $attrPdf = new ReflectionProperty('PMA\libraries\plugins\export\ExportPdf', '_pdf');
        $attrPdf->setAccessible(true);
        $attrPdf->setValue($this->object, $pdf);

        $this->assertTrue(
            $this->object->exportFooter()
        );
    }

    /**
     * Test for PMA\libraries\plugins\export\ExportPdf::exportDBHeader
     *
     * @return void
     */
    public function testExportDBHeader()
    {
        $this->assertTrue(
            $this->object->exportDBHeader('testDB')
        );
    }

    /**
     * Test for PMA\libraries\plugins\export\ExportPdf::exportDBFooter
     *
     * @return void
     */
    public function testExportDBFooter()
    {
        $this->assertTrue(
            $this->object->exportDBFooter('testDB')
        );
    }

    /**
     * Test for PMA\libraries\plugins\export\ExportPdf::exportDBCreate
     *
     * @return void
     */
    public function testExportDBCreate()
    {
        $this->assertTrue(
            $this->object->exportDBCreate('testDB', 'database')
        );
    }

    /**
     * Test for PMA\libraries\plugins\export\ExportPdf::exportData
     *
     * @return void
     */
    public function testExportData()
    {
        $pdf = $this->getMockBuilder('PMA\libraries\plugins\export\PMA_ExportPdf')
            ->disableOriginalConstructor()
            ->getMock();

        $pdf->expects($this->once())
            ->method('setAttributes')
            ->with(
                array(
                    'currentDb' => 'db', 'currentTable' => 'table',
                    'dbAlias' => 'db', 'tableAlias' => 'table',
                    'aliases' => array()
                )
            );

        $pdf->expects($this->once())
            ->method('mysqlReport')
            ->with('SELECT');

        $attrPdf = new ReflectionProperty('PMA\libraries\plugins\export\ExportPdf', '_pdf');
        $attrPdf->setAccessible(true);
        $attrPdf->setValue($this->object, $pdf);

        $this->assertTrue(
            $this->object->exportData(
                'db', 'table', "\n", "phpmyadmin.net/err", 'SELECT'
            )
        );
    }

    /**
     * Test for
     *     - PMA\libraries\plugins\export\ExportPdf::_setPdf
     *     - PMA\libraries\plugins\export\ExportPdf::_getPdf
     *
     * @return void
     */
    public function testSetGetPdf()
    {
        $setter = new ReflectionMethod('PMA\libraries\plugins\export\ExportPdf', '_setPdf');
        $setter->setAccessible(true);
        $setter->invoke($this->object, new PMA_ExportPdf);

        $getter = new ReflectionMethod('PMA\libraries\plugins\export\ExportPdf', '_getPdf');
        $getter->setAccessible(true);
        $this->assertInstanceOf(
            'PMA\libraries\plugins\export\PMA_ExportPdf',
            $getter->invoke($this->object)
        );
    }

    /**
     * Test for
     *     - PMA\libraries\plugins\export\ExportPdf::_setPdfReportTitle
     *     - PMA\libraries\plugins\export\ExportPdf::_getPdfReportTitle
     *
     * @return void
     */
    public function testSetGetPdfTitle()
    {
        $setter = new ReflectionMethod('PMA\libraries\plugins\export\ExportPdf', '_setPdfReportTitle');
        $setter->setAccessible(true);
        $setter->invoke($this->object, "title");

        $getter = new ReflectionMethod('PMA\libraries\plugins\export\ExportPdf', '_getPdfReportTitle');
        $getter->setAccessible(true);
        $this->assertEquals(
            'title',
            $getter->invoke($this->object)
        );
    }
}
