This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
lnkohana/system/tests/kohana/FileTest.php
2013-04-22 14:09:50 +10:00

82 lines
1.9 KiB
PHP

<?php defined('SYSPATH') OR die('Kohana bootstrap needs to be included before tests run');
/**
* Tests Kohana File helper
*
* @group kohana
* @group kohana.core
* @group kohana.core.url
*
* @package Kohana
* @category Tests
* @author Kohana Team
* @author Jeremy Bush <contractfrombelow@gmail.com>
* @copyright (c) 2008-2012 Kohana Team
* @license http://kohanaframework.org/license
*/
class Kohana_FileTest extends Unittest_TestCase
{
/**
* Provides test data for test_sanitize()
*
* @return array
*/
public function provider_mime()
{
return array(
// $value, $result
array(Kohana::find_file('classes', 'File')),
array(Kohana::find_file('tests', 'test_data/github', 'png')),
);
}
/**
* Tests File::mime()
*
* @test
* @dataProvider provider_mime
* @param boolean $input Input for File::mime
* @param boolean $expected Output for File::mime
*/
public function test_mime($input)
{
$this->markTestSkipped(
'This test doesn\'t do anything useful!'
);
$this->assertSame(1, preg_match('/^(?:application|audio|image|message|multipart|text|video)\/[a-z.+0-9-]+$/i', File::mime($input)));
}
/**
* Provides test data for test_split_join()
*
* @return array
*/
public function provider_split_join()
{
return array(
// $value, $result
array(Kohana::find_file('tests', 'test_data/github', 'png'), .01, 1),
);
}
/**
* Tests File::mime()
*
* @test
* @dataProvider provider_split_join
* @param boolean $input Input for File::split
* @param boolean $peices Input for File::split
* @param boolean $expected Output for File::splut
*/
public function test_split_join($input, $peices, $expected)
{
$this->assertSame($expected, File::split($input, $peices));
$this->assertSame($expected, File::join($input));
foreach (glob(Kohana::find_file('tests', 'test_data/github', 'png').'.*') as $file)
{
unlink($file);
}
}
}