1
0
mirror of https://github.com/php/php-src.git synced 2026-04-16 20:41:18 +02:00
Files
archived-php-src/ext/standard/tests/dir/dir_basic-win32-mb.phpt
Anatol Belski 596f488e06 Add skipifs to some mb path tests
These were invented primarily to test the multibyte path handling
patch on Windows. How it turns out by PR #2105, some test issues
on some filesystems are possible. Particularly HFS is configurable
to use different ways to save filenames, see
https://developer.apple.com/library/mac/qa/qa1173/_index.html
This makes it impossible to test the filenames byte wise, while
the results are still correct. There are still several other tests
using UTF-8 file names spread over other extensions. So far no
false positives are to see, they don't need to be touched.
2016-09-02 19:46:32 +02:00

93 lines
2.2 KiB
PHP

--TEST--
Test dir() function : basic functionality
--SKIPIF--
<?php
if (substr(PHP_OS, 0, 3) != 'WIN') {
die("skip Valid only on 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
*/
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(): %s is not a valid Directory resource in %s on line %d
bool(false)
Done