Release 2.1.0, merged in 1313 to HEAD.
[htmlpurifier.git] / tests / HTMLPurifier / DefinitionCacheFactoryTest.php
bloba2768d7be400cc17fd683dac04b3c72acbd0c01f
1 <?php
3 require_once 'HTMLPurifier/DefinitionCacheFactory.php';
5 class HTMLPurifier_DefinitionCacheFactoryTest extends HTMLPurifier_Harness
8 var $newFactory;
9 var $oldFactory;
11 function setup() {
12 $new = new HTMLPurifier_DefinitionCacheFactory();
13 $this->oldFactory = HTMLPurifier_DefinitionCacheFactory::instance();
14 HTMLPurifier_DefinitionCacheFactory::instance($new);
17 function teardown() {
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'));