phpmyadmin/test/classes/ListDatabaseTest.php
William Desportes e816e45c18 phpstan level 0 (#14405)
* Fix phpdoc @return

- Fixed @return typehint

Signed-off-by: William Desportes <williamdes@wdes.fr>

* Fix incorrect case on function calls

Signed-off-by: William Desportes <williamdes@wdes.fr>

* Type hint + typo fix

Signed-off-by: William Desportes <williamdes@wdes.fr>

* Fixes

- @return fix
- @var fix
- Class names
- Throws fix
- test/classes/Plugins/Export/ExportSqlTest.php any() invoked with 1 parameter, 0 required
-  libraries/classes/Controllers/Table/TableStructureController.php Array has 2 duplicate keys with value 'columns_list'
- Call parent constructor  libraries/classes/Error.php

Signed-off-by: William Desportes <williamdes@wdes.fr>

* Update config

Signed-off-by: William Desportes <williamdes@wdes.fr>

* Access to an undefined property

- Access to an undefined property PhpMyAdmin\Plugins\Schema\Pdf\PdfRelationSchema::$diagram_row
- Access to an undefined property PhpMyAdmin\Plugins\Schema\Pdf\Pdf::$cMargin
- Undefined properties

Signed-off-by: William Desportes <williamdes@wdes.fr>

* Update config

Signed-off-by: William Desportes <williamdes@wdes.fr>

* Fix bootstrap-phpstan

Signed-off-by: William Desportes <williamdes@wdes.fr>

* Fix typos and phpstan config

Fixes: #14399
Signed-off-by: William Desportes <williamdes@wdes.fr>
2018-06-25 20:34:46 -03:00

133 lines
2.7 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* tests for ListDatabase class
*
* @package PhpMyAdmin-test
*/
declare(strict_types=1);
namespace PhpMyAdmin\Tests;
use PhpMyAdmin\ListDatabase;
use PhpMyAdmin\Tests\PmaTestCase;
use ReflectionClass;
$GLOBALS['server'] = 1;
$GLOBALS['cfg']['Server']['DisableIS'] = false;
/**
* tests for ListDatabase class
*
* @package PhpMyAdmin-test
*/
class ListDatabaseTest extends PmaTestCase
{
/**
* ListDatabase instance
*
* @var ListDatabase
*/
private $object;
/**
* SetUp for test cases
*
* @return void
*/
protected function setUp()
{
$GLOBALS['cfg']['Server']['only_db'] = ['single\\_db'];
$this->object = new ListDatabase();
}
/**
* Call protected functions by setting visibility to public.
*
* @param string $name method name
* @param array $params parameters for the invocation
*
* @return mixed the output from the protected method.
*/
private function _callProtectedFunction($name, $params)
{
$class = new ReflectionClass(ListDatabase::class);
$method = $class->getMethod($name);
$method->setAccessible(true);
return $method->invokeArgs($this->object, $params);
}
/**
* Test for ListDatabase::getEmpty
*
* @return void
*/
public function testEmpty()
{
$arr = new ListDatabase();
$this->assertEquals('', $arr->getEmpty());
}
/**
* Test for ListDatabase::exists
*
* @return void
*/
public function testExists()
{
$arr = new ListDatabase();
$this->assertEquals(true, $arr->exists('single_db'));
}
/**
* Test for ListDatabase::getHtmlOptions
*
* @return void
*/
public function testHtmlOptions()
{
$arr = new ListDatabase();
$this->assertEquals(
'<option value="single_db">single_db</option>' . "\n",
$arr->getHtmlOptions()
);
}
/**
* Test for checkHideDatabase
*
* @return void
*/
public function testCheckHideDatabase()
{
$GLOBALS['cfg']['Server']['hide_db'] = 'single\\_db';
$this->assertEquals(
$this->_callProtectedFunction(
'checkHideDatabase',
[]
),
''
);
}
/**
* Test for getDefault
*
* @return void
*/
public function testGetDefault()
{
$GLOBALS['db'] = '';
$this->assertEquals(
$this->object->getDefault(),
''
);
$GLOBALS['db'] = 'mysql';
$this->assertEquals(
$this->object->getDefault(),
'mysql'
);
}
}