~clinton-collins/familyproject/trunk

« back to all changes in this revision

Viewing changes to ZendFramework/tests/Zend/Cache/FileBackendTest.php

  • Committer: Clinton Collins
  • Date: 2009-06-26 19:54:58 UTC
  • Revision ID: clinton.collins@gmail.com-20090626195458-5ebba0qcvo15xlpy
Initial Import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
/**
 
3
 * @package    Zend_Cache
 
4
 * @subpackage UnitTests
 
5
 */
 
6
 
 
7
/**
 
8
 * Zend_Cache
 
9
 */
 
10
require_once 'Zend/Cache.php';
 
11
require_once 'Zend/Cache/Backend/File.php';
 
12
 
 
13
/**
 
14
 * Zend_Log
 
15
 */
 
16
require_once 'Zend/Log.php';
 
17
require_once 'Zend/Log/Writer/Null.php';
 
18
 
 
19
/**
 
20
 * Common tests for backends
 
21
 */
 
22
require_once 'CommonExtendedBackendTest.php';
 
23
 
 
24
/**
 
25
 * PHPUnit test case
 
26
 */
 
27
require_once 'PHPUnit/Framework/TestCase.php';
 
28
 
 
29
/**
 
30
 * @package    Zend_Cache
 
31
 * @subpackage UnitTests
 
32
 */
 
33
class Zend_Cache_FileBackendTest extends Zend_Cache_CommonExtendedBackendTest {
 
34
    
 
35
    protected $_instance;
 
36
    protected $_instance2;
 
37
    protected $_cache_dir;
 
38
    
 
39
    public function __construct($name = null, array $data = array(), $dataName = '')
 
40
    {
 
41
        parent::__construct('Zend_Cache_Backend_File', $data, $dataName);
 
42
    }
 
43
    
 
44
    public function setUp($notag = false)
 
45
    {        
 
46
        $this->mkdir();
 
47
        $this->_cache_dir = $this->getTmpDir() . DIRECTORY_SEPARATOR;
 
48
        $this->_instance = new Zend_Cache_Backend_File(array(
 
49
            'cache_dir' => $this->_cache_dir,
 
50
        ));  
 
51
 
 
52
        $logger = new Zend_Log(new Zend_Log_Writer_Null());
 
53
        $this->_instance->setDirectives(array('logger' => $logger));
 
54
 
 
55
        parent::setUp($notag);     
 
56
    }
 
57
    
 
58
    public function tearDown()
 
59
    {
 
60
        parent::tearDown();
 
61
        unset($this->_instance);
 
62
    }
 
63
    
 
64
    public function testConstructorCorrectCall()
 
65
    {
 
66
        $test = new Zend_Cache_Backend_File(array());    
 
67
    }    
 
68
    
 
69
    public function testConstructorWithABadFileNamePrefix()
 
70
    {
 
71
        try {
 
72
            $class = new Zend_Cache_Backend_File(array(
 
73
                'file_name_prefix' => 'foo bar'
 
74
            ));
 
75
        } catch (Zend_Cache_Exception $e) {
 
76
            return;
 
77
        }
 
78
        $this->fail('Zend_Cache_Exception was expected but not thrown'); 
 
79
    }
 
80
    
 
81
    public function testGetWithANonExistingCacheIdAndANullLifeTime() 
 
82
    {
 
83
        $this->_instance->setDirectives(array('lifetime' => null));
 
84
        $this->assertFalse($this->_instance->load('barbar'));         
 
85
    }
 
86
    
 
87
    public function testSaveCorrectCallWithHashedDirectoryStructure()
 
88
    {
 
89
        $this->_instance->setOption('hashed_directory_level', 2);
 
90
        $res = $this->_instance->save('data to cache', 'foo', array('tag1', 'tag2'));
 
91
        $this->assertTrue($res);
 
92
    }
 
93
    
 
94
    public function testCleanModeAllWithHashedDirectoryStructure()
 
95
    {
 
96
        $this->_instance->setOption('hashed_directory_level', 2);
 
97
        $this->assertTrue($this->_instance->clean('all'));
 
98
        $this->assertFalse($this->_instance->test('bar'));
 
99
        $this->assertFalse($this->_instance->test('bar2'));
 
100
    }
 
101
    
 
102
    public function testSaveWithABadCacheDir()
 
103
    {
 
104
        $this->_instance->setOption('cache_dir', '/foo/bar/lfjlqsdjfklsqd/');
 
105
        $res = $this->_instance->save('data to cache', 'foo', array('tag1', 'tag2'));
 
106
        $this->assertFalse($res);
 
107
    }
 
108
    
 
109
}
 
110
 
 
111