3 class HTMLPurifier_LanguageFactoryTest
extends HTMLPurifier_Harness
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');
18 $this->assertIdentical(count($language->messages
), 0);
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');
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
);