diff options
| author | Preston L. Bannister <pbannister@php.net> | 2002-05-16 15:59:39 +0000 |
|---|---|---|
| committer | Preston L. Bannister <pbannister@php.net> | 2002-05-16 15:59:39 +0000 |
| commit | aa0702f0512202e03e6260f98cb4afbf5e7d50ba (patch) | |
| tree | 50f1af795061342fe3517942afa58d011f2de4ae | |
| parent | adf701a3ef6931ed3dfa01d3b65cb758ada76780 (diff) | |
| download | php-git-aa0702f0512202e03e6260f98cb4afbf5e7d50ba.tar.gz | |
dirname() checks that work for both Unix and Win32.
| -rw-r--r-- | tests/dirname.phpt | 74 |
1 files changed, 51 insertions, 23 deletions
diff --git a/tests/dirname.phpt b/tests/dirname.phpt index c2e1edbe14..83f5d7a788 100644 --- a/tests/dirname.phpt +++ b/tests/dirname.phpt @@ -3,28 +3,56 @@ dirname test --FILE-- <?php - function check_dirname($path) - { - print "dirname($path) == " . dirname($path) . "\n"; - } - - check_dirname("/foo/"); - check_dirname("/foo"); - check_dirname("/foo/bar"); - check_dirname("d:\\foo\\bar.inc"); - check_dirname("/"); - check_dirname(".../foo"); - check_dirname("./foo"); - check_dirname("foobar///"); - check_dirname("c:\foo"); +// Allow for either Win32 or Unix. +$s = dirname("/foo"); +// $s should be either / (Unix) or \ (Win32) + +function check_dirname($path) { + global $s; + $path1 = str_replace("%",$s,$path); + $path2 = dirname($path1); + $path3 = str_replace($s,"%",$path2); + print "dirname($path) == $path3\n"; +} + +check_dirname("%foo%"); +check_dirname("%foo"); +check_dirname("%foo%bar"); +check_dirname("%"); +check_dirname("...%foo"); +check_dirname(".%foo"); +check_dirname("foobar%%%"); + +function same($a,$b) { + if ($a == $b) { + print "OK\n"; + } else { + print "FAIL $a == $b\n"; + } +} + +if ('/' == $s) { + same(".",dirname("d:\\foo\\bar.inc")); + same(".",dirname("c:\\foo")); + same(".",dirname("c:\\")); + same(".",dirname("c:")); +} else { + same("d:\\foo",dirname("d:\\foo\\bar.inc")); + same("c:\\",dirname("c:\\foo")); + same("c:\\",dirname("c:\\")); + same("c:",dirname("c:")); +} + ?> --EXPECT-- -dirname(/foo/) == / -dirname(/foo) == / -dirname(/foo/bar) == /foo -dirname(d:\foo\bar.inc) == . -dirname(/) == / -dirname(.../foo) == ... -dirname(./foo) == . -dirname(foobar///) == . -dirname(c:\foo) == . +dirname(%foo%) == % +dirname(%foo) == % +dirname(%foo%bar) == %foo +dirname(%) == % +dirname(...%foo) == ... +dirname(.%foo) == . +dirname(foobar%%%) == . +OK +OK +OK +OK |
