Anton Grebnev
13 years ago
1 changed files with 87 additions and 0 deletions
@ -0,0 +1,87 @@ |
|||
<?php |
|||
|
|||
/* |
|||
* @copyright NetMonsters <team@netmonsters.ru> |
|||
* @link http://netmonsters.ru |
|||
* @package Majestic |
|||
* @subpackage UnitTests |
|||
* @since 2011-10-.. |
|||
* |
|||
* Unit tests for AutoloadBuilder class |
|||
*/ |
|||
|
|||
require_once dirname(__FILE__) . '/../../util/AutoloadBuilder.php'; |
|||
|
|||
/** |
|||
* @TODO: AutoloadBuilder - fix writing to file: construct array first, write to file next - atomic operation |
|||
*/ |
|||
class AutoloadBuilderTest extends PHPUnit_Framework_TestCase |
|||
{ |
|||
|
|||
private static $inc_dirs = array(); |
|||
private static $file; |
|||
|
|||
/** |
|||
* @TODO: Load->buildAutoload() - uses two paths - PATH . '/' . APP . '/src' and PATH . '/lib' those are not checked. Can couse error. |
|||
* @expectedException UnexpectedValueException |
|||
* @expectedException PHPUnit_Framework_Error |
|||
*/ |
|||
public static function setUpBeforeClass() |
|||
{ |
|||
if (!defined('PATH')) { |
|||
define('PATH', realpath(dirname(__FILE__) . '/../../../..')); |
|||
} |
|||
|
|||
// default application name
|
|||
if (!defined('APP')) { |
|||
define('APP', 'lib/core/tests/face'); |
|||
} |
|||
|
|||
self::$file = PATH . '/' . APP . '/cache/autoload.php'; |
|||
|
|||
// value - if dir exists (to delete it if it was created), default true
|
|||
self::$inc_dirs[PATH . '/' . APP . '/src'] = true; |
|||
self::$inc_dirs[PATH . '/' . APP . '/cache'] = true; |
|||
self::$inc_dirs[PATH . '/lib'] = true; |
|||
|
|||
foreach (self::$inc_dirs as $dir => &$is_exist) { |
|||
if (!file_exists($dir)) { |
|||
$is_exist = false; |
|||
mkdir($dir, 0777, true); |
|||
} |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* @TODO: AutoloadBuilder - check input params: string for filename, array for dirs |
|||
* @expectedException PHPUnit_Framework_Error |
|||
*/ |
|||
public function testBuildParams() |
|||
{ |
|||
$autoload = self::$file; |
|||
$dirs = 'string'; |
|||
$builder = new AutoloadBuilder($autoload, $dirs); |
|||
|
|||
$builder->build(); |
|||
} |
|||
|
|||
public function testAutoloadFileExists() |
|||
{ |
|||
$this->assertFileExists(self::$file); |
|||
} |
|||
|
|||
public static function tearDownAfterClass() |
|||
{ |
|||
if (file_exists(self::$file)) { |
|||
unlink(self::$file); |
|||
} |
|||
|
|||
foreach (self::$inc_dirs as $dir => $is_exist) { |
|||
if (!$is_exist) { |
|||
rmdir($dir); |
|||
} |
|||
} |
|||
rmdir(PATH . '/' . APP); |
|||
} |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue