~clinton-collins/familyproject/trunk

« back to all changes in this revision

Viewing changes to ZendFramework/tests/Zend/Application/Resource/DbTest.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
 * Zend Framework
 
4
 *
 
5
 * LICENSE
 
6
 *
 
7
 * This source file is subject to the new BSD license that is bundled
 
8
 * with this package in the file LICENSE.txt.
 
9
 * It is also available through the world-wide-web at this URL:
 
10
 * http://framework.zend.com/license/new-bsd
 
11
 * If you did not receive a copy of the license and are unable to
 
12
 * obtain it through the world-wide-web, please send an email
 
13
 * to license@zend.com so we can send you a copy immediately.
 
14
 *
 
15
 * @category   Zend
 
16
 * @package    Zend_Application
 
17
 * @subpackage UnitTests
 
18
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 
19
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 
20
 * @version    $Id: DbTest.php 15764 2009-05-25 17:37:41Z alexander $
 
21
 */
 
22
 
 
23
if (!defined('PHPUnit_MAIN_METHOD')) {
 
24
    define('PHPUnit_MAIN_METHOD', 'Zend_Application_Resource_DbTest::main');
 
25
}
 
26
 
 
27
/**
 
28
 * Test helper
 
29
 */
 
30
require_once dirname(__FILE__) . '/../../../TestHelper.php';
 
31
 
 
32
/**
 
33
 * Zend_Loader_Autoloader
 
34
 */
 
35
require_once 'Zend/Loader/Autoloader.php';
 
36
 
 
37
/**
 
38
 * @category   Zend
 
39
 * @package    Zend_Application
 
40
 * @subpackage UnitTests
 
41
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 
42
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 
43
 */
 
44
class Zend_Application_Resource_DbTest extends PHPUnit_Framework_TestCase
 
45
{
 
46
    public static function main()
 
47
    {
 
48
        $suite  = new PHPUnit_Framework_TestSuite(__CLASS__);
 
49
        $result = PHPUnit_TextUI_TestRunner::run($suite);
 
50
    }
 
51
 
 
52
    public function setUp()
 
53
    {
 
54
        // Store original autoloaders
 
55
        $this->loaders = spl_autoload_functions();
 
56
        if (!is_array($this->loaders)) {
 
57
            // spl_autoload_functions does not return empty array when no
 
58
            // autoloaders registered...
 
59
            $this->loaders = array();
 
60
        }
 
61
 
 
62
        Zend_Loader_Autoloader::resetInstance();
 
63
        $this->autoloader = Zend_Loader_Autoloader::getInstance();
 
64
 
 
65
        $this->application = new Zend_Application('testing');
 
66
 
 
67
        require_once dirname(__FILE__) . '/../_files/ZfAppBootstrap.php';
 
68
        $this->bootstrap = new ZfAppBootstrap($this->application);
 
69
    }
 
70
 
 
71
    public function tearDown()
 
72
    {
 
73
        // Restore original autoloaders
 
74
        $loaders = spl_autoload_functions();
 
75
        foreach ($loaders as $loader) {
 
76
            spl_autoload_unregister($loader);
 
77
        }
 
78
 
 
79
        foreach ($this->loaders as $loader) {
 
80
            spl_autoload_register($loader);
 
81
        }
 
82
 
 
83
        // Reset autoloader instance so it doesn't affect other tests
 
84
        Zend_Loader_Autoloader::resetInstance();
 
85
    }
 
86
 
 
87
    public function testAdapterIsNullByDefault()
 
88
    {
 
89
        require_once 'Zend/Application/Resource/Db.php';
 
90
        $resource = new Zend_Application_Resource_Db();
 
91
        $this->assertNull($resource->getAdapter());
 
92
    }
 
93
 
 
94
    public function testDbIsNullByDefault()
 
95
    {
 
96
        require_once 'Zend/Application/Resource/Db.php';
 
97
        $resource = new Zend_Application_Resource_Db();
 
98
        $this->assertNull($resource->getDbAdapter());
 
99
    }
 
100
 
 
101
    public function testParamsAreEmptyByDefault()
 
102
    {
 
103
        require_once 'Zend/Application/Resource/Db.php';
 
104
        $resource = new Zend_Application_Resource_Db();
 
105
        $params = $resource->getParams();
 
106
        $this->assertTrue(empty($params));
 
107
    }
 
108
 
 
109
    public function testIsDefaultTableAdapter()
 
110
    {
 
111
        require_once 'Zend/Application/Resource/Db.php';
 
112
        $resource = new Zend_Application_Resource_Db();
 
113
        $this->assertTrue($resource->isDefaultTableAdapter());
 
114
    }
 
115
 
 
116
    public function testPassingDatabaseConfigurationSetsObjectState()
 
117
    {
 
118
        require_once 'Zend/Application/Resource/Db.php';
 
119
        $config = array(
 
120
            'adapter' => 'Pdo_Sqlite',
 
121
            'params'  => array(
 
122
                'dbname' => ':memory:',
 
123
            ),
 
124
            'isDefaultTableAdapter' => false,
 
125
        );
 
126
        $resource = new Zend_Application_Resource_Db($config);
 
127
        $this->assertFalse($resource->isDefaultTableAdapter());
 
128
        $this->assertEquals($config['adapter'], $resource->getAdapter());
 
129
        $this->assertEquals($config['params'], $resource->getParams());
 
130
    }
 
131
 
 
132
    public function testInitShouldInitializeDbAdapter()
 
133
    {
 
134
        require_once 'Zend/Application/Resource/Db.php';
 
135
        $config = array(
 
136
            'adapter' => 'Pdo_Sqlite',
 
137
            'params'  => array(
 
138
                'dbname' => ':memory:',
 
139
            ),
 
140
            'isDefaultTableAdapter' => false,
 
141
        );
 
142
        $resource = new Zend_Application_Resource_Db($config);
 
143
        $resource->init();
 
144
        $db = $resource->getDbAdapter();
 
145
        $this->assertTrue($db instanceof Zend_Db_Adapter_Pdo_Sqlite);
 
146
    }
 
147
}
 
148
 
 
149
if (PHPUnit_MAIN_METHOD == 'Zend_Application_Resource_DbTest::main') {
 
150
    Zend_Application_Resource_DbTest::main();
 
151
}