kraghuba Mon Dec 24 05:07:47 2007 UTC
Added files:
/php-src/ext/standard/tests/dir dir_variation1.phpt
dir_variation2.phpt
dir_variation3.phpt dir_error.phpt
dir_variation4.phpt
dir_variation5.phpt
dir_variation6.phpt
dir_variation7.phpt
dir_variation8.phpt
dir_variation9.phpt dir_basic.phpt
Log:
new testcases for dir() function
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_variation1.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_variation1.phpt
+++ php-src/ext/standard/tests/dir/dir_variation1.phpt
--TEST--
Test dir() function : usage variations - unexpected value for 'dir' argument
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
/*
* Passing non string values to 'directory' argument of dir() and see
* that the function outputs proper warning messages wherever expected.
*/
echo "*** Testing dir() : unexpected values for \$directory argument ***\n";
// get an unset variable
$unset_var = 10;
unset($unset_var);
class A
{
public $var;
public function init() {
$this->var = 10;
}
public function __toString() {
return "ClassAObject";
}
}
// get a resource variable
$fp = fopen(__FILE__, "r"); // get a file handle
$dfp = opendir( dirname(__FILE__) ); // get a dir handle
// unexpected values to be passed to $directory argument
$unexpected_values = array (
// array data
/*1*/ array(),
array(0),
array(1),
array(1, 2),
array('color' => 'red', 'item' => 'pen'),
// null data
/*6*/ NULL,
null,
// boolean data
/*8*/ true,
false,
TRUE,
FALSE,
// empty data
/*12*/ "",
'',
// undefined data
/*14*/ @$undefined_var,
// unset data
/*15*/ @$unset_var,
// resource variable(dir and file handle)
/*16*/ $fp,
$dfp,
// object data
/*18*/ new A()
);
// loop through various elements of $unexpected_values to check the behavior of
dir()
$iterator = 1;
foreach( $unexpected_values as $unexpected_value ) {
echo "\n-- Iteration $iterator --\n";
var_dump( dir($unexpected_value) );
$iterator++;
}
fclose($fp);
closedir($dfp);
echo "Done";
?>
--EXPECTF--
*** Testing dir() : unexpected values for $directory argument ***
-- Iteration 1 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 2 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 3 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 4 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 5 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 6 --
bool(false)
-- Iteration 7 --
bool(false)
-- Iteration 8 --
Warning: dir(1): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 9 --
bool(false)
-- Iteration 10 --
Warning: dir(1): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 11 --
bool(false)
-- Iteration 12 --
bool(false)
-- Iteration 13 --
bool(false)
-- Iteration 14 --
bool(false)
-- Iteration 15 --
bool(false)
-- Iteration 16 --
Warning: dir(Resource id #%d): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 17 --
Warning: dir(Resource id #%d): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 18 --
Warning: dir(ClassAObject): failed to open dir: %s in %s on line %d
bool(false)
Done
--UEXPECTF--
*** Testing dir() : unexpected values for $directory argument ***
-- Iteration 1 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 2 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 3 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 4 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 5 --
Notice: Array to string conversion in %s on line %d
Warning: dir(Array): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 6 --
bool(false)
-- Iteration 7 --
bool(false)
-- Iteration 8 --
Warning: dir(1): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 9 --
bool(false)
-- Iteration 10 --
Warning: dir(1): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 11 --
bool(false)
-- Iteration 12 --
bool(false)
-- Iteration 13 --
bool(false)
-- Iteration 14 --
bool(false)
-- Iteration 15 --
bool(false)
-- Iteration 16 --
Warning: dir(Resource id #%d): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 17 --
Warning: dir(Resource id #%d): failed to open dir: %s in %s on line %d
bool(false)
-- Iteration 18 --
Warning: dir(ClassAObject): failed to open dir: %s in %s on line %d
bool(false)
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_variation2.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_variation2.phpt
+++ php-src/ext/standard/tests/dir/dir_variation2.phpt
--TEST--
Test dir() function : usage variations - unexpected value for 'context' argument
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
/*
* Passing non resource values to 'context' argument of dir() and see
* that the function outputs proper warning messages wherever expected.
*/
echo "*** Testing dir() : unexpected values for \$context argument ***\n";
// create the temporary directory
$file_path = dirname(__FILE__);
$directory = $file_path."/dir_variation2";
@mkdir($directory);
// get an unset variable
$unset_var = stream_context_create();
unset($unset_var);
class classA
{
public $var;
public function init() {
$this->var = 10;
}
}
// heredoc string
$heredoc = <<<EOT
hello world
EOT;
// unexpected values to be passed to $directory argument
$unexpected_values = array (
// int data
/*1*/ 0,
1,
12345,
-2345,
// float data
/*5*/ 10.5,
-10.5,
12.3456789000e10,
12.3456789000E-10,
.5,
// array data
/*10*/ array(),
array(0),
array(1),
array(1, 2),
array('color' => 'red', 'item' => 'pen'),
// null data
/*15*/ NULL,
null,
// boolean data
/*17*/ true,
false,
TRUE,
FALSE,
// empty data
/*21*/ "",
'',
// string data
/*23*/ "string",
'string',
$heredoc,
// object data
/*26*/ new classA(),
// undefined data
/*27*/ @$undefined_var,
// unset data
/*28*/ @$unset_var
);
// loop through various elements of $unexpected_values to check the behavior of
dir()
$iterator = 1;
foreach( $unexpected_values as $unexpected_value ) {
echo "\n-- Iteration $iterator --";
var_dump( dir($directory, $unexpected_value) );
$iterator++;
}
echo "Done";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$directory = $file_path."/dir_variation2";
rmdir($directory);
?>
--EXPECTF--
*** Testing dir() : unexpected values for $context argument ***
-- Iteration 1 --
Warning: dir() expects parameter 2 to be resource, integer given in %s on line
%d
NULL
-- Iteration 2 --
Warning: dir() expects parameter 2 to be resource, integer given in %s on line
%d
NULL
-- Iteration 3 --
Warning: dir() expects parameter 2 to be resource, integer given in %s on line
%d
NULL
-- Iteration 4 --
Warning: dir() expects parameter 2 to be resource, integer given in %s on line
%d
NULL
-- Iteration 5 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 6 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 7 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 8 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 9 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 10 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 11 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 12 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 13 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 14 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 15 --
Warning: dir() expects parameter 2 to be resource, null given in %s on line %d
NULL
-- Iteration 16 --
Warning: dir() expects parameter 2 to be resource, null given in %s on line %d
NULL
-- Iteration 17 --
Warning: dir() expects parameter 2 to be resource, boolean given in %s on line
%d
NULL
-- Iteration 18 --
Warning: dir() expects parameter 2 to be resource, boolean given in %s on line
%d
NULL
-- Iteration 19 --
Warning: dir() expects parameter 2 to be resource, boolean given in %s on line
%d
NULL
-- Iteration 20 --
Warning: dir() expects parameter 2 to be resource, boolean given in %s on line
%d
NULL
-- Iteration 21 --
Warning: dir() expects parameter 2 to be resource, string given in %s on line %d
NULL
-- Iteration 22 --
Warning: dir() expects parameter 2 to be resource, string given in %s on line %d
NULL
-- Iteration 23 --
Warning: dir() expects parameter 2 to be resource, string given in %s on line %d
NULL
-- Iteration 24 --
Warning: dir() expects parameter 2 to be resource, string given in %s on line %d
NULL
-- Iteration 25 --
Warning: dir() expects parameter 2 to be resource, string given in %s on line %d
NULL
-- Iteration 26 --
Warning: dir() expects parameter 2 to be resource, object given in %s on line %d
NULL
-- Iteration 27 --
Warning: dir() expects parameter 2 to be resource, null given in %s on line %d
NULL
-- Iteration 28 --
Warning: dir() expects parameter 2 to be resource, null given in %s on line %d
NULL
Done
--UEXPECTF--
*** Testing dir() : unexpected values for $context argument ***
-- Iteration 1 --
Warning: dir() expects parameter 2 to be resource, integer given in %s on line
%d
NULL
-- Iteration 2 --
Warning: dir() expects parameter 2 to be resource, integer given in %s on line
%d
NULL
-- Iteration 3 --
Warning: dir() expects parameter 2 to be resource, integer given in %s on line
%d
NULL
-- Iteration 4 --
Warning: dir() expects parameter 2 to be resource, integer given in %s on line
%d
NULL
-- Iteration 5 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 6 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 7 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 8 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 9 --
Warning: dir() expects parameter 2 to be resource, double given in %s on line %d
NULL
-- Iteration 10 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 11 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 12 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 13 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 14 --
Warning: dir() expects parameter 2 to be resource, array given in %s on line %d
NULL
-- Iteration 15 --
Warning: dir() expects parameter 2 to be resource, null given in %s on line %d
NULL
-- Iteration 16 --
Warning: dir() expects parameter 2 to be resource, null given in %s on line %d
NULL
-- Iteration 17 --
Warning: dir() expects parameter 2 to be resource, boolean given in %s on line
%d
NULL
-- Iteration 18 --
Warning: dir() expects parameter 2 to be resource, boolean given in %s on line
%d
NULL
-- Iteration 19 --
Warning: dir() expects parameter 2 to be resource, boolean given in %s on line
%d
NULL
-- Iteration 20 --
Warning: dir() expects parameter 2 to be resource, boolean given in %s on line
%d
NULL
-- Iteration 21 --
Warning: dir() expects parameter 2 to be resource, Unicode string given in %s
on line %d
NULL
-- Iteration 22 --
Warning: dir() expects parameter 2 to be resource, Unicode string given in %s
on line %d
NULL
-- Iteration 23 --
Warning: dir() expects parameter 2 to be resource, Unicode string given in %s
on line %d
NULL
-- Iteration 24 --
Warning: dir() expects parameter 2 to be resource, Unicode string given in %s
on line %d
NULL
-- Iteration 25 --
Warning: dir() expects parameter 2 to be resource, Unicode string given in %s
on line %d
NULL
-- Iteration 26 --
Warning: dir() expects parameter 2 to be resource, object given in %s on line %d
NULL
-- Iteration 27 --
Warning: dir() expects parameter 2 to be resource, null given in %s on line %d
NULL
-- Iteration 28 --
Warning: dir() expects parameter 2 to be resource, null given in %s on line %d
NULL
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_variation3.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_variation3.phpt
+++ php-src/ext/standard/tests/dir/dir_variation3.phpt
--TEST--
Test dir() function : usage variations - different directory permissions
--SKIPIF--
<?php
if( substr(PHP_OS, 0, 3) == 'WIN') {
die('skip Not for Windows');
}
?>
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
/*
* Providing various permissions to the directory to be opened and checking
* to see if dir() function opens the directory successfully.
*/
echo "*** Testing dir() : different directory permissions ***";
// create the temporary directory
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_variation3";
@mkdir($dir_path);
/* different values for directory permissions */
$permission_values = array(
/*1*/ 0477, // owner has read only, other and group has rwx
0677, // owner has rw only, other and group has rwx
/*3*/ 0444, // all have read only
0666, // all have rw only
/*5*/ 0400, // owner has read only, group and others have no permission
0600, // owner has rw only, group and others have no permission
/*7*/ 0470, // owner has read only, group has rwx & others have no permission
0407, // owner has read only, other has rwx & group has no permission
/*9*/ 0670, // owner has rw only, group has rwx & others have no permission
/*10*/ 0607 // owner has rw only, group has no permission and others have rwx
);
// Open directory with different permission values, read and close, expected:
none of them to succeed.
for($count = 0; $count < count($permission_values); $count++) {
echo "\n-- Iteration ".($count + 1)." --\n";
// try to remove the dir if exists & create
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_variation3";
@chmod ($dir_path, 0777); // change dir permission to allow all operation
@rmdir ($dir_path); // try n delete the dir
// create the dir now
@mkdir($dir_path);
// change the dir permisson to test dir on it
var_dump( chmod($dir_path, $permission_values[$count]) );
// try to get dir handle
$d = dir($dir_path);
var_dump($d); // dump the handle
// try read directory, expected : false
echo "-- reading contents --\n";
var_dump($d->read());
// close directory
$d->close();
}
echo "Done";
?>
--CLEAN--
<?php
// deleting temporary directory
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_variation3";
rmdir($dir_path);
?>
--EXPECTF--
*** Testing dir() : different directory permissions ***
-- Iteration 1 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
-- Iteration 2 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
-- Iteration 3 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
-- Iteration 4 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
-- Iteration 5 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
-- Iteration 6 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
-- Iteration 7 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
-- Iteration 8 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
-- Iteration 9 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
-- Iteration 10 --
bool(true)
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation3"
["handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
string(%d) "%s"
Done
--UEXPECTF--
*** Testing dir() : different directory permissions ***
-- Iteration 1 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
-- Iteration 2 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
-- Iteration 3 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
-- Iteration 4 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
-- Iteration 5 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
-- Iteration 6 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
-- Iteration 7 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
-- Iteration 8 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
-- Iteration 9 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
-- Iteration 10 --
bool(true)
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation3"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading contents --
unicode(%d) "%s"
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_error.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_error.phpt
+++ php-src/ext/standard/tests/dir/dir_error.phpt
--TEST--
Test dir() function : error conditions
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
echo "*** Testing dir() : error conditions ***\n";
// Zero arguments
echo "\n-- Testing dir() function with zero arguments --";
var_dump( dir() );
// With one more than expected number of arguments
echo "\n-- Testing dir() function with one more than expected number of
arguments --";
$extra_arg = 10;
var_dump( dir(getcwd(), "stream", $extra_arg) );
echo "Done";
?>
--EXPECTF--
*** Testing dir() : error conditions ***
-- Testing dir() function with zero arguments --
Warning: dir() expects at least 1 parameter, 0 given in %s on line %d
NULL
-- Testing dir() function with one more than expected number of arguments --
Warning: dir() expects at most 2 parameters, 3 given in %s on line %d
NULL
Done
--UEXPECTF--
*** Testing dir() : error conditions ***
-- Testing dir() function with zero arguments --
Warning: dir() expects at least 1 parameter, 0 given in %s on line %d
NULL
-- Testing dir() function with one more than expected number of arguments --
Warning: dir() expects at most 2 parameters, 3 given in %s on line %d
NULL
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_variation4.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_variation4.phpt
+++ php-src/ext/standard/tests/dir/dir_variation4.phpt
--TEST--
Test dir() function : usage variations - operate on previously opened directory
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
/*
* Testing the behavior of dir() function by trying to open a
* directory which is already open.
*/
echo "*** Testing dir() : operate on previously opened directory ***\n";
// include the file.inc for Function: function create_files()
include( dirname(__FILE__)."/../file/file.inc");
// create the temporary directory
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_variation4";
@mkdir($dir_path);
// create files within the temporary directory
create_files($dir_path, 3, "alphanumeric", 0755, 1, "w", "dir_variation4");
// open the directory
$d = dir($dir_path);
var_dump( $d );
// open the same directory again without closing it
$e = dir($dir_path);
var_dump( $e );
echo "-- reading directory contents with previous handle --\n";
var_dump( $d->read() ); // with previous handle
echo "-- reading directory contents with current handle --\n";
var_dump( $e->read() ); // with current handle
// delete temporary files
delete_files($dir_path, 3, "dir_variation4");
echo "Done";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_variation4";
rmdir($dir_path);
?>
--EXPECTF--
*** Testing dir() : operate on previously opened directory ***
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation4"
["handle"]=>
resource(%d) of type (stream)
}
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation4"
["handle"]=>
resource(%d) of type (stream)
}
-- reading directory contents with previous handle --
string(%d) "%s"
-- reading directory contents with current handle --
string(%d) "%s"
Done
--UEXPECTF--
*** Testing dir() : operate on previously opened directory ***
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation4"
[u"handle"]=>
resource(%d) of type (stream)
}
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation4"
[u"handle"]=>
resource(%d) of type (stream)
}
-- reading directory contents with previous handle --
unicode(%d) "%s"
-- reading directory contents with current handle --
unicode(%d) "%s"
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_variation5.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_variation5.phpt
+++ php-src/ext/standard/tests/dir/dir_variation5.phpt
--TEST--
Test dir() function : usage variations - open a file instead of directory
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
/*
* Passing a file as argument to dir() function instead of a directory
* and checking if proper warning message is generated.
*/
echo "*** Testing dir() : open a file instead of a directory ***\n";
// open the file instead of directory
$d = dir(__FILE__);
var_dump( $d );
echo "Done";
?>
--EXPECTF--
*** Testing dir() : open a file instead of a directory ***
Warning: dir(%s): failed to open dir: %s in %s on line %d
bool(false)
Done
--UEXPECTF--
*** Testing dir() : open a file instead of a directory ***
Warning: dir(%s): failed to open dir: %s in %s on line %d
bool(false)
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_variation6.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_variation6.phpt
+++ php-src/ext/standard/tests/dir/dir_variation6.phpt
--TEST--
Test dir() function : usage variations - non-existent directory
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
/*
* Passing a non-existent directory as argument to dir() function
* and checking to see if proper warning message is output.
*/
echo "*** Testing dir() : open a non-existent directory ***\n";
// create the temporary directory
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_variation6";
@mkdir($dir_path);
// open existent directory
$d = dir($dir_path);
$d->close(); //close the dir
// remove directory and try to open the same(non-existent) directory again
rmdir($dir_path);
clearstatcache();
echo "-- opening previously removed directory --\n";
var_dump( dir($dir_path) );
// point to a non-existent directory
$non_existent_dir = $file_path."/non_existent_dir";
echo "-- opening non-existent directory --\n";
$d = dir($non_existent_dir);
var_dump( $d );
echo "Done";
?>
--EXPECTF--
*** Testing dir() : open a non-existent directory ***
-- opening previously removed directory --
Warning: dir(%s): failed to open dir: %s in %s on line %d
bool(false)
-- opening non-existent directory --
Warning: dir(%s): failed to open dir: %s in %s on line %d
bool(false)
Done
--UEXPECTF--
*** Testing dir() : open a non-existent directory ***
-- opening previously removed directory --
Warning: dir(%s): failed to open dir: %s in %s on line %d
bool(false)
-- opening non-existent directory --
Warning: dir(%s): failed to open dir: %s in %s on line %d
bool(false)
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_variation7.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_variation7.phpt
+++ php-src/ext/standard/tests/dir/dir_variation7.phpt
--TEST--
Test dir() function : usage variations - directories with restricted permissions
--SKIPIF--
<?php
if( substr(PHP_OS, 0, 3) == 'WIN') {
die('skip Not for Windows');
}
?>
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
/*
* remove the execute permission from the parent dir and test dir() on child dir
* 1) remove write & execute permission from the 1st parent and test dir()
* 2) remove execute permission from 2nd parent and test dir()
*/
echo "*** Testing dir() : remove execute permission from the parent dir ***\n";
/* create the temporary directory :
dir_variation7 ( parent )
|-> sub_dir ( sub parent )
|-> child_dir ( child dir)
*/
$file_path = dirname(__FILE__);
$parent_dir_path = $file_path."/dir_variation7";
@mkdir($parent_dir_path);
chmod($parent_dir_path, 0777);
// create sub_dir
$sub_dir_path = $parent_dir_path."/sub_dir";
@mkdir($sub_dir_path);
chmod($sub_dir_path, 0777);
//create sub_sub_dir
$child_dir_path = $sub_dir_path."/child_dir";
@mkdir($child_dir_path);
// remove the write and execute permisson from sub parent
chmod($sub_dir_path, 0444);
echo "-- After restricting 1st level parent directory --\n";
$d = dir($child_dir_path); // try to open, expected failure
var_dump( $d ); // dump it
// remove the execute permisson from parent dir, allowing all permission for
sub dir
chmod($sub_dir_path, 0777); // all permisson to sub dir
chmod($parent_dir_path, 0666); // restricting parent directory
echo "-- After restricting parent directory --\n";
$d = dir($child_dir_path); // try to open, expected failure
var_dump( $d ); // dump it
echo "Done";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$parent_dir_path = $file_path."/dir_variation7";
$sub_dir_path = $parent_dir_path."/sub_dir";
$child_dir_path = $sub_dir_path."/child_dir";
// changing permissions for each temporary directory to delete them
chmod($parent_dir_path, 0777);
chmod($sub_dir_path, 0777);
chmod($child_dir_path, 0777);
rmdir($child_dir_path);
rmdir($sub_dir_path);
rmdir($parent_dir_path);
?>
--EXPECTF--
*** Testing dir() : remove execute permission from the parent dir ***
-- After restricting 1st level parent directory --
Warning: dir(%s/dir_variation7/sub_dir/child_dir): failed to open dir:
Permission denied in %s on line %d
bool(false)
-- After restricting parent directory --
Warning: dir(%s/dir_variation7/sub_dir/child_dir): failed to open dir:
Permission denied in %s on line %d
bool(false)
Done
--UEXPECTF--
*** Testing dir() : remove execute permission from the parent dir ***
-- After restricting 1st level parent directory --
Warning: dir(%s/dir_variation7/sub_dir/child_dir): failed to open dir:
Permission denied in %s on line %d
bool(false)
-- After restricting parent directory --
Warning: dir(%s/dir_variation7/sub_dir/child_dir): failed to open dir:
Permission denied in %s on line %d
bool(false)
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_variation8.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_variation8.phpt
+++ php-src/ext/standard/tests/dir/dir_variation8.phpt
--TEST--
Test dir() function : usage variations - checking with wildcard characters
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
/*
* Create more than one temporary directory & subdirectory and check if dir()
function can open
* those directories when wildcard characters are used to refer to them.
*/
echo "*** Testing dir() : checking with wildcard characters ***\n";
// create the temporary directories
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_variation81";
$sub_dir_path = $dir_path."/sub_dir1";
@mkdir($dir_path1);
@mkdir($sub_dir_path);
/* with different wildcard characters */
echo "-- wildcard = '*' --\n";
var_dump( dir($file_path."/dir_var*") );
var_dump( dir($file_path."/*") );
echo "-- wildcard = '?' --\n";
var_dump( dir($dir_path."/sub_dir?") );
var_dump( dir($dir_path."/sub?dir1") );
echo "Done";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_variation81";
$sub_dir_path = $dir_path."/sub_dir1";
rmdir($dir_path1);
rmdir($dir_path2);
?>
--EXPECTF--
*** Testing dir() : checking with wildcard characters ***
-- wildcard = '*' --
Warning: dir(%s/dir_var*): failed to open dir: %s in %s on line %d
bool(false)
Warning: dir(%s/*): failed to open dir: %s in %s on line %d
bool(false)
-- wildcard = '?' --
Warning: dir(%s/dir_variation81/sub_dir?): failed to open dir: %s in %s on line
%d
bool(false)
Warning: dir(%s/dir_variation81/sub?dir1): failed to open dir: %s in %s on line
%d
bool(false)
Done
--UEXPECTF--
*** Testing dir() : checking with wildcard characters ***
-- wildcard = '*' --
Warning: dir(%s/dir_var*): failed to open dir: %s in %s on line %d
bool(false)
Warning: dir(%s/*): failed to open dir: %s in %s on line %d
bool(false)
-- wildcard = '?' --
Warning: dir(%s/dir_variation81/sub_dir?): failed to open dir: %s in %s on line
%d
bool(false)
Warning: dir(%s/dir_variation81/sub?dir1): failed to open dir: %s in %s on line
%d
bool(false)
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_variation9.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_variation9.phpt
+++ php-src/ext/standard/tests/dir/dir_variation9.phpt
--TEST--
Test dir() function : usage variations - relative valid and invalid paths
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
/*
* Checking the behavior of dir() function by passing directories which
* have valid and invalid relative path.
*/
echo "*** Testing dir() : checking with valid and invalid paths ***\n";
/* create the temporary directories */
$file_path = dirname(__FILE__);
// directory dir_variation91 with one sub-directory sub_dir11 and
sub-sub-directory sub_dir111
$dir_path1 = $file_path."/dir_variation91";
$sub_dir11 = $dir_path1."/sub_dir11";
$sub_dir111 = $sub_dir11."/sub_dir111";
// directory dir_variation92 with one sub-directory sub_dir21
$dir_path2 = $file_path."/dir_variation92";
$sub_dir21 = $dir_path2."/sub_dir21";
@mkdir($dir_path1);
@mkdir($dir_path2);
@mkdir($sub_dir11);
@mkdir($sub_dir111);
@mkdir($sub_dir21);
// open the directory with valid paths
echo "\n-- With valid paths --\n";
var_dump( dir("$dir_path1/sub_dir11/sub_dir111/..") );
var_dump( dir("$dir_path2/sub_dir21/../../dir_variation91") );
var_dump( dir("$dir_path2/sub_dir21/../../dir_variation91/sub_dir11/..") );
var_dump(
dir("$dir_path1/sub_dir11/sub_dir111/../../../dir_variation92/sub_dir21/..") );
// open the directory with invalid path
echo "\n-- With invalid paths --\n";
var_dump( dir("$dir_path1/sub_dir12/sub_dir111/..") );
var_dump( dir("$dir_path2/sub_dir21/../dir_variation91") );
var_dump( dir("$dir_path2/sub_dir21/../../dir_variation91/sub_dir12/..") );
var_dump(
dir("$dir_path1/sub_dir11/sub_dir111/../../dir_variation92/sub_dir21/..") );
echo "Done";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$dir_path1 = $file_path."/dir_variation91";
$sub_dir11 = $dir_path1."/sub_dir11";
$sub_dir111 = $sub_dir11."/sub_dir111";
$dir_path2 = $file_path."/dir_variation92";
$sub_dir21 = $dir_path2."/sub_dir21";
rmdir($sub_dir21);
rmdir($sub_dir111);
rmdir($sub_dir11);
rmdir($dir_path1);
rmdir($dir_path2);
?>
--EXPECTF--
*** Testing dir() : checking with valid and invalid paths ***
-- With valid paths --
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation91/sub_dir11/sub_dir111/.."
["handle"]=>
resource(%d) of type (stream)
}
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation92/sub_dir21/../../dir_variation91"
["handle"]=>
resource(%d) of type (stream)
}
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_variation92/sub_dir21/../../dir_variation91/sub_dir11/.."
["handle"]=>
resource(%d) of type (stream)
}
object(Directory)#%d (2) {
["path"]=>
string(%d)
"%s/dir_variation91/sub_dir11/sub_dir111/../../../dir_variation92/sub_dir21/.."
["handle"]=>
resource(%d) of type (stream)
}
-- With invalid paths --
Warning: dir(%s/dir_variation91/sub_dir12/sub_dir111/..): failed to open dir:
%s in %s on line %d
bool(false)
Warning: dir(%s/dir_variation92/sub_dir21/../dir_variation91): failed to open
dir: %s in %s on line %d
bool(false)
Warning: dir(%s/dir_variation92/sub_dir21/../../dir_variation91/sub_dir12/..):
failed to open dir: %s in %s on line %d
bool(false)
Warning:
dir(%s/dir_variation91/sub_dir11/sub_dir111/../../dir_variation92/sub_dir21/..):
failed to open dir: %s in %s on line %d
bool(false)
Done
--UEXPECTF--
*** Testing dir() : checking with valid and invalid paths ***
-- With valid paths --
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation91/sub_dir11/sub_dir111/.."
[u"handle"]=>
resource(%d) of type (stream)
}
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation92/sub_dir21/../../dir_variation91"
[u"handle"]=>
resource(%d) of type (stream)
}
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_variation92/sub_dir21/../../dir_variation91/sub_dir11/.."
[u"handle"]=>
resource(%d) of type (stream)
}
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d)
"%s/dir_variation91/sub_dir11/sub_dir111/../../../dir_variation92/sub_dir21/.."
[u"handle"]=>
resource(%d) of type (stream)
}
-- With invalid paths --
Warning: dir(%s/dir_variation91/sub_dir12/sub_dir111/..): failed to open dir:
%s in %s on line %d
bool(false)
Warning: dir(%s/dir_variation92/sub_dir21/../dir_variation91): failed to open
dir: %s in %s on line %d
bool(false)
Warning: dir(%s/dir_variation92/sub_dir21/../../dir_variation91/sub_dir12/..):
failed to open dir: %s in %s on line %d
bool(false)
Warning:
dir(%s/dir_variation91/sub_dir11/sub_dir111/../../dir_variation92/sub_dir21/..):
failed to open dir: %s in %s on line %d
bool(false)
Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/dir/dir_basic.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/dir/dir_basic.phpt
+++ php-src/ext/standard/tests/dir/dir_basic.phpt
--TEST--
Test dir() function : basic functionality
--FILE--
<?php
/*
* Prototype : object dir(string $directory[, resource $context])
* Description: Directory class with properties, handle and class and methods
read, rewind and close
* Source code: ext/standard/dir.c
*/
echo "*** Testing dir() : basic functionality ***\n";
// include the file.inc for Function: function create_files()
include(dirname(__FILE__)."/../file/file.inc");
// create the temporary directory
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_basic";
@mkdir($dir_path);
// create files within the temporary directory
create_files($dir_path, 3, "alphanumeric", 0755, 1, "w", "dir_basic");
echo "Get Directory instance:\n";
$d = dir($dir_path);
var_dump( $d );
echo "\nRead and rewind:\n";
var_dump( $d->read() );
var_dump( $d->read() );
var_dump( $d->rewind() );
echo "\nTest using handle directly:\n";
var_dump( readdir($d->handle) );
var_dump( readdir($d->handle) );
echo "\nClose directory:\n";
var_dump( $d->close() );
var_dump( $d );
echo "\nTest read after closing the dir:";
var_dump( $d->read() );
// delete temp files
delete_files($dir_path, 3, "dir_basic", 1, ".tmp");
echo "Done";
?>
--CLEAN--
<?php
$file_path = dirname(__FILE__);
$dir_path = $file_path."/dir_basic";
rmdir($dir_path);
?>
--EXPECTF--
*** Testing dir() : basic functionality ***
Get Directory instance:
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_basic"
["handle"]=>
resource(%d) of type (stream)
}
Read and rewind:
string(%d) "%s"
string(%d) "%s"
NULL
Test using handle directly:
string(%d) "%s"
string(%d) "%s"
Close directory:
NULL
object(Directory)#%d (2) {
["path"]=>
string(%d) "%s/dir_basic"
["handle"]=>
resource(%d) of type (Unknown)
}
Test read after closing the dir:
Warning: Directory::read(): %d is not a valid Directory resource in %s on line
%d
bool(false)
Done
--UEXPECTF--
*** Testing dir() : basic functionality ***
Get Directory instance:
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_basic"
[u"handle"]=>
resource(%d) of type (stream)
}
Read and rewind:
unicode(%d) "%s"
unicode(%d) "%s"
NULL
Test using handle directly:
unicode(%d) "%s"
unicode(%d) "%s"
Close directory:
NULL
object(Directory)#%d (2) {
[u"path"]=>
unicode(%d) "%s/dir_basic"
[u"handle"]=>
resource(%d) of type (Unknown)
}
Test read after closing the dir:
Warning: Directory::read(): %d is not a valid Directory resource in %s on line
%d
bool(false)
Done
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php