-
-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #681 from adamgsoc2013/tbl_UTs
add UT for PMA_tbl_gis_visualization
- Loading branch information
Showing
1 changed file
with
243 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,243 @@ | ||
<?php | ||
/* vim: set expandtab sw=4 ts=4 sts=4: */ | ||
/** | ||
* Tests for libraries/tbl_gis_visualization.lib.php | ||
* | ||
* @package PhpMyAdmin-test | ||
*/ | ||
|
||
/* | ||
* Include to test. | ||
*/ | ||
require_once 'libraries/tbl_gis_visualization.lib.php'; | ||
require_once 'libraries/Util.class.php'; | ||
require_once 'libraries/database_interface.inc.php'; | ||
require_once 'libraries/php-gettext/gettext.inc'; | ||
require_once 'libraries/relation.lib.php'; | ||
require_once 'libraries/url_generating.lib.php'; | ||
|
||
/** | ||
* Tests for libraries/tbl_gis_visualization.lib.php | ||
* | ||
* @package PhpMyAdmin-test | ||
*/ | ||
class PMA_TblGisVisualizaionTest extends PHPUnit_Framework_TestCase | ||
{ | ||
|
||
/** | ||
* Setup function for test cases | ||
* | ||
* @access protected | ||
* @return void | ||
*/ | ||
protected function setUp() | ||
{ | ||
/** | ||
* SET these to avoid undefined index error | ||
*/ | ||
$GLOBALS['server'] = 1; | ||
$GLOBALS['cfg']['Server']['pmadb'] = ''; | ||
$GLOBALS['pmaThemeImage'] = 'theme/'; | ||
$GLOBALS['cfg']['ServerDefault'] = "server"; | ||
|
||
$GLOBALS['PMA_Config'] = new PMA_MockConfig(); | ||
$dbi = $this->getMockBuilder('PMA_DatabaseInterface') | ||
->disableOriginalConstructor() | ||
->getMock(); | ||
|
||
$GLOBALS['dbi'] = $dbi; | ||
} | ||
|
||
/** | ||
* Tests for PMA_getHtmlForOptionsList() method. | ||
* | ||
* @return void | ||
* @test | ||
*/ | ||
public function testPMAGetHtmlForOptionsList() | ||
{ | ||
$options= array("option1", "option2"); | ||
$select = "option2"; | ||
|
||
$html = PMA_getHtmlForOptionsList($options, $select); | ||
|
||
$this->assertEquals( | ||
'<option value="option1">option1</option>' | ||
. '<option value="option2" selected="selected">option2</option>', | ||
$html | ||
); | ||
} | ||
|
||
/** | ||
* Tests for PMA_getHtmlForUseOpenStreetMaps() method. | ||
* | ||
* @return void | ||
* @test | ||
*/ | ||
public function testPMAGetHtmlForUseOpenStreetMaps() | ||
{ | ||
$isSelected = true; | ||
|
||
$html = PMA_getHtmlForUseOpenStreetMaps($isSelected); | ||
|
||
$this->assertContains( | ||
'<input type="checkbox" name="visualizationSettings[choice]"', | ||
$html | ||
); | ||
$this->assertContains( | ||
__("Use OpenStreetMaps as Base Layer"), | ||
$html | ||
); | ||
} | ||
|
||
/** | ||
* Tests for PMA_getHtmlForColumn() method. | ||
* | ||
* @return void | ||
* @test | ||
*/ | ||
public function testPMAGetHtmlForColumn() | ||
{ | ||
$column = 0; | ||
$columnCandidates = array("option1", "option2"); | ||
$visualizationSettings = array("option2", "option3"); | ||
|
||
$html = PMA_getHtmlForColumn( | ||
$column, $columnCandidates, $visualizationSettings | ||
); | ||
|
||
$this->assertContains( | ||
'<tr><td><label for="labelColumn">', | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
__("Label column"), | ||
$html | ||
); | ||
|
||
$output = PMA_getHtmlForOptionsList( | ||
$columnCandidates, $visualizationSettings[$column] | ||
); | ||
$this->assertContains( | ||
$output, | ||
$html | ||
); | ||
} | ||
|
||
/** | ||
* Tests for PMA_getHtmlForGisVisualization() method. | ||
* | ||
* @return void | ||
* @test | ||
*/ | ||
public function testPMAGetHtmlForGisVisualization() | ||
{ | ||
$url_params = array("url_params"); | ||
$labelCandidates = array("option1", "option2"); | ||
$spatialCandidates = array("option2", "option3"); | ||
$visualizationSettings = array( | ||
'width' => 10, | ||
'height' => 12, | ||
'labelColumn' => 'labelColumn', | ||
'spatialColumn' => 'spatialColumn', | ||
'choice' => 'choice', | ||
); | ||
$sql_query = "sql_query"; | ||
$visualization = "visualization"; | ||
$svg_support = array(); | ||
$data = "data"; | ||
|
||
$html = PMA_getHtmlForGisVisualization( | ||
$url_params, $labelCandidates, $spatialCandidates, | ||
$visualizationSettings, $sql_query, | ||
$visualization, $svg_support, $data | ||
); | ||
|
||
$this->assertContains( | ||
'<legend>' . __('Display GIS Visualization') . '</legend>', | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
PMA_URL_getHiddenInputs($url_params), | ||
$html | ||
); | ||
|
||
$output = PMA_getHtmlForColumn( | ||
"labelColumn", $labelCandidates, $visualizationSettings | ||
); | ||
$this->assertContains( | ||
$output, | ||
$html | ||
); | ||
|
||
$output = PMA_getHtmlForColumn( | ||
"spatialColumn", $spatialCandidates, $visualizationSettings | ||
); | ||
$this->assertContains( | ||
$output, | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
__('Redraw'), | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
__('Download'), | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
htmlspecialchars($sql_query), | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
'<option value="png">PNG</option>', | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
'<option value="pdf">PDF</option>', | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
htmlspecialchars($visualizationSettings['width']), | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
htmlspecialchars($visualizationSettings['height']), | ||
$html | ||
); | ||
|
||
$this->assertContains( | ||
$visualization, | ||
$html | ||
); | ||
} | ||
} | ||
|
||
/** | ||
* Mock class for PMA_Config | ||
* | ||
* @package PhpMyAdmin-test | ||
*/ | ||
class PMA_MockConfig | ||
{ | ||
/** | ||
* isHttps() method. | ||
* | ||
* @return void | ||
* @test | ||
*/ | ||
public function isHttps() | ||
{ | ||
return true; | ||
} | ||
} | ||
?> |