php-src/ext/standard/tests/file/rmdir_variation3-win32.phpt
Peter Kokot b746e69887 Sync leading and final newlines in *.phpt sections
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines in all
*.phpt sections.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-15 04:32:30 +02:00

109 lines
2.8 KiB
PHP

--TEST--
Test rmdir() function : variation: various valid and invalid paths
--CREDITS--
Dave Kelsey <d_kelsey@uk.ibm.com>
--SKIPIF--
<?php
if(substr(PHP_OS, 0, 3) != "WIN")
die("skip Only valid for Windows");
?>
--FILE--
<?php
/* Prototype : bool rmdir(string dirname[, resource context])
* Description: Remove a directory
* Source code: ext/standard/file.c
* Alias to functions:
*/
echo "*** Testing rmdir() : variation ***\n";
$workDir = "rmdirVar3.tmp";
$subDir = "aSubDir";
mkdir($workDir);
$cwd = getcwd();
$unixifiedDir = '/'.substr(str_replace('\\','/',$cwd).'/'.$workDir.'/'.$subDir, 3);
$dirs = array(
// relative
$workDir.'\\'.$subDir,
'.\\'.$workDir.'\\'.$subDir,
$workDir.'\\..\\'.$workDir.'\\'.$subDir,
// relative bad path
$workDir.'\\..\\BADDIR\\'.$subDir,
'BADDIR\\'.$subDir,
//absolute
$cwd.'\\'.$workDir.'\\'.$subDir,
$cwd.'\\.\\'.$workDir.'\\'.$subDir,
$cwd.'\\'.$workDir.'\\..\\'.$workDir.'\\'.$subDir,
//absolute bad path
$cwd.'\\BADDIR\\'.$subDir,
//trailing separators
$workDir.'\\'.$subDir.'\\',
$cwd.'\\'.$workDir.'\\'.$subDir.'\\',
// multiple separators
$workDir.'\\\\'.$subDir,
$cwd.'\\\\'.$workDir.'\\\\'.$subDir,
// Unixified Dir
$unixifiedDir,
);
foreach($dirs as $dir) {
mkdir($workDir.'/'.$subDir);
echo "-- removing $dir --\n";
$res = rmdir($dir);
if ($res === true) {
echo "Directory removed\n";
}
else {
rmdir($workDir.'/'.$subDir);
}
}
rmdir($workDir);
?>
===DONE===
--EXPECTF--
*** Testing rmdir() : variation ***
-- removing rmdirVar3.tmp\aSubDir --
Directory removed
-- removing .\rmdirVar3.tmp\aSubDir --
Directory removed
-- removing rmdirVar3.tmp\..\rmdirVar3.tmp\aSubDir --
Directory removed
-- removing rmdirVar3.tmp\..\BADDIR\aSubDir --
Warning: rmdir(rmdirVar3.tmp\..\BADDIR\aSubDir): No such file or directory in %s on line %d
-- removing BADDIR\aSubDir --
Warning: rmdir(BADDIR\aSubDir): No such file or directory in %s on line %d
-- removing %s\rmdirVar3.tmp\aSubDir --
Directory removed
-- removing %s\.\rmdirVar3.tmp\aSubDir --
Directory removed
-- removing %s\rmdirVar3.tmp\..\rmdirVar3.tmp\aSubDir --
Directory removed
-- removing %s\BADDIR\aSubDir --
Warning: rmdir(%s\BADDIR\aSubDir): No such file or directory in %s on line %d
-- removing rmdirVar3.tmp\aSubDir\ --
Directory removed
-- removing %s\rmdirVar3.tmp\aSubDir\ --
Directory removed
-- removing rmdirVar3.tmp\\aSubDir --
Directory removed
-- removing %s\\rmdirVar3.tmp\\aSubDir --
Directory removed
-- removing /%s/rmdirVar3.tmp/aSubDir --
Directory removed
===DONE===