Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
--TEST--
2
File_Find::test 'shell' mode patterns
3
--SKIPIF--
4
<?php
5
include(dirname(__FILE__).'/setup.php');
6
print $status;
7
?>
8
--FILE--
9
<?php
10
require_once(dirname(__FILE__).'/setup.php');
11
 
12
// *.php -> .*\.php$
13
$result[0] = &File_Find::search('*.*', 'File_Find/dir/', 'shell', false);
14
$result[1] = &File_Find::search('*.bak', 'File_Find/dir/', 'shell', false);
15
$result[2] = &File_Find::search('*3*', 'File_Find/', 'shell', false, 'both');
16
$result[3] = &File_Find::glob('', 'File_Find/dir', 'shell');
17
 
18
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
19
    foreach($result as $k => $r) {
20
        $result[$k] = str_replace("\\", '/', $result[$k]);
21
    }
22
}
23
 
24
print_r($result[0]);
25
print_r($result[1]);
26
print_r($result[2]);
27
print_r($result[3]);
28
 
29
$tcases[] = array("*scope", "msscope");
30
$tcases[] = array("some*", "something");
31
$tcases[] = array("some*", "some");
32
$tcases[] = array("some", "something.wrong");
33
$tcases[] = array("*som?e*", "som_exx.dll");
34
$tcases[] = array("*.dll", "som_exx.dll");
35
$tcases[] = array("*.dll", "som_exx.dll.bak");
36
$tcases[] = array("*.", "som_exx.dll.bak");
37
$tcases[] = array("*.", "som_exx");
38
$tcases[] = array("*.", ".exx");
39
$tcases[] = array("some file.xml.*", "some file.xml");
40
$tcases[] = array("some file.*", "some file");
41
$tcases[] = array("some.*", "some.xml");
42
$tcases[] = array("some.*", "somexml");
43
 
44
foreach($tcases as $tc) {
45
    list($tm, $tf) = $tc;
46
    echo ( File_Find_match_shell($tm, $tf) ) ? "TRUE  " : "FALSE ";
47
    echo "$tm \t$tf\n";
48
}
49
 
50
?>
51
--GET--
52
--POST--
53
--EXPECT--
54
Array
55
(
56
    [0] => File_Find/dir/1.txt
57
    [1] => File_Find/dir/2.txt
58
    [2] => File_Find/dir/dir2/3.bak
59
    [3] => File_Find/dir/dir2/3.txt
60
    [4] => File_Find/dir/dir3/4.bak
61
    [5] => File_Find/dir/dir3/4.txt
62
    [6] => File_Find/dir/txtdir/5.txt
63
)
64
Array
65
(
66
    [0] => File_Find/dir/dir2/3.bak
67
    [1] => File_Find/dir/dir3/4.bak
68
)
69
Array
70
(
71
    [0] => File_Find/dir/dir2/3.bak
72
    [1] => File_Find/dir/dir2/3.txt
73
    [2] => File_Find/dir/dir3
74
)
75
Array
76
(
77
    [0] => 1.txt
78
    [1] => 2.txt
79
    [2] => dir2
80
    [3] => dir3
81
    [4] => txtdir
82
)
83
TRUE  *scope 	msscope
84
TRUE  some* 	something
85
TRUE  some* 	some
86
TRUE  some 	something.wrong
87
TRUE  *som?e* 	som_exx.dll
88
TRUE  *.dll 	som_exx.dll
89
FALSE *.dll 	som_exx.dll.bak
90
FALSE *. 	som_exx.dll.bak
91
TRUE  *. 	som_exx
92
FALSE *. 	.exx
93
TRUE  some file.xml.* 	some file.xml
94
TRUE  some file.* 	some file
95
TRUE  some.* 	some.xml
96
FALSE some.* 	somexml