mirror of
https://github.com/roundcube/roundcubemail.git
synced 2026-03-07 00:26:48 +01:00
* Fix "method_argument_space" * Fix "control_structure_continuation_position" * Fix "new_with_parentheses" * Fix "blank_line_before_statement" * Fix "visibility_required" * Fix some "array_indentation" * Fix some "array_indentation" - unify all "rcube::raise_error" calls * rm useless eslint ignores and add rules counts * sort eslint ignores * fix eslint ignores grammar * Revert "Fix "blank_line_before_statement"" * fix CS 3.46.0
80 lines
2.0 KiB
PHP
80 lines
2.0 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Test class to test rcube class
|
|
*/
|
|
class Framework_Rcube extends PHPUnit\Framework\TestCase
|
|
{
|
|
/**
|
|
* Class constructor
|
|
*/
|
|
public function test_class()
|
|
{
|
|
$object = rcube::get_instance();
|
|
|
|
$this->assertInstanceOf('rcube', $object, 'Class singleton');
|
|
}
|
|
|
|
/**
|
|
* rcube::read_localization()
|
|
*/
|
|
public function test_read_localization()
|
|
{
|
|
$rcube = rcube::get_instance();
|
|
$result = $rcube->read_localization(INSTALL_PATH . 'plugins/acl/localization', 'pl_PL');
|
|
|
|
$this->assertSame('Zapis', $result['aclwrite']);
|
|
}
|
|
|
|
/**
|
|
* rcube::list_languages()
|
|
*/
|
|
public function test_list_languages()
|
|
{
|
|
$rcube = rcube::get_instance();
|
|
$result = $rcube->list_languages();
|
|
|
|
$this->assertSame('English (US)', $result['en_US']);
|
|
}
|
|
|
|
/**
|
|
* rcube::encrypt() and rcube::decrypt()
|
|
*/
|
|
public function test_encrypt_and_decrypt()
|
|
{
|
|
$rcube = rcube::get_instance();
|
|
|
|
$result = $rcube->decrypt($rcube->encrypt('test'));
|
|
$this->assertSame('test', $result);
|
|
|
|
// Test AEAD cipher method
|
|
$defaultCipherMethod = $rcube->config->get('cipher_method');
|
|
$rcube->config->set('cipher_method', 'aes-256-gcm');
|
|
try {
|
|
$result = $rcube->decrypt($rcube->encrypt('test'));
|
|
$this->assertSame('test', $result);
|
|
} finally {
|
|
$rcube->config->set('cipher_method', $defaultCipherMethod);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* rcube::exec()
|
|
*
|
|
* @requires function shell_exec
|
|
*/
|
|
public function test_exec()
|
|
{
|
|
if (\PHP_OS_FAMILY === 'Windows') {
|
|
$this->assertSame('', rcube::exec('where.exe unknown-command-123 2> nul'));
|
|
$this->assertSame('12', rcube::exec('set /a 10 + {v}', ['v' => '2']));
|
|
|
|
return;
|
|
}
|
|
|
|
$this->assertSame('', rcube::exec('which unknown-command-123'));
|
|
$this->assertSame("2038\n", rcube::exec('date --date={date} +%Y', ['date' => '@2147483647']));
|
|
// TODO: More cases
|
|
}
|
|
}
|