~clinton-collins/familyproject/trunk

« back to all changes in this revision

Viewing changes to ZendFramework/tests/Zend/Validate/File/ExtensionTest.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_Validate_File
 
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: ExtensionTest.php 12541 2008-11-11 05:44:35Z matthew $
 
21
 */
 
22
 
 
23
// Call Zend_Validate_File_ExtensionTest::main() if this source file is executed directly.
 
24
if (!defined("PHPUnit_MAIN_METHOD")) {
 
25
    define("PHPUnit_MAIN_METHOD", "Zend_Validate_File_ExtensionTest::main");
 
26
}
 
27
 
 
28
/**
 
29
 * Test helper
 
30
 */
 
31
require_once dirname(__FILE__) . '/../../../TestHelper.php';
 
32
 
 
33
/**
 
34
 * @see Zend_Validate_File_Extension
 
35
 */
 
36
require_once 'Zend/Validate/File/Extension.php';
 
37
 
 
38
/**
 
39
 * Extension testbed
 
40
 *
 
41
 * @category   Zend
 
42
 * @package    Zend_Validate_File
 
43
 * @subpackage UnitTests
 
44
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 
45
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 
46
 */
 
47
class Zend_Validate_File_ExtensionTest extends PHPUnit_Framework_TestCase
 
48
{
 
49
    /**
 
50
     * Runs the test methods of this class.
 
51
     *
 
52
     * @return void
 
53
     */
 
54
    public static function main()
 
55
    {
 
56
        $suite  = new PHPUnit_Framework_TestSuite("Zend_Validate_File_ExtensionTest");
 
57
        $result = PHPUnit_TextUI_TestRunner::run($suite);
 
58
    }
 
59
 
 
60
    /**
 
61
     * Ensures that the validator follows expected behavior
 
62
     *
 
63
     * @return void
 
64
     */
 
65
    public function testBasic()
 
66
    {
 
67
        $valuesExpected = array(
 
68
            array('mo', true),
 
69
            array('gif', false),
 
70
            array(array('mo'), true),
 
71
            array(array('gif'), false),
 
72
            array(array('gif', 'pdf', 'mo', 'pict'), true),
 
73
            array(array('gif', 'gz', 'hint'), false),
 
74
        );
 
75
 
 
76
        foreach ($valuesExpected as $element) {
 
77
            $validator = new Zend_Validate_File_Extension($element[0]);
 
78
            $this->assertEquals(
 
79
                $element[1],
 
80
                $validator->isValid(dirname(__FILE__) . '/_files/testsize.mo'),
 
81
                "Tested with " . var_export($element, 1)
 
82
            );
 
83
        }
 
84
 
 
85
        $validator = new Zend_Validate_File_Extension('mo');
 
86
        $this->assertEquals(false, $validator->isValid(dirname(__FILE__) . '/_files/nofile.mo'));
 
87
        $this->assertTrue(array_key_exists('fileExtensionNotFound', $validator->getMessages()));
 
88
 
 
89
        $files = array(
 
90
            'name'     => 'test1',
 
91
            'type'     => 'text',
 
92
            'size'     => 200,
 
93
            'tmp_name' => 'tmp_test1',
 
94
            'error'    => 0
 
95
        );
 
96
        $validator = new Zend_Validate_File_Extension('mo');
 
97
        $this->assertEquals(false, $validator->isValid(dirname(__FILE__) . '/_files/nofile.mo', $files));
 
98
        $this->assertTrue(array_key_exists('fileExtensionNotFound', $validator->getMessages()));
 
99
 
 
100
        $files = array(
 
101
            'name'     => 'testsize.mo',
 
102
            'type'     => 'text',
 
103
            'size'     => 200,
 
104
            'tmp_name' => dirname(__FILE__) . '/_files/testsize.mo',
 
105
            'error'    => 0
 
106
        );
 
107
        $validator = new Zend_Validate_File_Extension('mo');
 
108
        $this->assertEquals(true, $validator->isValid(dirname(__FILE__) . '/_files/testsize.mo', $files));
 
109
 
 
110
        $files = array(
 
111
            'name'     => 'testsize.mo',
 
112
            'type'     => 'text',
 
113
            'size'     => 200,
 
114
            'tmp_name' => dirname(__FILE__) . '/_files/testsize.mo',
 
115
            'error'    => 0
 
116
        );
 
117
        $validator = new Zend_Validate_File_Extension('gif');
 
118
        $this->assertEquals(false, $validator->isValid(dirname(__FILE__) . '/_files/testsize.mo', $files));
 
119
        $this->assertTrue(array_key_exists('fileExtensionFalse', $validator->getMessages()));
 
120
    }
 
121
 
 
122
    public function testZF3891()
 
123
    {
 
124
        $files = array(
 
125
            'name'     => 'testsize.mo',
 
126
            'type'     => 'text',
 
127
            'size'     => 200,
 
128
            'tmp_name' => dirname(__FILE__) . '/_files/testsize.mo',
 
129
            'error'    => 0
 
130
        );
 
131
        $validator = new Zend_Validate_File_Extension(array('MO', 'case' => true));
 
132
        $this->assertEquals(false, $validator->isValid(dirname(__FILE__) . '/_files/testsize.mo', $files));
 
133
 
 
134
        $validator = new Zend_Validate_File_Extension(array('MO', 'case' => false));
 
135
        $this->assertEquals(true, $validator->isValid(dirname(__FILE__) . '/_files/testsize.mo', $files));
 
136
    }
 
137
 
 
138
    /**
 
139
     * Ensures that getExtension() returns expected value
 
140
     *
 
141
     * @return void
 
142
     */
 
143
    public function testGetExtension()
 
144
    {
 
145
        $validator = new Zend_Validate_File_Extension('mo');
 
146
        $this->assertEquals(array('mo'), $validator->getExtension());
 
147
 
 
148
        $validator = new Zend_Validate_File_Extension(array('mo', 'gif', 'jpg'));
 
149
        $this->assertEquals(array('mo', 'gif', 'jpg'), $validator->getExtension());
 
150
    }
 
151
 
 
152
    /**
 
153
     * Ensures that setExtension() returns expected value
 
154
     *
 
155
     * @return void
 
156
     */
 
157
    public function testSetExtension()
 
158
    {
 
159
        $validator = new Zend_Validate_File_Extension('mo');
 
160
        $validator->setExtension('gif');
 
161
        $this->assertEquals(array('gif'), $validator->getExtension());
 
162
 
 
163
        $validator->setExtension('jpg, mo');
 
164
        $this->assertEquals(array('jpg', 'mo'), $validator->getExtension());
 
165
 
 
166
        $validator->setExtension(array('zip', 'ti'));
 
167
        $this->assertEquals(array('zip', 'ti'), $validator->getExtension());
 
168
    }
 
169
 
 
170
    /**
 
171
     * Ensures that addExtension() returns expected value
 
172
     *
 
173
     * @return void
 
174
     */
 
175
    public function testAddExtension()
 
176
    {
 
177
        $validator = new Zend_Validate_File_Extension('mo');
 
178
        $validator->addExtension('gif');
 
179
        $this->assertEquals(array('mo', 'gif'), $validator->getExtension());
 
180
 
 
181
        $validator->addExtension('jpg, to');
 
182
        $this->assertEquals(array('mo', 'gif', 'jpg', 'to'), $validator->getExtension());
 
183
 
 
184
        $validator->addExtension(array('zip', 'ti'));
 
185
        $this->assertEquals(array('mo', 'gif', 'jpg', 'to', 'zip', 'ti'), $validator->getExtension());
 
186
 
 
187
        $validator->addExtension('');
 
188
        $this->assertEquals(array('mo', 'gif', 'jpg', 'to', 'zip', 'ti'), $validator->getExtension());
 
189
    }
 
190
}
 
191
 
 
192
// Call Zend_Validate_File_ExtensionTest::main() if this source file is executed directly.
 
193
if (PHPUnit_MAIN_METHOD == "Zend_Validate_File_ExtensionTest::main") {
 
194
    Zend_Validate_File_ExtensionTest::main();
 
195
}