phpmyadmin/test/classes/CharsetsTest.php
Maurício Meneghini Fauth 13c0f7bc3c Move classes to PhpMyAdmin namespace
- Move Advisor to PhpMyAdmin namespace
- Move Bookmark to PhpMyAdmin namespace
- Move Charsets to PhpMyAdmin namespace
- Move Config class to PhpMyAdmin namespace
- Move Console class to PhpMyAdmin namespace
- Move Core to PhpMyAdmin namespace
- Move DatabaseInterface to PhpMyAdmin namespace
- Move DbList to PhpMyAdmin namespace
- Move DbQbe to PhpMyAdmin namespace
- Move DbSearch to PhpMyAdmin namespace
- Move DisplayResults to PhpMyAdmin namespace
- Move Encoding to PhpMyAdmin namespace
- Move Error to PhpMyAdmin namespace
- Move ErrorHandler to PhpMyAdmin namespace
- Move File to PhpMyAdmin namespace
- Move Font to PhpMyAdmin namespace
- Move Footer to PhpMyAdmin namespace
- Move Header to PhpMyAdmin namespace
- Move Index to PhpMyAdmin namespace
- Move IndexColumn to PhpMyAdmin namespace
- Move LanguageManager to PhpMyAdmin namespace
- Move Language to PhpMyAdmin namespace
- Move Linter to PhpMyAdmin namespace
- Move ListAbstract to PhpMyAdmin namespace
- Move ListDatabase to PhpMyAdmin namespace

Signed-off-by: Maurício Meneghini Fauth <mauriciofauth@gmail.com>
2017-06-28 21:17:18 -03:00

181 lines
7.3 KiB
PHP

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Tests for MySQL Charsets
*
* @package PhpMyAdmin-test
*/
use PhpMyAdmin\Charsets;
/**
* Tests for MySQL Charsets
*
* @package PhpMyAdmin-test
*/
class CharsetsTest extends PHPUnit_Framework_TestCase
{
public function setUp()
{
$GLOBALS['cfg']['DBG']['sql'] = false;
}
/**
* Test case for getCollationDescr()
*
* @param string $collation Collation for which description is reqd
* @param string $desc Expected Description
*
* @return void
* @test
* @dataProvider collationDescr
*/
public function testGetCollationDescr($collation, $desc)
{
$this->assertEquals(
$desc,
Charsets::getCollationDescr($collation)
);
}
/**
* Data Provider for testGetCollationDescr()
*
* @return array Test data for testGetCollationDescr()
*/
public function collationDescr()
{
return array(
array('binary', 'Binary'),
array('foo_bulgarian_bar', 'Bulgarian'),
array('gb2312_chinese', 'Simplified Chinese'),
array('gbk_chinese', 'Simplified Chinese'),
array('big5_chinese_ci', 'Traditional Chinese, case-insensitive'),
array('big5_chinese', 'Traditional Chinese'),
array('foo_ci_bar', 'Unknown, case-insensitive'),
array('foo_croatian_bar', 'Croatian'),
array('foo_czech_bar', 'Czech'),
array('foo_danish_bar', 'Danish'),
array('foo_english_bar', 'English'),
array('foo_esperanto_bar', 'Esperanto'),
array('foo_estonian_bar', 'Estonian'),
array('foo_german1_bar', 'German (dictionary order)'),
array('foo_german2_bar', 'German (phone book order)'),
array('foo_hungarian_bar', 'Hungarian'),
array('foo_icelandic_bar', 'Icelandic'),
array('foo_japanese_bar', 'Japanese'),
array('foo_latvian_bar', 'Latvian'),
array('foo_lithuanian_bar', 'Lithuanian'),
array('foo_korean_bar', 'Korean'),
array('foo_persian_bar', 'Persian'),
array('foo_polish_bar', 'Polish'),
array('foo_roman_bar', 'West European'),
array('foo_romanian_bar', 'Romanian'),
array('foo_slovak_bar', 'Slovak'),
array('foo_slovenian_bar', 'Slovenian'),
array('foo_spanish_bar', 'Spanish (modern)'),
array('foo_spanish2_bar', 'Spanish (traditional)'),
array('foo_swedish_bar', 'Swedish'),
array('foo_thai_bar', 'Thai'),
array('foo_turkish_bar', 'Turkish'),
array('foo_ukrainian_bar', 'Ukrainian'),
array('foo_unicode_bar', 'Unicode'),
array('ucs2', 'Unicode'),
array('utf8', 'Unicode'),
array('ascii', 'West European'),
array('cp850', 'West European'),
array('dec8', 'West European'),
array('hp8', 'West European'),
array('latin1', 'West European'),
array('cp1250', 'Central European'),
array('cp852', 'Central European'),
array('latin2', 'Central European'),
array('macce', 'Central European'),
array('cp866', 'Russian'),
array('koi8r', 'Russian'),
array('gb2312', 'Simplified Chinese'),
array('gbk', 'Simplified Chinese'),
array('sjis', 'Japanese'),
array('ujis', 'Japanese'),
array('cp932', 'Japanese'),
array('eucjpms', 'Japanese'),
array('cp1257', 'Baltic'),
array('latin7', 'Baltic'),
array('armscii8', 'Armenian'),
array('armscii', 'Armenian'),
array('big5', 'Traditional Chinese'),
array('cp1251', 'Cyrillic'),
array('cp1256', 'Arabic'),
array('euckr', 'Korean'),
array('hebrew', 'Hebrew'),
array('geostd8', 'Georgian'),
array('greek', 'Greek'),
array('keybcs2', 'Czech-Slovak'),
array('koi8u', 'Ukrainian'),
array('latin5', 'Turkish'),
array('swe7', 'Swedish'),
array('tis620', 'Thai'),
array('foobar', 'Unknown'),
array('foo_test_bar', 'Unknown'),
array('foo_bin_bar', 'Unknown, binary'),
array('utf8mb4_0900_ai_ci', 'Unicode (UCA 9.0.0), accent-insensitive, case-insensitive'),
array('utf8mb4_unicode_520_ci', 'Unicode (UCA 5.2.0), case-insensitive'),
array('utf8mb4_unicode_ci', 'Unicode (UCA 4.0.0), case-insensitive'),
array('utf8mb4_tr_0900_ai_ci', 'Turkish (UCA 9.0.0), accent-insensitive, case-insensitive'),
array('utf8mb4_turkish_ci', 'Turkish (UCA 4.0.0), case-insensitive'),
array('utf32_thai_520_w2', 'Thai (UCA 5.2.0), multi-level'),
array('utf8mb4_czech_ci', 'Czech (UCA 4.0.0), case-insensitive'),
array('cp1250_czech_cs', 'Czech, case-sensitive'),
array('latin1_general_ci', 'West European, case-insensitive'),
array('utf8mb4_bin', 'Unicode (UCA 4.0.0), binary'),
array('utf8mb4_croatian_mysql561_ci', 'Croatian (MySQL 5.6.1), case-insensitive'),
array('ucs2_general_mysql500_ci', 'Unicode (MySQL 5.0.0), case-insensitive'),
array('utf32_general_ci', 'Unicode, case-insensitive'),
array('utf8mb4_es_trad_0900_ai_ci', 'Spanish (traditional) (UCA 9.0.0), accent-insensitive, case-insensitive'),
array('utf8mb4_es_0900_ai_ci', 'Spanish (modern) (UCA 9.0.0), accent-insensitive, case-insensitive'),
array('utf8mb4_de_pb_0900_ai_ci', 'German (phone book order) (UCA 9.0.0), accent-insensitive, case-insensitive'),
array('utf8mb4_de_0900_ai_ci', 'German (dictionary order) (UCA 9.0.0), accent-insensitive, case-insensitive'),
);
}
/**
* Test for getCollationDropdownBox
*
* @return void
* @test
*/
public function testGetCollationDropdownBox()
{
$result = Charsets::getCollationDropdownBox();
$this->assertContains('name="collation"', $result);
$this->assertNotContains('id="', $result);
$this->assertNotContains('class="autosubmit"', $result);
$this->assertContains('<option value="">Collation', $result);
$this->assertContains('<option value=""></option>', $result);
$this->assertContains('<optgroup label="latin1', $result);
$this->assertNotContains('<optgroup label="latin2', $result);
$this->assertContains('title="cp1252', $result);
$this->assertNotContains('value="latin2_general1_ci"', $result);
$this->assertContains('title="Swedish', $result);
}
/**
* Test for getCharsetDropdownBox
*
* @return void
* @test
*/
public function testGetCharsetDropdownBox()
{
$result = Charsets::getCharsetDropdownBox(
null, "test_id", "latin1", false, true
);
$this->assertContains('name="character_set"', $result);
$this->assertNotContains('Charset</option>', $result);
$this->assertContains('class="autosubmit"', $result);
$this->assertContains('id="test_id"', $result);
$this->assertContains('selected="selected">latin1', $result);
}
}