["armscii8"], "ascii" => ["ascii"], "big5" => ["big5"], "binary" => ["binary"], ]; $mysql_charsets_descriptions = [ "armscii8" => "PMA_armscii8_general_ci", "ascii" => "PMA_ascii_general_ci", "big5" => "PMA_big5_general_ci", "binary" => "PMA_binary_general_ci", ]; $mysql_default_collations = [ "armscii8" => "armscii8", "ascii" => "ascii", "big5" => "big5", "binary" => "binary", ]; $mysql_collations_available = [ "armscii8" => true, "ascii" => true, "big5" => true, "binary" => true, ]; $container = Container::getDefaultContainer(); $container->set('PhpMyAdmin\Response', new ResponseStub()); $container->alias('response', 'PhpMyAdmin\Response'); $class = new ReflectionClass('\PhpMyAdmin\Controllers\Server\ServerCollationsController'); $method = $class->getMethod('_getHtmlForCharsets'); $method->setAccessible(true); $ctrl = new ServerCollationsController( $container->get('response'), $container->get('dbi') ); $html = $method->invoke( $ctrl, $mysql_charsets, $mysql_collations, $mysql_charsets_descriptions, $mysql_default_collations, $mysql_collations_available ); //validate 1: Charset HTML $this->assertContains( '
', $html ); $this->assertContains( __('Collation'), $html ); $this->assertContains( __('Description'), $html ); //validate 2: Charset Item $this->assertContains( 'PMA_armscii8_general_ci', $html ); $this->assertContains( 'armscii8', $html ); $this->assertContains( 'PMA_ascii_general_ci', $html ); $this->assertContains( 'ascii', $html ); $this->assertContains( 'PMA_big5_general_ci', $html ); $this->assertContains( 'big5', $html ); } }