3 require_once 'HTMLPurifier/DefinitionCache/DecoratorHarness.php';
4 require_once 'HTMLPurifier/DefinitionCache/Decorator/Memory.php';
6 generate_mock_once('HTMLPurifier_DefinitionCache');
8 class HTMLPurifier_DefinitionCache_Decorator_MemoryTest
extends HTMLPurifier_DefinitionCache_DecoratorHarness
12 $this->cache
= new HTMLPurifier_DefinitionCache_Decorator_Memory();
16 function setupMockForSuccess($op) {
17 $this->mock
->expectOnce($op, array($this->def
, $this->config
));
18 $this->mock
->setReturnValue($op, true, array($this->def
, $this->config
));
19 $this->mock
->expectNever('get');
22 function setupMockForFailure($op) {
23 $this->mock
->expectOnce($op, array($this->def
, $this->config
));
24 $this->mock
->setReturnValue($op, false, array($this->def
, $this->config
));
25 $this->mock
->expectOnce('get', array($this->config
));
29 $this->mock
->expectOnce('get', array($this->config
)); // only ONE call!
30 $this->mock
->setReturnValue('get', $this->def
, array($this->config
));
31 $this->assertEqual($this->cache
->get($this->config
), $this->def
);
32 $this->assertEqual($this->cache
->get($this->config
), $this->def
);
36 $this->setupMockForSuccess('set', 'get');
37 $this->assertEqual($this->cache
->set($this->def
, $this->config
), true);
38 $this->assertEqual($this->cache
->get($this->config
), $this->def
);
41 function test_set_failure() {
42 $this->setupMockForFailure('set', 'get');
43 $this->assertEqual($this->cache
->set($this->def
, $this->config
), false);
44 $this->cache
->get($this->config
);
47 function test_replace() {
48 $this->setupMockForSuccess('replace', 'get');
49 $this->assertEqual($this->cache
->replace($this->def
, $this->config
), true);
50 $this->assertEqual($this->cache
->get($this->config
), $this->def
);
53 function test_replace_failure() {
54 $this->setupMockForFailure('replace', 'get');
55 $this->assertEqual($this->cache
->replace($this->def
, $this->config
), false);
56 $this->cache
->get($this->config
);
60 $this->setupMockForSuccess('add', 'get');
61 $this->assertEqual($this->cache
->add($this->def
, $this->config
), true);
62 $this->assertEqual($this->cache
->get($this->config
), $this->def
);
65 function test_add_failure() {
66 $this->setupMockForFailure('add', 'get');
67 $this->assertEqual($this->cache
->add($this->def
, $this->config
), false);
68 $this->cache
->get($this->config
);