diff options
Diffstat (limited to '_testing/core/TestUtils.php')
-rw-r--r-- | _testing/core/TestUtils.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/_testing/core/TestUtils.php b/_testing/core/TestUtils.php new file mode 100644 index 000000000..4fd56e85d --- /dev/null +++ b/_testing/core/TestUtils.php @@ -0,0 +1,52 @@ +<?php + +class TestUtils { + + /** + * helper for recursive copy() + */ + static function rcopy($destdir, $source) { + if (!is_dir($source)) { + copy($source, $destdir.'/'.basename($source)); + } else { + $newdestdir = $destdir.'/'.basename($source); + mkdir($newdestdir); + + $dh = dir($source); + while (false !== ($entry = $dh->read())) { + if ($entry == '.' || $entry == '..') { + continue; + } + TestUtils::rcopy($newdestdir, $source.'/'.$entry); + } + $dh->close(); + } + } + + /** + * helper for recursive rmdir()/unlink() + */ + static function rdelete($target) { + if (!is_dir($target)) { + unlink($target); + } else { + $dh = dir($target); + while (false !== ($entry = $dh->read())) { + if ($entry == '.' || $entry == '..') { + continue; + } + TestUtils::rdelete("$target/$entry"); + } + $dh->close(); + rmdir($target); + } + } + + // helper to append text to a file + static function fappend($file, $text) { + $fh = fopen($file, 'a'); + fwrite($fh, $text); + fclose($fh); + } + +} |