|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace SilverStripe\Forms\Tests\HTMLEditor; |
|
4
|
|
|
|
|
5
|
|
|
use SilverStripe\Control\Director; |
|
6
|
|
|
use SilverStripe\Core\Manifest\ModuleResourceLoader; |
|
7
|
|
|
use SilverStripe\Dev\SapphireTest; |
|
8
|
|
|
use SilverStripe\Forms\HTMLEditor\TinyMCEConfig; |
|
9
|
|
|
|
|
10
|
|
|
class TinyMCEConfigTest extends SapphireTest |
|
11
|
|
|
{ |
|
12
|
|
|
/** |
|
13
|
|
|
* Ensure that all TinyMCEConfig.tinymce_lang are valid |
|
14
|
|
|
*/ |
|
15
|
|
|
public function testLanguagesValid() |
|
16
|
|
|
{ |
|
17
|
|
|
$configDir = TinyMCEConfig::config()->get('base_dir'); |
|
18
|
|
|
if (!$configDir) { |
|
19
|
|
|
$this->markTestSkipped("Test skipped without TinyMCE resources folder being installed"); |
|
20
|
|
|
} |
|
21
|
|
|
|
|
22
|
|
|
$langs = Director::baseFolder() . '/' . ModuleResourceLoader::resourcePath($configDir) . '/langs'; |
|
23
|
|
|
|
|
24
|
|
|
// Test all langs exist as real files |
|
25
|
|
|
foreach (TinyMCEConfig::config()->get('tinymce_lang') as $locale => $resource) { |
|
26
|
|
|
// Check valid |
|
27
|
|
|
$this->assertFileExists( |
|
28
|
|
|
"{$langs}/{$resource}.js", |
|
29
|
|
|
"Locale code {$locale} maps to {$resource}.js which exists" |
|
30
|
|
|
); |
|
31
|
|
|
// Check we don't simplify to locale when a specific version exists |
|
32
|
|
|
if (strpos($resource, '_') === false) { |
|
33
|
|
|
$this->assertFileNotExists( |
|
34
|
|
|
"{$langs}/{$locale}.js", |
|
35
|
|
|
"Locale code {$locale} doesn't map to simple {$resource}.js when a better {$locale}.js is available" |
|
36
|
|
|
); |
|
37
|
|
|
} |
|
38
|
|
|
} |
|
39
|
|
|
} |
|
40
|
|
|
|
|
41
|
|
|
public function testGetContentCSS() |
|
42
|
|
|
{ |
|
43
|
|
|
TinyMCEConfig::config()->set('editor_css', [ |
|
44
|
|
|
'silverstripe/framework:tests/php/Forms/HTMLEditor.css' |
|
45
|
|
|
]); |
|
46
|
|
|
|
|
47
|
|
|
// Test default config |
|
48
|
|
|
$config = new TinyMCEConfig(); |
|
49
|
|
|
$this->assertContains('silverstripe/framework:tests/php/Forms/HTMLEditor.css', $config->getContentCSS()); |
|
50
|
|
|
|
|
51
|
|
|
// Test manual disable |
|
52
|
|
|
$config->setContentCSS([]); |
|
53
|
|
|
$this->assertEmpty($config->getContentCSS()); |
|
54
|
|
|
|
|
55
|
|
|
// Test replacement config |
|
56
|
|
|
$config->setContentCSS([ |
|
57
|
|
|
'silverstripe/framework:tests/php/Forms/HTMLEditor_another.css' |
|
58
|
|
|
]); |
|
59
|
|
|
$this->assertEquals( |
|
60
|
|
|
[ 'silverstripe/framework:tests/php/Forms/HTMLEditor_another.css'], |
|
61
|
|
|
$config->getContentCSS() |
|
62
|
|
|
); |
|
63
|
|
|
} |
|
64
|
|
|
} |
|
65
|
|
|
|