summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/pathinfo_variaton.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/file/pathinfo_variaton.phpt')
-rw-r--r--ext/standard/tests/file/pathinfo_variaton.phpt442
1 files changed, 442 insertions, 0 deletions
diff --git a/ext/standard/tests/file/pathinfo_variaton.phpt b/ext/standard/tests/file/pathinfo_variaton.phpt
new file mode 100644
index 0000000..d6c6c77
--- /dev/null
+++ b/ext/standard/tests/file/pathinfo_variaton.phpt
@@ -0,0 +1,442 @@
+--TEST--
+Test pathinfo() function: usage variations
+--FILE--
+<?php
+/* Prototype: mixed pathinfo ( string $path [, int $options] );
+ Description: Returns information about a file path
+*/
+
+echo "*** Testing pathinfo() with miscelleneous input arguments ***\n";
+
+$fp = fopen(__FILE__, "r");
+unset($fp);
+
+class object_temp {
+ public $url_var = "www.foo.com";
+ var $html_var = "/var/html/testdir/example.html";
+ var $dir_var = "/testdir/foo/test/";
+ public $file_var = "/foo//symlink.link";
+ var $number = 12345;
+}
+$obj = new object_temp();
+
+$path_arr = array (
+ "www.example.com",
+ "/testdir/foo//test/",
+ "../foo/test.link",
+ "./test/work/scratch/mydir/yourdir/ourdir/test1/test2/test3/test4/test5/test6/test.tmp",
+ 2.345
+);
+
+$paths = array (
+ /* pathname containing numeric string */
+ 0,
+ 1234,
+ -1234,
+ 2.3456,
+
+ /* pathname as boolean */
+ TRUE,
+ FALSE,
+
+ /* pathname as an array */
+ "./array(1, 2)",
+ "array( array(), null)",
+
+ /* pathname as object */
+ $obj,
+
+ /* pathname as spaces */
+ " ",
+ ' ',
+
+ /* empty pathname */
+ "",
+ '',
+
+ /* pathname as NULL */
+ NULL,
+ null,
+
+ /* filename as resource */
+ $fp,
+
+ /* pathname as members of object */
+ $obj->url_var,
+ $obj->html_var,
+ $obj->dir_var,
+ $obj->file_var,
+ $obj->number,
+
+ /* pathname as member of array */
+ $path_arr[0],
+ $path_arr[1],
+ $path_arr[2],
+ $path_arr[3],
+ $path_arr[4]
+);
+
+$counter = 1;
+/* loop through $paths to test each $path in the above array */
+foreach($paths as $path) {
+ echo "-- Iteration $counter --\n";
+ var_dump( pathinfo($path) );
+ var_dump( pathinfo($path, PATHINFO_DIRNAME) );
+ var_dump( pathinfo($path, PATHINFO_BASENAME) );
+ var_dump( pathinfo($path, PATHINFO_EXTENSION) );
+ var_dump( pathinfo($path, PATHINFO_FILENAME) );
+ $counter++;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing pathinfo() with miscelleneous input arguments ***
+
+Notice: Undefined variable: fp in %s on line %d
+-- Iteration 1 --
+array(3) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(1) "0"
+ ["filename"]=>
+ string(1) "0"
+}
+string(1) "."
+string(1) "0"
+string(0) ""
+string(1) "0"
+-- Iteration 2 --
+array(3) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(4) "1234"
+ ["filename"]=>
+ string(4) "1234"
+}
+string(1) "."
+string(4) "1234"
+string(0) ""
+string(4) "1234"
+-- Iteration 3 --
+array(3) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(5) "-1234"
+ ["filename"]=>
+ string(5) "-1234"
+}
+string(1) "."
+string(5) "-1234"
+string(0) ""
+string(5) "-1234"
+-- Iteration 4 --
+array(4) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(6) "2.3456"
+ ["extension"]=>
+ string(4) "3456"
+ ["filename"]=>
+ string(1) "2"
+}
+string(1) "."
+string(6) "2.3456"
+string(4) "3456"
+string(1) "2"
+-- Iteration 5 --
+array(3) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(1) "1"
+ ["filename"]=>
+ string(1) "1"
+}
+string(1) "."
+string(1) "1"
+string(0) ""
+string(1) "1"
+-- Iteration 6 --
+array(2) {
+ ["basename"]=>
+ string(0) ""
+ ["filename"]=>
+ string(0) ""
+}
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+-- Iteration 7 --
+array(3) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(11) "array(1, 2)"
+ ["filename"]=>
+ string(11) "array(1, 2)"
+}
+string(1) "."
+string(11) "array(1, 2)"
+string(0) ""
+string(11) "array(1, 2)"
+-- Iteration 8 --
+array(3) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(21) "array( array(), null)"
+ ["filename"]=>
+ string(21) "array( array(), null)"
+}
+string(1) "."
+string(21) "array( array(), null)"
+string(0) ""
+string(21) "array( array(), null)"
+-- Iteration 9 --
+
+Warning: pathinfo() expects parameter 1 to be string, object given in %s on line %d
+NULL
+
+Warning: pathinfo() expects parameter 1 to be string, object given in %s on line %d
+NULL
+
+Warning: pathinfo() expects parameter 1 to be string, object given in %s on line %d
+NULL
+
+Warning: pathinfo() expects parameter 1 to be string, object given in %s on line %d
+NULL
+
+Warning: pathinfo() expects parameter 1 to be string, object given in %s on line %d
+NULL
+-- Iteration 10 --
+array(3) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(1) " "
+ ["filename"]=>
+ string(1) " "
+}
+string(1) "."
+string(1) " "
+string(0) ""
+string(1) " "
+-- Iteration 11 --
+array(3) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(1) " "
+ ["filename"]=>
+ string(1) " "
+}
+string(1) "."
+string(1) " "
+string(0) ""
+string(1) " "
+-- Iteration 12 --
+array(2) {
+ ["basename"]=>
+ string(0) ""
+ ["filename"]=>
+ string(0) ""
+}
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+-- Iteration 13 --
+array(2) {
+ ["basename"]=>
+ string(0) ""
+ ["filename"]=>
+ string(0) ""
+}
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+-- Iteration 14 --
+array(2) {
+ ["basename"]=>
+ string(0) ""
+ ["filename"]=>
+ string(0) ""
+}
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+-- Iteration 15 --
+array(2) {
+ ["basename"]=>
+ string(0) ""
+ ["filename"]=>
+ string(0) ""
+}
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+-- Iteration 16 --
+array(2) {
+ ["basename"]=>
+ string(0) ""
+ ["filename"]=>
+ string(0) ""
+}
+string(0) ""
+string(0) ""
+string(0) ""
+string(0) ""
+-- Iteration 17 --
+array(4) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(11) "www.foo.com"
+ ["extension"]=>
+ string(3) "com"
+ ["filename"]=>
+ string(7) "www.foo"
+}
+string(1) "."
+string(11) "www.foo.com"
+string(3) "com"
+string(7) "www.foo"
+-- Iteration 18 --
+array(4) {
+ ["dirname"]=>
+ string(17) "/var/html/testdir"
+ ["basename"]=>
+ string(12) "example.html"
+ ["extension"]=>
+ string(4) "html"
+ ["filename"]=>
+ string(7) "example"
+}
+string(17) "/var/html/testdir"
+string(12) "example.html"
+string(4) "html"
+string(7) "example"
+-- Iteration 19 --
+array(3) {
+ ["dirname"]=>
+ string(12) "/testdir/foo"
+ ["basename"]=>
+ string(4) "test"
+ ["filename"]=>
+ string(4) "test"
+}
+string(12) "/testdir/foo"
+string(4) "test"
+string(0) ""
+string(4) "test"
+-- Iteration 20 --
+array(4) {
+ ["dirname"]=>
+ string(4) "/foo"
+ ["basename"]=>
+ string(12) "symlink.link"
+ ["extension"]=>
+ string(4) "link"
+ ["filename"]=>
+ string(7) "symlink"
+}
+string(4) "/foo"
+string(12) "symlink.link"
+string(4) "link"
+string(7) "symlink"
+-- Iteration 21 --
+array(3) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(5) "12345"
+ ["filename"]=>
+ string(5) "12345"
+}
+string(1) "."
+string(5) "12345"
+string(0) ""
+string(5) "12345"
+-- Iteration 22 --
+array(4) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(15) "www.example.com"
+ ["extension"]=>
+ string(3) "com"
+ ["filename"]=>
+ string(11) "www.example"
+}
+string(1) "."
+string(15) "www.example.com"
+string(3) "com"
+string(11) "www.example"
+-- Iteration 23 --
+array(3) {
+ ["dirname"]=>
+ string(12) "/testdir/foo"
+ ["basename"]=>
+ string(4) "test"
+ ["filename"]=>
+ string(4) "test"
+}
+string(12) "/testdir/foo"
+string(4) "test"
+string(0) ""
+string(4) "test"
+-- Iteration 24 --
+array(4) {
+ ["dirname"]=>
+ string(6) "../foo"
+ ["basename"]=>
+ string(9) "test.link"
+ ["extension"]=>
+ string(4) "link"
+ ["filename"]=>
+ string(4) "test"
+}
+string(6) "../foo"
+string(9) "test.link"
+string(4) "link"
+string(4) "test"
+-- Iteration 25 --
+array(4) {
+ ["dirname"]=>
+ string(76) "./test/work/scratch/mydir/yourdir/ourdir/test1/test2/test3/test4/test5/test6"
+ ["basename"]=>
+ string(8) "test.tmp"
+ ["extension"]=>
+ string(3) "tmp"
+ ["filename"]=>
+ string(4) "test"
+}
+string(76) "./test/work/scratch/mydir/yourdir/ourdir/test1/test2/test3/test4/test5/test6"
+string(8) "test.tmp"
+string(3) "tmp"
+string(4) "test"
+-- Iteration 26 --
+array(4) {
+ ["dirname"]=>
+ string(1) "."
+ ["basename"]=>
+ string(5) "2.345"
+ ["extension"]=>
+ string(3) "345"
+ ["filename"]=>
+ string(1) "2"
+}
+string(1) "."
+string(5) "2.345"
+string(3) "345"
+string(1) "2"
+Done