Release 2.0.1, merged in 1181 to HEAD.
[htmlpurifier.git] / tests / HTMLPurifier / DefinitionCache / Decorator / MemoryTest.php
blobcba780fb2a45e130a5db3fbbf4b46d68024d13bf
1 <?php
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
11 function setup() {
12 $this->cache = new HTMLPurifier_DefinitionCache_Decorator_Memory();
13 parent::setup();
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));
28 function test_get() {
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);
35 function test_set() {
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);
59 function test_add() {
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);