public function testAssetTypeHandling()
{
$result = Media::assets();
$expected = array('js', 'css', 'image', 'generic');
$this->assertEqual($expected, array_keys($result));
$result = Media::assets('css');
$expected = '.css';
$this->assertEqual($expected, $result['suffix']);
$this->assertTrue(isset($result['paths']['{:base}/{:library}/css/{:path}']));
$result = Media::assets('my');
$this->assertNull($result);
$result = Media::assets('my', array('suffix' => '.my', 'paths' => array('{:base}/my/{:path}' => array('base', 'path'))));
$this->assertNull($result);
$result = Media::assets('my');
$expected = '.my';
$this->assertEqual($expected, $result['suffix']);
$this->assertTrue(isset($result['paths']['{:base}/my/{:path}']));
$this->assertNull($result['filter']);
Media::assets('my', array('filter' => array('/my/' => '/your/')));
$result = Media::assets('my');
$expected = array('/my/' => '/your/');
$this->assertEqual($expected, $result['filter']);
$expected = '.my';
$this->assertEqual($expected, $result['suffix']);
Media::assets('my', false);
$result = Media::assets('my');
$this->assertNull($result);
$this->assertEqual('/foo.exe', Media::asset('foo.exe', 'bar'));
}