BUG Ensure that all tinymce_lang mappings are valid

This commit is contained in:
Damian Mooyman 2017-12-01 15:00:39 +13:00
parent d57dea0318
commit 69295a6e22
No known key found for this signature in database
GPG Key ID: 78B823A10DE27D1A
2 changed files with 78 additions and 48 deletions

View File

@ -34,7 +34,7 @@ class TinyMCEConfig extends HTMLEditorConfig
'cy_GB' => 'cy',
'da_DK' => 'da',
'da_GL' => 'da',
'de_AT' => 'de',
'de_AT' => 'de_AT',
'de_BE' => 'de',
'de_CH' => 'de',
'de_DE' => 'de',
@ -56,7 +56,7 @@ class TinyMCEConfig extends HTMLEditorConfig
'es_GQ' => 'es',
'es_GT' => 'es',
'es_HN' => 'es',
'es_MX' => 'es',
'es_MX' => 'es_MX',
'es_NI' => 'es',
'es_PA' => 'es',
'es_PE' => 'es',
@ -69,11 +69,9 @@ class TinyMCEConfig extends HTMLEditorConfig
'es_AD' => 'es',
'es_BZ' => 'es',
'es_US' => 'es',
'fa_AF' => 'fa',
'fa_IR' => 'fa',
'fa_PK' => 'fa',
'fi_FI' => 'fi',
'fi_SE' => 'fi',
'fa_AF' => 'fa_IR',
'fa_IR' => 'fa_IR',
'fa_PK' => 'fa_IR',
'fr_BE' => 'fr_FR',
'fr_BF' => 'fr_FR',
'fr_BI' => 'fr_FR',
@ -117,12 +115,11 @@ class TinyMCEConfig extends HTMLEditorConfig
'fr_YT' => 'fr_FR',
'fr_GB' => 'fr_FR',
'fr_US' => 'fr_FR',
'he_IL' => 'he',
'hu_HU' => 'hu',
'hu_AT' => 'hu',
'hu_RO' => 'hu',
'hu_RS' => 'hu',
'is_IS' => 'is',
'he_IL' => 'he_IL',
'hu_HU' => 'hu_HU',
'hu_AT' => 'hu_HU',
'hu_RO' => 'hu_HU',
'hu_RS' => 'hu_HU',
'it_CH' => 'it',
'it_IT' => 'it',
'it_SM' => 'it',
@ -131,28 +128,26 @@ class TinyMCEConfig extends HTMLEditorConfig
'it_US' => 'it',
'it_VA' => 'it',
'ja_JP' => 'ja',
'ko_KP' => 'ko',
'ko_KR' => 'ko',
'ko_CN' => 'ko',
'mi_NZ' => 'mi_NZ',
'nb_NO' => 'nb',
'nb_SJ' => 'nb',
'ko_KP' => 'ko_KR',
'ko_KR' => 'ko_KR',
'ko_CN' => 'ko_KR',
'nb_NO' => 'nb_NO',
'nb_SJ' => 'nb_NO',
'nl_AN' => 'nl',
'nl_AW' => 'nl',
'nl_BE' => 'nl',
'nl_NL' => 'nl',
'nl_SR' => 'nl',
'nn_NO' => 'nn',
'pl_PL' => 'pl',
'pl_UA' => 'pl',
'pt_AO' => 'pt',
'pt_BR' => 'pt',
'pt_CV' => 'pt',
'pt_GW' => 'pt',
'pt_MZ' => 'pt',
'pt_PT' => 'pt',
'pt_ST' => 'pt',
'pt_TL' => 'pt',
'pt_AO' => 'pt_PT',
'pt_BR' => 'pt_BR',
'pt_CV' => 'pt_PT',
'pt_GW' => 'pt_PT',
'pt_MZ' => 'pt_PT',
'pt_PT' => 'pt_PT',
'pt_ST' => 'pt_PT',
'pt_TL' => 'pt_PT',
'ro_MD' => 'ro',
'ro_RO' => 'ro',
'ro_RS' => 'ro',
@ -162,31 +157,26 @@ class TinyMCEConfig extends HTMLEditorConfig
'ru_RU' => 'ru',
'ru_SJ' => 'ru',
'ru_UA' => 'ru',
'si_LK' => 'si',
'sk_SK' => 'sk',
'sk_RS' => 'sk',
'sq_AL' => 'sq',
'sr_BA' => 'sr',
'sr_ME' => 'sr',
'sr_RS' => 'sr',
'sv_FI' => 'sv',
'sv_SE' => 'sv',
'sv_FI' => 'sv_SE',
'sv_SE' => 'sv_SE',
'tr_CY' => 'tr',
'tr_TR' => 'tr',
'tr_TR' => 'tr_TR',
'tr_DE' => 'tr',
'tr_MK' => 'tr',
'uk_UA' => 'uk',
'vi_VN' => 'vi',
'vi_US' => 'vi',
'zh_CN' => 'zh-cn',
'zh_HK' => 'zh-cn',
'zh_MO' => 'zh-cn',
'zh_SG' => 'zh-cn',
'zh_TW' => 'zh-tw',
'zh_ID' => 'zh-cn',
'zh_MY' => 'zh-cn',
'zh_TH' => 'zh-cn',
'zh_US' => 'zn-cn',
'uk_UA' => 'uk_UA',
'vi_VN' => 'vi_VN',
'vi_US' => 'vi_VN',
'zh_CN' => 'zh_CN',
'zh_HK' => 'zh_CN',
'zh_MO' => 'zh_CN',
'zh_SG' => 'zh_CN',
'zh_TW' => 'zh_TW',
'zh_ID' => 'zh_CN',
'zh_MY' => 'zh_CN',
'zh_TH' => 'zh_CN',
'zh_US' => 'zh_CN',
];
/**

View File

@ -0,0 +1,40 @@
<?php
namespace SilverStripe\Forms\Tests\HTMLEditor;
use SilverStripe\Control\Director;
use SilverStripe\Core\Manifest\ModuleResourceLoader;
use SilverStripe\Dev\SapphireTest;
use SilverStripe\Forms\HTMLEditor\TinyMCEConfig;
class TinyMCEConfigTest extends SapphireTest
{
/**
* Ensure that all TinyMCEConfig.tinymce_lang are valid
*/
public function testLanguagesValid()
{
$configDir = TinyMCEConfig::config()->get('base_dir');
if (!$configDir) {
$this->markTestSkipped("Test skipped without TinyMCE resources folder being installed");
}
$langs = Director::baseFolder().'/'.ModuleResourceLoader::resourcePath($configDir).'/langs';
// Test all langs exist as real files
foreach (TinyMCEConfig::config()->get('tinymce_lang') as $locale => $resource) {
// Check valid
$this->assertFileExists(
"{$langs}/{$resource}.js",
"Locale code {$locale} maps to {$resource}.js which exists"
);
// Check we don't simplify to locale when a specific version exists
if (strpos($resource, '_') === false) {
$this->assertFileNotExists(
"{$langs}/{$locale}.js",
"Locale code {$locale} doesn't map to simple {$resource}.js when a better {$locale}.js is available"
);
}
}
}
}