HEX
Server: nginx/1.22.0
System: Linux iZuf6jdxbygmf6cco977lcZ 5.10.84-10.4.al8.x86_64 #1 SMP Tue Apr 12 12:31:07 CST 2022 x86_64
User: root (0)
PHP: 7.4.29
Disabled: passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,readlink,symlink,popepassthru,stream_socket_server,fsocket,popen
Upload Files
File: /data/wwwroot/default/phpMyAdmin/test/libraries/select_lang/PMA_langList_test.php
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Test for PMA_langList from select_lang.lib.php
 *
 * @package PhpMyAdmin-test
 * @group select_lang.lib-tests
 */

/*
 * Include to test.
 */
require_once 'libraries/core.lib.php';
require_once 'libraries/vendor_config.php';
require_once 'libraries/select_lang.lib.php';

/**
 * Test for PMA_langList from select_lang.lib.php
 *
 * @package PhpMyAdmin-test
 * @group select_lang.lib-tests
 */
class PMA_LangList_Test extends PHPUnit_Framework_TestCase
{
    /**
     * Test for PMA_langList
     *
     * @return void
     */
    function testLangList()
    {
        $GLOBALS['lang_path'] = '';
        $expected = array('en' => PMA_langDetails('en'));

        $this->assertEquals($expected, PMA_langList());
    }

    /**
     * Test for PMA_langList
     *
     * @return void
     */
    function testLangListWithDir()
    {
        $GLOBALS['lang_path'] = './locale/';
        $expected = array('en' => PMA_langDetails('en'));

        $handle = @opendir($GLOBALS['lang_path']);
        if ($handle === false) {
            $this->markTestSkipped("Cannot open file with locales");
        }

        while (false !== ($file = readdir($handle))) {
            $path = $GLOBALS['lang_path'] . '/' . $file
                . '/LC_MESSAGES/phpmyadmin.mo';
            if ($file != "." && $file != ".." && file_exists($path)) {
                $expected[$file] = PMA_langDetails($file);
            }
        }

        $this->assertEquals($expected, PMA_langList());
    }

    /**
     * Test for PMA_langList
     *
     * @return void
     */
    function testLangListWithWrongDir()
    {
        $GLOBALS['lang_path'] = '/root/';
        $expected = array('en' => PMA_langDetails('en'));

        $this->assertEquals($expected, PMA_langList());
    }
}