array( '1' => array( 'PMA_VERSION' => PMA_VERSION, 'db' => 'pmadb', 'pdf_pages' => 'pdf_pages', 'pdfwork' => true ) ), ' PMA_token ' => 'token' ); } /** * Mocks database interaction for tests. * * @param string $db database name * * @return void */ private function _mockDatabaseInteraction($db) { $dbi = $this->getMockBuilder('PMA\libraries\DatabaseInterface') ->disableOriginalConstructor() ->getMock(); $dbi->expects($this->once()) ->method('tryQuery') ->with( "SELECT `page_nr`, `page_descr` FROM `pmadb`.`pdf_pages`" . " WHERE db_name = '" . $db . "' ORDER BY `page_descr`", 2, PMA\libraries\DatabaseInterface::QUERY_STORE, false ) ->will($this->returnValue('dummyRS')); $dbi->expects($this->exactly(3)) ->method('fetchAssoc') ->willReturnOnConsecutiveCalls( array('page_nr' => '1', 'page_descr' => 'page1'), array('page_nr' => '2', 'page_descr' => 'page2'), false ); $dbi->expects($this->any()) ->method('escapeString') ->will($this->returnArgument(0)); $GLOBALS['dbi'] = $dbi; } /** * Test for PMA_getPageIdsAndNames() * * @return void */ public function testGetPageIdsAndNames() { $db = 'db'; $this->_mockDatabaseInteraction($db); $result = PMA_getPageIdsAndNames($db); $this->assertEquals( array( '1' => 'page1', '2' => 'page2' ), $result ); } /** * Test for PMA_getHtmlForEditOrDeletePages() * * @return void */ public function testGetHtmlForEditOrDeletePages() { $db = 'db'; $operation = 'edit'; $this->_mockDatabaseInteraction($db); $result = PMA_getHtmlForEditOrDeletePages($db, $operation); $this->assertContains( '', $result ); $this->assertContains( '', $result ); $this->assertContains( '', $result ); $this->assertContains( '', $result ); $this->assertContains( '', $result ); } /** * Test for PMA_getHtmlForSchemaExport() * * @return void */ public function testGetHtmlForSchemaExport() { $db = 'db'; $page = 2; $result = PMA_getHtmlForSchemaExport($db, $page); // export type $this->assertContains( '', $result ); // orientation $this->assertContains( '', $result ); $this->assertContains('', $result); $this->assertContains( '', $result ); } }