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=== 
     |