[3.1.0] Fix buggy LanguageFactory. This revision is incomplete.
[htmlpurifier.git] / tests / HTMLPurifier / LanguageFactoryTest.php
blob5caa5177ab05e3d307cfe28b3d24bf855a2f80e6
1 <?php
3 class HTMLPurifier_LanguageFactoryTest extends HTMLPurifier_Harness
6 function test() {
8 $factory = HTMLPurifier_LanguageFactory::instance();
10 $config = HTMLPurifier_Config::create(array('Core.Language' => 'en'));
11 $context = new HTMLPurifier_Context();
12 $language = $factory->create($config, $context);
14 $this->assertIsA($language, 'HTMLPurifier_Language');
15 $this->assertIdentical($language->code, 'en');
17 // lazy loading test
18 $this->assertIdentical(count($language->messages), 0);
19 $language->load();
20 $this->assertNotEqual(count($language->messages), 0);
22 // actual tests for content can be found in LanguageTest
26 function testFallback() {
28 $factory = HTMLPurifier_LanguageFactory::instance();
30 $config = HTMLPurifier_Config::create(array('Core.Language' => 'en-x-test'));
31 $context = new HTMLPurifier_Context();
33 $language = $factory->create($config, $context);
35 $this->assertIsA($language, 'HTMLPurifier_Language_en_x_test');
36 $this->assertIdentical($language->code, 'en-x-test');
38 $language->load();
40 // test overloaded message
41 $this->assertIdentical($language->getMessage('HTMLPurifier'), 'HTML Purifier X');
43 // test inherited message
44 $this->assertIdentical($language->getMessage('LanguageFactoryTest: Pizza'), 'Pizza');
48 function testFullFallback() {
49 $factory = HTMLPurifier_LanguageFactory::instance();
50 $this->config->set('Core', 'Language', 'en-x-none');
51 $language = $factory->create($this->config, $this->context);