summaryrefslogtreecommitdiff
path: root/ext/standard/tests/strings/dirname_variation.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/strings/dirname_variation.phpt')
-rw-r--r--ext/standard/tests/strings/dirname_variation.phpt143
1 files changed, 143 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/dirname_variation.phpt b/ext/standard/tests/strings/dirname_variation.phpt
new file mode 100644
index 0000000000..da66f0fc55
--- /dev/null
+++ b/ext/standard/tests/strings/dirname_variation.phpt
@@ -0,0 +1,143 @@
+--TEST--
+Test dirname() function : usage variations
+--FILE--
+<?php
+/* Prototype: string dirname ( string $path );
+ Description: Returns directory name component of path.
+*/
+class temp
+{
+ function __toString() {
+ return "Object";
+ }
+}
+
+$file_path_variations = array (
+ /* home dir shortcut char */
+ "~/home/user/bar",
+ "~/home/user/bar/",
+ "~/home/user/bar.tar",
+ "~/home/user/bar.tar/",
+
+ /* with hotname:dir notation */
+ "hostname:/home/user/bar.tar",
+ "hostname:/home/user/tbar.gz/",
+ "hostname:/home/user/My Pics.gz",
+ "hostname:/home/user/My Pics.gz/",
+ "hostname:/home/user/My Pics/",
+ "hostname:/home/user/My Pics",
+
+ /* path containing numeric string */
+ "10.5",
+ "/10.5",
+ "/10.5/",
+ "10.5/",
+ "10/10.gz",
+ '0',
+ "0",
+
+ /* object */
+ new temp,
+
+ /* path as spaces */
+ " ",
+ ' ',
+
+ /* empty path */
+ "",
+ '',
+ NULL,
+ null
+);
+
+function check_dirname( $paths ) {
+ $loop_counter = 0;
+ $noOfPaths = count($paths);
+ for( ; $loop_counter < $noOfPaths; $loop_counter++ ) {
+ echo "\n--Iteration ";
+ echo $loop_counter +1;
+ echo " --\n";
+ var_dump( dirname($paths[$loop_counter]) );
+ }
+}
+
+echo "*** Testing possible variations in path ***\n";
+check_dirname( $file_path_variations );
+
+echo "Done\n";
+?>
+--EXPECTREGEX--
+\*\*\* Testing possible variations in path \*\*\*
+
+--Iteration 1 --
+string\(11\) "~(\\|\/)home(\\|\/)user"
+
+--Iteration 2 --
+string\(11\) "~(\\|\/)home(\\|\/)user"
+
+--Iteration 3 --
+string\(11\) "~(\\|\/)home(\\|\/)user"
+
+--Iteration 4 --
+string\(11\) "~(\\|\/)home(\\|\/)user"
+
+--Iteration 5 --
+string\(19\) "hostname:(\\|\/)home(\\|\/)user"
+
+--Iteration 6 --
+string\(19\) "hostname:(\\|\/)home(\\|\/)user"
+
+--Iteration 7 --
+string\(19\) "hostname:(\\|\/)home(\\|\/)user"
+
+--Iteration 8 --
+string\(19\) "hostname:(\\|\/)home(\\|\/)user"
+
+--Iteration 9 --
+string\(19\) "hostname:(\\|\/)home(\\|\/)user"
+
+--Iteration 10 --
+string\(19\) "hostname:(\\|\/)home(\\|\/)user"
+
+--Iteration 11 --
+string\(1\) "."
+
+--Iteration 12 --
+string\(1\) "(\\|\/)"
+
+--Iteration 13 --
+string\(1\) "(\\|\/)"
+
+--Iteration 14 --
+string\(1\) "."
+
+--Iteration 15 --
+string\(2\) "10"
+
+--Iteration 16 --
+string\(1\) "."
+
+--Iteration 17 --
+string\(1\) "."
+
+--Iteration 18 --
+string\(1\) "."
+
+--Iteration 19 --
+string\(1\) "."
+
+--Iteration 20 --
+string\(1\) "."
+
+--Iteration 21 --
+string\(0\) ""
+
+--Iteration 22 --
+string\(0\) ""
+
+--Iteration 23 --
+string\(0\) ""
+
+--Iteration 24 --
+string\(0\) ""
+Done \ No newline at end of file