1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
--TEST--
System::find() tests
--SKIPIF--
<?php
if (!getenv('PHP_PEAR_RUNTESTS')) {
echo 'skip ';
}
?>
--FILE--
<?php
require_once 'System.php';
/*******************
find
********************/
echo "Testing: find\n";
// create a temp file and then try to find it in its directory by its filename
$tmpfile = System::mktemp('pear-find-test');
$dir = dirname($tmpfile);
$filename = basename($tmpfile);
$files = System::find(
array($dir, '-type', 'f', '-name', $filename, '-maxdepth', 1));
if(count($files) != 1) {
echo "Test 1: ".count($files)." results found, while expected 1.\n";
if(count($files) > 0) {
echo "Listing results:\n";
var_dump($files);
}
}
// try to find the temp file by replacing the first character with a ?
$files = System::find(
array($dir, '-type', 'f', '-name', '?'.substr($filename, 1), '-maxdepth', 1));
if(count($files) == 0) {
echo "Test 2: 0 results found, while expected 1 or more.\n";
}
// try to find the temp file by replacing the first four characters with a *
$files = System::find(
array($dir, '-type', 'f', '-name', '*'.substr($filename, 4), '-maxdepth', 1));
if(count($files) == 0) {
echo "Test 3: 0 results found, while expected 1 or more.\n";
}
// try to find the temp file from within the parent of the containing directory
$parent = substr($dir, 0, strrpos($dir, DIRECTORY_SEPARATOR));
if (!$parent) {
$parent = '/';
}
$files = System::find(
array($parent, '-type', 'f', '-name', $filename, '-maxdepth', 2));
if(count($files) == 0) {
echo "Test 5: 0 results found, while expected 1 or more.\n";
}
// Clean up
unlink($tmpfile);
?>
===DONE===
--EXPECT--
Testing: find
===DONE===
|