Browse Source

Fix failing tests.

You can't use finfo on files that don't exist.
mark_story 14 years ago
parent
commit
2d68e7da1e
2 changed files with 9 additions and 2 deletions
  1. 6 2
      lib/Cake/Test/Case/Utility/FileTest.php
  2. 3 0
      lib/Cake/Utility/File.php

+ 6 - 2
lib/Cake/Test/Case/Utility/FileTest.php

@@ -73,8 +73,12 @@ class FileTest extends CakeTestCase {
 
 		$result = $this->File->info();
 		$expecting = array(
-			'dirname' => dirname(__FILE__), 'basename' => basename(__FILE__),
-			'extension' => 'php', 'filename' =>'FileTest', 'filesize' => filesize($file)
+			'dirname' => dirname(__FILE__),
+			'basename' => basename(__FILE__),
+			'extension' => 'php',
+			'filename' =>'FileTest',
+			'filesize' => filesize($file),
+			'mime' => 'text/x-php'
 		);
 		$this->assertEquals($expecting, $result);
 

+ 3 - 0
lib/Cake/Utility/File.php

@@ -554,6 +554,9 @@ class File {
  * @return false|string The mimetype of the file, or false if reading fails.
  */
 	public function mime() {
+		if (!$this->exists()) {
+			return false;
+		}
 		if (function_exists('finfo_open')) {
 			$finfo = finfo_open(FILEINFO_MIME);
 			list($type, $charset) = explode(';', finfo_file($finfo, $this->pwd()));