mirror of
https://github.com/renbaoshuo/S2OJ.git
synced 2024-12-24 05:41:52 +00:00
96d4a3ecf7
Due to historical reasons, the code is in subfolder "1". With SVN removal, we place the code back and remove the annoying "1" folder.
77 lines
2.3 KiB
PHP
77 lines
2.3 KiB
PHP
<?php
|
|
/**
|
|
* PHPMailer - language file tests
|
|
* Requires PHPUnit 3.3 or later.
|
|
*
|
|
* PHP version 5.0.0
|
|
*
|
|
* @package PHPMailer
|
|
* @author Andy Prevost
|
|
* @author Marcus Bointon <phpmailer@synchromedia.co.uk>
|
|
* @copyright 2004 - 2009 Andy Prevost
|
|
* @copyright 2010 Marcus Bointon
|
|
* @license http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License
|
|
*/
|
|
|
|
require_once '../PHPMailerAutoload.php';
|
|
|
|
/**
|
|
* PHPMailer - PHP email transport unit test class
|
|
* Performs authentication tests
|
|
*/
|
|
class PHPMailerLangTest extends PHPUnit_Framework_TestCase
|
|
{
|
|
/**
|
|
* Holds a phpmailer instance.
|
|
* @private
|
|
* @var PHPMailer
|
|
*/
|
|
public $Mail;
|
|
|
|
/**
|
|
* @var string Default include path
|
|
*/
|
|
public $INCLUDE_DIR = '../';
|
|
|
|
/**
|
|
* Run before each test is started.
|
|
*/
|
|
public function setUp()
|
|
{
|
|
$this->Mail = new PHPMailer;
|
|
}
|
|
|
|
/**
|
|
* Test language files for missing and excess translations
|
|
* All languages are compared with English
|
|
* @group languages
|
|
*/
|
|
public function testTranslations()
|
|
{
|
|
$this->Mail->setLanguage('en');
|
|
$definedStrings = $this->Mail->getTranslations();
|
|
$err = '';
|
|
foreach (new DirectoryIterator('../language') as $fileInfo) {
|
|
if ($fileInfo->isDot()) {
|
|
continue;
|
|
}
|
|
$matches = array();
|
|
//Only look at language files, ignore anything else in there
|
|
if (preg_match('/^phpmailer\.lang-([a-z_]{2,})\.php$/', $fileInfo->getFilename(), $matches)) {
|
|
$lang = $matches[1]; //Extract language code
|
|
$PHPMAILER_LANG = array(); //Language strings get put in here
|
|
include $fileInfo->getPathname(); //Get language strings
|
|
$missing = array_diff(array_keys($definedStrings), array_keys($PHPMAILER_LANG));
|
|
$extra = array_diff(array_keys($PHPMAILER_LANG), array_keys($definedStrings));
|
|
if (!empty($missing)) {
|
|
$err .= "\nMissing translations in $lang: " . implode(', ', $missing);
|
|
}
|
|
if (!empty($extra)) {
|
|
$err .= "\nExtra translations in $lang: " . implode(', ', $extra);
|
|
}
|
|
}
|
|
}
|
|
$this->assertEmpty($err, $err);
|
|
}
|
|
}
|