3 require_once 'HTMLPurifier/DefinitionCacheFactory.php';
5 class HTMLPurifier_DefinitionCacheFactoryTest
extends HTMLPurifier_Harness
12 $new = new HTMLPurifier_DefinitionCacheFactory();
13 $this->oldFactory
= HTMLPurifier_DefinitionCacheFactory
::instance();
14 HTMLPurifier_DefinitionCacheFactory
::instance($new);
18 HTMLPurifier_DefinitionCacheFactory
::instance($this->oldFactory
);
21 function test_create() {
22 $config = HTMLPurifier_Config
::createDefault();
23 $factory = HTMLPurifier_DefinitionCacheFactory
::instance();
24 $cache = $factory->create('Test', $config);
25 $this->assertEqual($cache, new HTMLPurifier_DefinitionCache_Serializer('Test'));
28 function test_create_withDecorator() {
29 $config = HTMLPurifier_Config
::createDefault();
30 $factory =& HTMLPurifier_DefinitionCacheFactory
::instance();
31 $factory->addDecorator('Memory');
32 $cache =& $factory->create('Test', $config);
33 $cache_real = new HTMLPurifier_DefinitionCache_Decorator_Memory();
34 $cache_real = $cache_real->decorate(new HTMLPurifier_DefinitionCache_Serializer('Test'));
35 $this->assertEqual($cache, $cache_real);
38 function test_create_withDecoratorObject() {
39 $config = HTMLPurifier_Config
::createDefault();
40 $factory =& HTMLPurifier_DefinitionCacheFactory
::instance();
41 $factory->addDecorator(new HTMLPurifier_DefinitionCache_Decorator_Memory());
42 $cache =& $factory->create('Test', $config);
43 $cache_real = new HTMLPurifier_DefinitionCache_Decorator_Memory();
44 $cache_real = $cache_real->decorate(new HTMLPurifier_DefinitionCache_Serializer('Test'));
45 $this->assertEqual($cache, $cache_real);
48 function test_create_recycling() {
49 $config = HTMLPurifier_Config
::createDefault();
50 $factory =& HTMLPurifier_DefinitionCacheFactory
::instance();
51 $cache =& $factory->create('Test', $config);
52 $cache2 =& $factory->create('Test', $config);
53 $this->assertReference($cache, $cache2);
56 function test_null() {
57 $config = HTMLPurifier_Config
::create(array('Core.DefinitionCache' => null));
58 $factory =& HTMLPurifier_DefinitionCacheFactory
::instance();
59 $cache =& $factory->create('Test', $config);
60 $this->assertEqual($cache, new HTMLPurifier_DefinitionCache_Null('Test'));