~clinton-collins/familyproject/trunk

« back to all changes in this revision

Viewing changes to ZendFramework/tests/Zend/UriTest.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_Uri
 
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
 */
 
21
 
 
22
if (!defined('PHPUnit_MAIN_METHOD')) {
 
23
    define('PHPUnit_MAIN_METHOD', 'Zend_UriTest::main');
 
24
}
 
25
 
 
26
/**
 
27
 * Test helper
 
28
 */
 
29
require_once dirname(__FILE__) . '/../TestHelper.php';
 
30
 
 
31
/**
 
32
 * Zend_Uri
 
33
 */
 
34
require_once 'Zend/Uri.php';
 
35
 
 
36
/**
 
37
 * @category   Zend
 
38
 * @package    Zend_Uri
 
39
 * @subpackage UnitTests
 
40
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 
41
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 
42
 */
 
43
class Zend_UriTest extends PHPUnit_Framework_TestCase
 
44
{
 
45
    public static function main()
 
46
    {
 
47
        $suite  = new PHPUnit_Framework_TestSuite("Zend_UriTest");
 
48
        $result = PHPUnit_TextUI_TestRunner::run($suite);
 
49
    }
 
50
 
 
51
    public function setUp()
 
52
    {
 
53
        $this->notices = array();
 
54
        $this->errorReporting = error_reporting();
 
55
        $this->displayErrors  = ini_get('display_errors');
 
56
    }
 
57
 
 
58
    public function tearDown()
 
59
    {
 
60
        error_reporting($this->errorReporting);
 
61
        ini_set('display_errors', $this->displayErrors);
 
62
    }
 
63
 
 
64
    public function testSchemeEmpty()
 
65
    {
 
66
        $this->_testInvalidUri('', '/empty/i');
 
67
        $this->_testInvalidUri('://www.zend.com', '/empty/i');
 
68
    }
 
69
 
 
70
    public function testSchemeUnsupported()
 
71
    {
 
72
        $this->_testInvalidUri('unsupported', '/unsupported/i');
 
73
        $this->_testInvalidUri('unsupported://zend.com', '/unsupported/i');
 
74
    }
 
75
 
 
76
    public function testSchemeIllegal()
 
77
    {
 
78
        $this->_testInvalidUri('!@#$%^&*()', '/illegal/i');
 
79
    }
 
80
 
 
81
    public function testSchemeHttp()
 
82
    {
 
83
        $this->_testValidUri('http');
 
84
    }
 
85
 
 
86
    public function testSchemeHttps()
 
87
    {
 
88
        $this->_testValidUri('https');
 
89
    }
 
90
 
 
91
    public function testSchemeMailto()
 
92
    {
 
93
        $this->markTestIncomplete('Zend_Uri_Mailto is not implemented yet');
 
94
        $this->_testValidUri('mailto');
 
95
    }
 
96
 
 
97
    /**
 
98
     * Tests that an invalid $uri throws an exception and that the
 
99
     * message of that exception matches $regex.
 
100
     *
 
101
     * @param string $uri
 
102
     * @param string $regex
 
103
     */
 
104
    protected function _testInvalidUri($uri, $regex)
 
105
    {
 
106
        $e = null;
 
107
        try {
 
108
            $uri = Zend_Uri::factory($uri);
 
109
        } catch (Zend_Uri_Exception $e) {
 
110
            $this->assertRegExp($regex, $e->getMessage());
 
111
            return;
 
112
        }
 
113
        $this->fail('Zend_Uri_Exception was expected but not thrown');
 
114
    }
 
115
 
 
116
    /**
 
117
     * Tests that a valid $uri returns a Zend_Uri object.
 
118
     *
 
119
     * @param string $uri
 
120
     */
 
121
    protected function _testValidUri($uri)
 
122
    {
 
123
        $uri = Zend_Uri::factory($uri);
 
124
        $this->assertTrue($uri instanceof Zend_Uri, 'Zend_Uri object not returned.');
 
125
    }
 
126
 
 
127
}
 
128
 
 
129
// Call Zend_UriTest::main() if this source file is executed directly.
 
130
if (PHPUnit_MAIN_METHOD == "Zend_UriTest::main") {
 
131
    Zend_UriTest::main();
 
132
}