%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
| Server IP : 122.154.253.140  /  Your IP : 216.73.216.49 Web Server : Microsoft-IIS/7.5 System : Windows NT SERVER02 6.1 build 7601 (Windows Server 2008 R2 Standard Edition Service Pack 1) i586 User : IUSR ( 0) PHP Version : 5.6.31 Disable Function : NONE MySQL : ON | cURL : OFF | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/inetpub/wwwroot-25650203-BK/wwwroot/phpMyAdmin/test/libraries/  | 
Upload File :  | 
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Tests for Kanji Encoding Library
 *
 * @package PhpMyAdmin-test
 */
/*
 * Include to test.
 */
require_once 'libraries/kanji-encoding.lib.php';
/**
 * Tests for Kanji Encoding Library
 *
 * @package PhpMyAdmin-test
 */
class PMA_Kanji_Encoding_Test extends PHPUnit_Framework_TestCase
{
    /**
     * Test for PMA_Kanji_checkEncoding
     *
     * @param string $encoding Encoding to set
     * @param string $expected Expected encoding list
     *
     * @return void
     * @test
     * @dataProvider checkEncodingData
     */
    public function testCheckEncoding($encoding, $expected)
    {
        mb_internal_encoding($encoding);
        $this->assertTrue(PMA_Kanji_checkEncoding());
        $this->assertEquals($expected, $GLOBALS['kanji_encoding_list']);
    }
    /**
     * Data provider for testPMA_Kanji_checkEncoding
     *
     * @return array Test data
     */
    public function checkEncodingData()
    {
        return array(
            array('UTF-8', 'ASCII,SJIS,EUC-JP,JIS'),
            array('EUC-JP', 'ASCII,EUC-JP,SJIS,JIS')
        );
    }
    /**
     * Test for PMA_Kanji_changeOrder
     *
     * @param string $kanji_test_list current list
     * @param string $expected        expected list
     *
     * @return void
     * @test
     * @dataProvider changeOrderData
     */
    public function testChangeOrder($kanji_test_list, $expected)
    {
        $GLOBALS['kanji_encoding_list'] = $kanji_test_list;
        $this->assertTrue(PMA_Kanji_changeOrder());
        $this->assertEquals($expected, $GLOBALS['kanji_encoding_list']);
    }
    /**
     * Data Provider for testPMA_Kanji_changeOrder
     *
     * @return array Test data
     */
    public function changeOrderData()
    {
        return array(
            array('ASCII,SJIS,EUC-JP,JIS', 'ASCII,EUC-JP,SJIS,JIS'),
            array('ASCII,EUC-JP,SJIS,JIS', 'ASCII,SJIS,EUC-JP,JIS')
        );
    }
    /**
     * Test for PMA_Kanji_strConv
     *
     * @return void
     * @test
     */
    public function testStrConv()
    {
        $this->assertEquals(
            'test',
            PMA_Kanji_strConv('test', '', '')
        );
        $GLOBALS['kanji_encoding_list'] = 'ASCII,SJIS,EUC-JP,JIS';
        $this->assertEquals(
            'test è',
            PMA_Kanji_strConv('test è', '', '')
        );
        $this->assertEquals(
            mb_convert_encoding('test è', 'ASCII', 'SJIS'),
            PMA_Kanji_strConv('test è', 'ASCII', '')
        );
        $this->assertEquals(
            mb_convert_kana('全角', 'KV', 'SJIS'),
            PMA_Kanji_strConv('全角', '', 'kana')
        );
    }
    /**
     * Test for PMA_Kanji_fileConv
     *
     * @return void
     * @test
     */
    public function testFileConv()
    {
        $file_str = "教育漢字常用漢字";
        $filename = 'test.kanji';
        $file = fopen($filename, 'w');
        fputs($file, $file_str);
        fclose($file);
        $GLOBALS['kanji_encoding_list'] = 'ASCII,EUC-JP,SJIS,JIS';
        $result = PMA_Kanji_fileConv($filename, 'JIS', 'kana');
        $string = file_get_contents($result);
        PMA_Kanji_changeOrder();
        $expected = PMA_Kanji_strConv($file_str, 'JIS', 'kana');
        PMA_Kanji_changeOrder();
        $this->assertEquals($string, $expected);
        unlink($result);
    }
    /**
     * Test for PMA_Kanji_encodingForm
     *
     * @return void
     * @test
     */
    public function testEncodingForm()
    {
        $actual = PMA_Kanji_encodingForm();
        $this->assertContains(
            '<input type="radio" name="knjenc"',
            $actual
        );
        $this->assertContains(
            'type="radio" name="knjenc"',
            $actual
        );
        $this->assertContains(
            '<input type="radio" name="knjenc" value="EUC-JP" id="kj-euc" />',
            $actual
        );
        $this->assertContains(
            '<input type="radio" name="knjenc" value="SJIS" id="kj-sjis" />',
            $actual
        );
        $this->assertContains(
            '<input type="checkbox" name="xkana" value="kana" id="kj-kana" />',
            $actual
        );
    }
}