mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-02-07 12:36:25 +00:00
updated folder class and test
git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@5092 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
parent
96e80a3e29
commit
cec34ae6df
2 changed files with 388 additions and 79 deletions
|
@ -52,6 +52,26 @@ class Folder extends Object{
|
||||||
* @var boolean
|
* @var boolean
|
||||||
*/
|
*/
|
||||||
var $sort = false;
|
var $sort = false;
|
||||||
|
/**
|
||||||
|
* mode to be used on create.
|
||||||
|
*
|
||||||
|
* @var boolean
|
||||||
|
*/
|
||||||
|
var $mode = '755';
|
||||||
|
/**
|
||||||
|
* holds messages from last method.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @access private
|
||||||
|
*/
|
||||||
|
var $__messages = array();
|
||||||
|
/**
|
||||||
|
* holds errors from last method.
|
||||||
|
*
|
||||||
|
* @var array
|
||||||
|
* @access private
|
||||||
|
*/
|
||||||
|
var $__errors = false;
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
|
@ -64,8 +84,12 @@ class Folder extends Object{
|
||||||
$path = getcwd();
|
$path = getcwd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if($mode) {
|
||||||
|
$this->mode = strval($mode);
|
||||||
|
}
|
||||||
|
|
||||||
if (!file_exists($path) && $create == true) {
|
if (!file_exists($path) && $create == true) {
|
||||||
$this->mkdirr($path, $mode);
|
$this->create($path, $this->mode);
|
||||||
}
|
}
|
||||||
$this->cd($path);
|
$this->cd($path);
|
||||||
}
|
}
|
||||||
|
@ -83,30 +107,43 @@ class Folder extends Object{
|
||||||
* @param string $desired_path Path to the directory to change to
|
* @param string $desired_path Path to the directory to change to
|
||||||
* @return string The new path. Returns false on failure
|
* @return string The new path. Returns false on failure
|
||||||
*/
|
*/
|
||||||
function cd($desiredPath) {
|
function cd($path) {
|
||||||
$desiredPath = realpath($desiredPath);
|
$path = realpath($path);
|
||||||
$newPath = $this->isAbsolute($desiredPath) ? $desiredPath : $this->addPathElement($this->path, $desiredPath);
|
if(!$this->isAbsolute($path)) {
|
||||||
$isDir = (is_dir($newPath) && file_exists($newPath)) ? $this->path = $newPath : false;
|
$path = $this->addPathElement($this->path, $path);
|
||||||
return $isDir;
|
}
|
||||||
|
if(is_dir($path) && file_exists($path)) {
|
||||||
|
return $this->path = $path;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Returns an array of the contents of the current directory, or false on failure.
|
* Returns an array of the contents of the current directory, or false on failure.
|
||||||
* The returned array holds two arrays: one of dirs and one of files.
|
* The returned array holds two arrays: one of dirs and one of files.
|
||||||
*
|
*
|
||||||
* @param boolean $sort
|
* @param boolean $sort
|
||||||
* @param boolean $noDotFiles
|
* @param mixed $exceptions either an array or boolean true will no grab dot files
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
function ls($sort = true, $noDotFiles = false) {
|
function read($sort = true, $exceptions = false) {
|
||||||
$dirs = $files = array();
|
$dirs = $files = array();
|
||||||
$dir = opendir($this->path);
|
$dir = opendir($this->path);
|
||||||
if ($dir) {
|
if ($dir) {
|
||||||
while(false !== ($n = readdir($dir))) {
|
while(false !== ($n = readdir($dir))) {
|
||||||
if ((!preg_match('#^\.+$#', $n) && $noDotFiles == false) || ($noDotFiles == true && !preg_match('#^\.(.*)$#', $n))) {
|
$item = false;
|
||||||
if (is_dir($this->addPathElement($this->path, $n))) {
|
if(is_array($exceptions)) {
|
||||||
$dirs[] = $n;
|
if (!in_array($n, $exceptions)) {
|
||||||
|
$item = $n;
|
||||||
|
}
|
||||||
|
} else if ((!preg_match('#^\.+$#', $n) && $exceptions == false) || ($exceptions == true && !preg_match('#^\.(.*)$#', $n))) {
|
||||||
|
$item = $n;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($item) {
|
||||||
|
if(is_dir($this->addPathElement($this->path, $item))) {
|
||||||
|
$dirs[] = $item;
|
||||||
} else {
|
} else {
|
||||||
$files[] = $n;
|
$files[] = $item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -185,8 +222,10 @@ class Folder extends Object{
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
function isWindowsPath($path) {
|
function isWindowsPath($path) {
|
||||||
$match = preg_match('#^[A-Z]:\\\#i', $path) ? true : false;
|
if(preg_match('#^[A-Z]:\\\#i', $path)) {
|
||||||
return $match;
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Returns true if given $path is an absolute path.
|
* Returns true if given $path is an absolute path.
|
||||||
|
@ -207,8 +246,23 @@ class Folder extends Object{
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
function isSlashTerm($path) {
|
function isSlashTerm($path) {
|
||||||
$match = preg_match('#[\\\/]$#', $path) ? true : false;
|
if(preg_match('#[\\\/]$#', $path)) {
|
||||||
return $match;
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Returns a correct set of slashes for given $path. (\\ for Windows paths and / for other paths.)
|
||||||
|
*
|
||||||
|
* @param string $path Path to check
|
||||||
|
* @return string Set of slashes ("\\" or "/")
|
||||||
|
* @static
|
||||||
|
*/
|
||||||
|
function normalizePath($path) {
|
||||||
|
if($this->isWindowsPath($path)) {
|
||||||
|
return '\\';
|
||||||
|
}
|
||||||
|
return '/';
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Returns a correct set of slashes for given $path. (\\ for Windows paths and / for other paths.)
|
* Returns a correct set of slashes for given $path. (\\ for Windows paths and / for other paths.)
|
||||||
|
@ -218,7 +272,10 @@ class Folder extends Object{
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
function correctSlashFor($path) {
|
function correctSlashFor($path) {
|
||||||
return $this->isWindowsPath($path) ? '\\' : '/';
|
if($this->isWindowsPath($path)) {
|
||||||
|
return '\\';
|
||||||
|
}
|
||||||
|
return '/';
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Returns $path with added terminating slash (corrected for Windows or other OS).
|
* Returns $path with added terminating slash (corrected for Windows or other OS).
|
||||||
|
@ -228,7 +285,10 @@ class Folder extends Object{
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
function slashTerm($path) {
|
function slashTerm($path) {
|
||||||
return $path . ($this->isSlashTerm($path) ? null : $this->correctSlashFor($path));
|
if($this->isSlashTerm($path)) {
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
return $path . $this->correctSlashFor($path);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Returns $path with $element added, with correct slash in-between.
|
* Returns $path with $element added, with correct slash in-between.
|
||||||
|
@ -271,26 +331,57 @@ function slashTerm($path) {
|
||||||
* @param string $pathname The directory structure to create
|
* @param string $pathname The directory structure to create
|
||||||
* @return bool Returns TRUE on success, FALSE on failure
|
* @return bool Returns TRUE on success, FALSE on failure
|
||||||
*/
|
*/
|
||||||
function chmodr($pathname, $mode = 0755) {
|
function chmod($path, $mode = false, $exceptions = false) {
|
||||||
if (empty($pathname)) {
|
if (!is_dir($path)) {
|
||||||
|
return chmod($path, intval($mode, 8));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$mode) {
|
||||||
|
$mode = $this->mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
$dir = opendir($path);
|
||||||
|
if($dir) {
|
||||||
|
while(false !== ($n = readdir($dir))) {
|
||||||
|
$item = false;
|
||||||
|
if(is_array($exceptions)) {
|
||||||
|
if (!in_array($n, $exceptions)) {
|
||||||
|
$item = $n;
|
||||||
|
}
|
||||||
|
} else if ((!preg_match('#^\.+$#', $n) && $exceptions == false) || ($exceptions == true && !preg_match('#^\.(.*)$#', $n))) {
|
||||||
|
$item = $n;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($item) {
|
||||||
|
$fullpath = $this->addPathElement($path, $item);
|
||||||
|
if (!is_dir($fullpath)) {
|
||||||
|
if (chmod($fullpath, intval($mode, 8))) {
|
||||||
|
$this->__messages[] = __(sprintf('%s changed to %s', $fullpath, $mode), true);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
$this->__errors[] = __(sprintf('%s NOT changed to %s', $fullpath, $mode), true);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
if (is_file($pathname)) {
|
if ($this->chmod($fullpath, $mode)) {
|
||||||
trigger_error(__('chmodr() File exists', true), E_USER_WARNING);
|
$this->__messages[] = __(sprintf('%s changed to %s', $fullpath, $mode), true);
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
$this->__errors[] = __(sprintf('%s NOT changed to %s', $fullpath, $mode), true);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$nextPathname = substr($pathname, 0, strrpos($pathname, DS));
|
|
||||||
|
|
||||||
if ($this->chmodr($nextPathname, $mode)) {
|
|
||||||
if(file_exists($pathname)) {
|
|
||||||
umask (0);
|
|
||||||
$chmod = @chmod($pathname, $mode);
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
closedir($dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (chmod($path, intval($mode, 8))) {
|
||||||
|
$this->__messages[] = __(sprintf('%s changed to %s', $path, $mode), true);
|
||||||
return true;
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Create a directory structure recursively.
|
* Create a directory structure recursively.
|
||||||
|
@ -298,22 +389,30 @@ function slashTerm($path) {
|
||||||
* @param string $pathname The directory structure to create
|
* @param string $pathname The directory structure to create
|
||||||
* @return bool Returns TRUE on success, FALSE on failure
|
* @return bool Returns TRUE on success, FALSE on failure
|
||||||
*/
|
*/
|
||||||
function mkdirr($pathname, $mode = 0755) {
|
function create($pathname, $mode = false) {
|
||||||
if (is_dir($pathname) || empty($pathname)) {
|
if (is_dir($pathname) || empty($pathname)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!$mode) {
|
||||||
|
$mode = $this->mode;
|
||||||
|
}
|
||||||
|
|
||||||
if (is_file($pathname)) {
|
if (is_file($pathname)) {
|
||||||
trigger_error(__('mkdirr() File exists', true), E_USER_WARNING);
|
$this->__errors[] = __(sprintf('%s is a file', $pathname), true);
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
$nextPathname = substr($pathname, 0, strrpos($pathname, DS));
|
$nextPathname = substr($pathname, 0, strrpos($pathname, DS));
|
||||||
|
|
||||||
if ($this->mkdirr($nextPathname, $mode)) {
|
if ($this->create($nextPathname, $mode)) {
|
||||||
if (!file_exists($pathname)) {
|
if (!file_exists($pathname)) {
|
||||||
umask (0);
|
if (mkdir($pathname, intval($mode, 8))) {
|
||||||
$mkdir = mkdir($pathname, $mode);
|
$this->__messages[] = __(sprintf('%s created', $pathname), true);
|
||||||
return $mkdir;
|
return true;
|
||||||
|
} else {
|
||||||
|
$this->__errors[] = __(sprintf('%s NOT created', $pathname), true);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
@ -333,7 +432,7 @@ function slashTerm($path) {
|
||||||
$size += filesize($stack[$i]);
|
$size += filesize($stack[$i]);
|
||||||
} elseif (is_dir($stack[$i])) {
|
} elseif (is_dir($stack[$i])) {
|
||||||
$dir = dir($stack[$i]);
|
$dir = dir($stack[$i]);
|
||||||
|
if($dir) {
|
||||||
while(false !== ($entry = $dir->read())) {
|
while(false !== ($entry = $dir->read())) {
|
||||||
if ($entry == '.' || $entry == '..') {
|
if ($entry == '.' || $entry == '..') {
|
||||||
continue;
|
continue;
|
||||||
|
@ -347,6 +446,7 @@ function slashTerm($path) {
|
||||||
}
|
}
|
||||||
$dir->close();
|
$dir->close();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
$j = count($stack);
|
$j = count($stack);
|
||||||
}
|
}
|
||||||
return $size;
|
return $size;
|
||||||
|
@ -357,26 +457,198 @@ function slashTerm($path) {
|
||||||
* @param string $path
|
* @param string $path
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
function rmdir($path) {
|
function delete($path) {
|
||||||
if (substr($path, -1, 1) != "/") {
|
$path = $this->slashTerm($path);
|
||||||
$path .= "/";
|
|
||||||
}
|
|
||||||
foreach (glob($path . "*") as $file) {
|
|
||||||
if (is_file($file) === true) {
|
|
||||||
@unlink($file);
|
|
||||||
}
|
|
||||||
elseif (is_dir($file) === true) {
|
|
||||||
if($this->rmdir($file) === false) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (is_dir($path) === true) {
|
if (is_dir($path) === true) {
|
||||||
if(rmdir($path) === false) {
|
$files = glob($path . "*", GLOB_NOSORT);
|
||||||
|
$normal_files = glob($path . "*");
|
||||||
|
$hidden_files = glob($path . "\.?*");
|
||||||
|
$files = array_merge($normal_files, $hidden_files);
|
||||||
|
if(is_array($files)) {
|
||||||
|
foreach ($files as $file) {
|
||||||
|
if (preg_match("/(\.|\.\.)$/", $file)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (is_file($file) === true) {
|
||||||
|
if(unlink($file)) {
|
||||||
|
$this->__messages[] = __(sprintf('%s removed', $path), true);
|
||||||
|
} else {
|
||||||
|
$this->__errors[] = __(sprintf('%s NOT removed', $path), true);
|
||||||
|
}
|
||||||
|
} elseif (is_dir($file) === true) {
|
||||||
|
if($this->delete($file) === false) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$path = substr($path, 0, strlen($path) - 1);
|
||||||
|
if(rmdir($path) === false) {
|
||||||
|
$this->__errors[] = __(sprintf('%s NOT removed', $path), true);
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
$this->__messages[] = __(sprintf('%s removed', $path), true);
|
||||||
|
}
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Recursive directory copy.
|
||||||
|
*
|
||||||
|
* @param array $options (to, from, chmod, skip)
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
function copy($options = array()) {
|
||||||
|
$to = null;
|
||||||
|
if(is_string($options)) {
|
||||||
|
$to = $options;
|
||||||
|
$options = array();
|
||||||
|
}
|
||||||
|
$options = am(array('to'=> $to, 'from'=> $this->path, 'mode'=> $this->mode, 'skip'=> array()), $options);
|
||||||
|
|
||||||
|
$fromDir = $options['from'];
|
||||||
|
$toDir = $options['to'];
|
||||||
|
$mode = $options['mode'];
|
||||||
|
|
||||||
|
if (!$this->cd($fromDir)) {
|
||||||
|
$this->__errors[] = __(sprintf('%s not found', $fromDir), true);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!is_dir($toDir)) {
|
||||||
|
$this->mkdir($toDir, $mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!is_writable($toDir)) {
|
||||||
|
$this->__errors[] = __(sprintf('%s not writable', $toDir), true);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$exceptions = am(array('.','..','.svn'), $options['skip']);
|
||||||
|
$handle = opendir($fromDir);
|
||||||
|
if($handle) {
|
||||||
|
while (false !== ($item = readdir($handle))) {
|
||||||
|
if (!in_array($item, $exceptions)) {
|
||||||
|
$from = $this->addPathElement($fromDir, $item);
|
||||||
|
$to = $this->addPathElement($toDir, $item);
|
||||||
|
if (is_file($from)) {
|
||||||
|
if (copy($from, $to)) {
|
||||||
|
chmod($to, intval($mode, 8));
|
||||||
|
touch($to, filemtime($from));
|
||||||
|
$this->__messages[] = __(sprintf('%s copied to %s', $from, $to), true);
|
||||||
|
} else {
|
||||||
|
$this->__errors[] = __(sprintf('%s NOT copied to %s', $from, $to), true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_dir($from) && !file_exists($to)) {
|
||||||
|
if (mkdir($to, intval($mode, 8))) {
|
||||||
|
chmod($to, intval($mode, 8));
|
||||||
|
$this->__messages[] = __(sprintf('%s created', $to), true);
|
||||||
|
$options = am($options, array('to'=> $to, 'from'=> $from));
|
||||||
|
$this->copy($options);
|
||||||
|
} else {
|
||||||
|
$this->__errors[] = __(sprintf('%s not created', $to), true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
closedir($handle);
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($this->__errors)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Recursive directory move.
|
||||||
|
*
|
||||||
|
* @param array $options (to, from, chmod, skip)
|
||||||
|
* @return boolean.
|
||||||
|
*/
|
||||||
|
function move($options) {
|
||||||
|
$to = null;
|
||||||
|
if(is_string($options)) {
|
||||||
|
$to = $options;
|
||||||
|
}
|
||||||
|
$options = am(array('to'=> $to, 'from'=> $this->path, 'mode'=> $this->mode, 'skip'=> array()), $options);
|
||||||
|
|
||||||
|
if($this->copy($options)) {
|
||||||
|
if($this->delete($options['from'])) {
|
||||||
|
return $this->cd($options['to']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* get messages from latest method
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function messages() {
|
||||||
|
return $this->__messages;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* get error from latest method
|
||||||
|
*
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
function errors() {
|
||||||
|
return $this->__errors;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* nix flavored alias
|
||||||
|
* @see read
|
||||||
|
*/
|
||||||
|
function ls($sort = true, $exceptions = false) {
|
||||||
|
$this->read($sort, $exceptions);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* nix flavored alias
|
||||||
|
* @see create
|
||||||
|
*/
|
||||||
|
function mkdir($pathname, $mode = 0755) {
|
||||||
|
$this->create($pathname, $mode);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* nix flavored alias
|
||||||
|
* @see copy
|
||||||
|
*/
|
||||||
|
function cp($options) {
|
||||||
|
$this->copy($options);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* nix flavored alias
|
||||||
|
* @see move
|
||||||
|
*/
|
||||||
|
function mv($options) {
|
||||||
|
$this->move($options);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* nix flavored alias
|
||||||
|
* @see delete
|
||||||
|
*/
|
||||||
|
function rm($path) {
|
||||||
|
$this->delete($path);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @deprecated
|
||||||
|
* @see chmod
|
||||||
|
*/
|
||||||
|
function chmodr($pathname, $mode = 0755) {
|
||||||
|
$this->chmod($pathname, $mode);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @deprecated
|
||||||
|
* @see mkdir or create
|
||||||
|
*/
|
||||||
|
function mkdirr($pathname, $mode = 0755) {
|
||||||
|
$this->create($pathname, $mode);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
|
@ -76,11 +76,48 @@ class FolderTest extends UnitTestCase {
|
||||||
$result = $this->Folder->isSlashTerm($inside);
|
$result = $this->Folder->isSlashTerm($inside);
|
||||||
$this->assertTrue($result);
|
$this->assertTrue($result);
|
||||||
|
|
||||||
$result = $this->Folder->inPath($inside);
|
//$result = $this->Folder->inPath('tests/');
|
||||||
$this->assertTrue($result);
|
//$this->assertTrue($result);
|
||||||
|
|
||||||
$result = $this->Folder->inPath(DS . 'non-existing' . DS . $inside);
|
$result = $this->Folder->inPath(DS . 'non-existing' . DS . $inside);
|
||||||
$this->assertFalse($result);
|
$this->assertFalse($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testOperations() {
|
||||||
|
$path = CAKE_CORE_INCLUDE_PATH.DS.'cake'.DS.'console'.DS.'libs'.DS.'templates'.DS.'skel';
|
||||||
|
$this->Folder =& new Folder($path);
|
||||||
|
|
||||||
|
$result = is_dir($this->Folder->pwd());
|
||||||
|
$this->assertTrue($result);
|
||||||
|
|
||||||
|
$new = TMP . 'test_folder_new';
|
||||||
|
$result = $this->Folder->create($new);
|
||||||
|
$this->assertTrue($result);
|
||||||
|
|
||||||
|
$copy = TMP . 'test_folder_copy';
|
||||||
|
$result = $this->Folder->copy($copy);
|
||||||
|
$this->assertTrue($result);
|
||||||
|
|
||||||
|
$copy = TMP . 'test_folder_copy';
|
||||||
|
$result = $this->Folder->chmod($copy, 0755);
|
||||||
|
$this->assertTrue($result);
|
||||||
|
|
||||||
|
$result = $this->Folder->cd($copy);
|
||||||
|
$this->assertTrue($result);
|
||||||
|
|
||||||
|
$mv = TMP . 'test_folder_mv';
|
||||||
|
$result = $this->Folder->move($mv);
|
||||||
|
$this->assertTrue($result);
|
||||||
|
|
||||||
|
$result = $this->Folder->delete($new);
|
||||||
|
$this->assertTrue($result);
|
||||||
|
|
||||||
|
$result = $this->Folder->delete($mv);
|
||||||
|
$this->assertTrue($result);
|
||||||
|
|
||||||
|
//pr($this->Folder->messages());
|
||||||
|
|
||||||
|
//pr($this->Folder->errors());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
Loading…
Add table
Reference in a new issue