File: find_test.phpt

package info (click to toggle)
php-pear 1%3A1.10.1%2Bsubmodules%2Bnotgz-9%2Bdeb9u1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 18,600 kB
  • sloc: php: 51,665; ansic: 38,629; xml: 32,572; yacc: 677; pascal: 452; makefile: 122; sh: 116
file content (66 lines) | stat: -rw-r--r-- 1,655 bytes parent folder | download | duplicates (5)
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===