| | 153 | /** |
| | 154 | * @dataProvider file_path_provider |
| | 155 | */ |
| | 156 | function test_validate_file($result, $allowed_files, $expected) |
| | 157 | { |
| | 158 | $this->assertEquals(validate_file('../foo/foo.txt'), 1); |
| | 159 | $this->assertEquals($expected, validate_file($result, $allowed_files)); |
| | 160 | } |
| | 161 | |
| | 162 | function file_path_provider() { |
| | 163 | return array( |
| | 164 | array('../foo/foo.txt', array(), 1), |
| | 165 | array('../foo.txt', array(), 1), |
| | 166 | array('../foo.bar', array(), 1), |
| | 167 | array('foo/bar/foo.txt', array(), 0), |
| | 168 | array('FOO/foo.txt', array(), 0), |
| | 169 | array('C:/WINDOWS/system32', array(), 2), |
| | 170 | array('./FOO/foo.txt', array(), 1), |
| | 171 | array('/FOO/notallowed.txt', array('/FOO/allowed.txt'), 3) |
| | 172 | ); |
| | 173 | } |
| | 174 | |