summaryrefslogtreecommitdiff
path: root/ext/standard/tests/file/basename.phpt
blob: 2b8507fa2d834cec7b4b80e26523e0327d0b387d (plain)
ofshex dumpascii
0000 2d 2d 54 45 53 54 2d 2d 0a 62 61 73 65 6e 61 6d 65 0a 2d 2d 43 52 45 44 49 54 53 2d 2d 0a 44 61 --TEST--.basename.--CREDITS--.Da
0020 76 65 20 4b 65 6c 73 65 79 20 3c 64 5f 6b 65 6c 73 65 79 40 75 6b 2e 69 62 6d 2e 63 6f 6d 3e 0a ve.Kelsey.<d_kelsey@uk.ibm.com>.
0040 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f 70 68 70 0a 2f 2a 0a 20 2a 20 46 75 6e 63 74 69 6f 6e 20 69 73 --FILE--.<?php./*..*.Function.is
0060 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 65 78 74 2f 73 74 61 6e 64 61 72 64 2f 73 74 72 .implemented.in.ext/standard/str
0080 69 6e 67 2e 63 0a 20 2a 2f 0a 24 66 69 6c 65 5f 70 61 74 68 73 20 3d 20 61 72 72 61 79 20 28 0a ing.c..*/.$file_paths.=.array.(.
00a0 20 20 2f 2a 20 73 69 6d 70 6c 65 20 70 61 74 68 73 20 2a 2f 0a 20 20 61 72 72 61 79 28 22 62 61 ../*.simple.paths.*/...array("ba
00c0 72 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2f 66 6f 6f 2f 62 61 72 22 29 2c 0a 20 20 61 72 72 61 r"),...array("/foo/bar"),...arra
00e0 79 28 22 66 6f 6f 2f 62 61 72 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2f 62 61 72 22 29 2c 0a 0a y("foo/bar"),...array("/bar"),..
0100 20 20 2f 2a 20 73 69 6d 70 6c 65 20 70 61 74 68 73 20 77 69 74 68 20 74 72 61 69 6c 69 6e 67 20 ../*.simple.paths.with.trailing.
0120 73 6c 61 73 68 65 73 20 2a 2f 0a 20 20 61 72 72 61 79 28 22 62 61 72 2f 22 29 2c 0a 20 20 61 72 slashes.*/...array("bar/"),...ar
0140 72 61 79 28 22 2f 62 61 72 2f 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2f 66 6f 6f 2f 62 61 72 2f ray("/bar/"),...array("/foo/bar/
0160 22 29 2c 0a 20 20 61 72 72 61 79 28 22 66 6f 6f 2f 62 61 72 2f 22 29 2c 0a 20 20 61 72 72 61 79 "),...array("foo/bar/"),...array
0180 28 22 2f 62 61 72 2f 22 29 2c 0a 0a 20 20 2f 2a 20 70 61 74 68 73 20 77 69 74 68 20 73 75 66 66 ("/bar/"),..../*.paths.with.suff
01a0 69 78 20 72 65 6d 6f 76 61 6c 20 2a 2f 0a 20 20 61 72 72 61 79 28 22 62 61 72 2e 67 7a 22 2c 20 ix.removal.*/...array("bar.gz",.
01c0 22 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 62 61 72 2e 67 7a 22 2c 20 22 62 61 72 2e 67 ".gz"),...array("bar.gz",."bar.g
01e0 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2f 66 6f 6f 2f 62 61 72 2e 67 7a 22 2c 20 22 2e 67 7a z"),...array("/foo/bar.gz",.".gz
0200 22 29 2c 0a 20 20 61 72 72 61 79 28 22 66 6f 6f 2f 62 61 72 2e 67 7a 22 2c 20 22 2e 67 7a 22 29 "),...array("foo/bar.gz",.".gz")
0220 2c 0a 20 20 61 72 72 61 79 28 22 2f 62 61 72 2e 67 7a 22 2c 20 22 2e 67 7a 22 29 2c 0a 0a 20 20 ,...array("/bar.gz",.".gz"),....
0240 2f 2a 20 70 61 74 68 73 20 77 69 74 68 20 73 75 66 66 69 78 20 61 6e 64 20 74 72 61 69 6c 69 6e /*.paths.with.suffix.and.trailin
0260 67 20 73 6c 61 73 68 65 73 20 77 69 74 68 20 73 75 66 66 69 78 20 72 65 6d 6f 76 61 6c 2a 2f 0a g.slashes.with.suffix.removal*/.
0280 20 20 61 72 72 61 79 28 22 62 61 72 2e 67 7a 2f 22 2c 20 22 2e 67 7a 22 29 2c 0a 20 20 61 72 72 ..array("bar.gz/",.".gz"),...arr
02a0 61 79 28 22 2f 62 61 72 2e 67 7a 2f 22 2c 20 22 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 ay("/bar.gz/",.".gz"),...array("
02c0 2f 66 6f 6f 2f 62 61 72 2e 67 7a 2f 22 2c 20 22 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 /foo/bar.gz/",.".gz"),...array("
02e0 66 6f 6f 2f 62 61 72 2e 67 7a 2f 22 2c 20 22 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2f foo/bar.gz/",.".gz"),...array("/
0300 62 61 72 2e 67 7a 2f 22 2c 20 22 2e 67 7a 22 29 2c 0a 0a 20 20 2f 2a 20 70 61 74 68 73 20 77 69 bar.gz/",.".gz"),..../*.paths.wi
0320 74 68 20 62 61 73 65 6e 61 6d 65 20 6f 6e 6c 79 20 73 75 66 66 69 78 2c 20 77 69 74 68 20 73 75 th.basename.only.suffix,.with.su
0340 66 66 69 78 20 72 65 6d 6f 76 61 6c 2a 2f 0a 20 20 61 72 72 61 79 28 22 2f 2e 67 7a 22 2c 20 22 ffix.removal*/...array("/.gz",."
0360 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2e 67 7a 22 2c 20 22 2e 67 7a 22 29 2c 0a 20 20 .gz"),...array(".gz",.".gz"),...
0380 61 72 72 61 79 28 22 2f 66 6f 6f 2f 2e 67 7a 22 2c 20 22 2e 67 7a 22 29 2c 0a 0a 20 20 2f 2a 20 array("/foo/.gz",.".gz"),..../*.
03a0 70 61 74 68 73 20 77 69 74 68 20 62 61 73 65 6e 61 6d 65 20 6f 6e 6c 79 20 73 75 66 66 69 78 20 paths.with.basename.only.suffix.
03c0 26 20 74 72 61 69 6c 69 6e 67 20 73 6c 61 73 68 65 73 2c 20 77 69 74 68 20 73 75 66 66 69 78 20 &.trailing.slashes,.with.suffix.
03e0 72 65 6d 6f 76 61 6c 2a 2f 0a 20 20 61 72 72 61 79 28 22 2e 67 7a 2f 22 2c 20 22 2e 67 7a 22 29 removal*/...array(".gz/",.".gz")
0400 2c 0a 20 20 61 72 72 61 79 28 22 2f 66 6f 6f 2f 2e 67 7a 2f 22 2c 20 22 2e 67 7a 22 29 2c 0a 20 ,...array("/foo/.gz/",.".gz"),..
0420 20 61 72 72 61 79 28 22 66 6f 6f 2f 2e 67 7a 2f 22 2c 20 22 2e 67 7a 22 29 2c 0a 0a 20 20 2f 2a .array("foo/.gz/",.".gz"),..../*
0440 20 70 61 74 68 73 20 77 69 74 68 20 62 69 6e 61 72 79 20 76 61 6c 75 65 20 74 6f 20 63 68 65 63 .paths.with.binary.value.to.chec
0460 6b 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 62 69 6e 61 72 79 20 73 61 66 65 k.if.the.function.is.binary.safe
0480 2a 2f 0a 20 20 61 72 72 61 79 28 22 66 6f 6f 22 2e 63 68 72 28 30 29 2e 22 62 61 72 22 29 2c 0a */...array("foo".chr(0)."bar"),.
04a0 20 20 61 72 72 61 79 28 22 2f 66 6f 6f 22 2e 63 68 72 28 30 29 2e 22 62 61 72 22 29 2c 0a 20 20 ..array("/foo".chr(0)."bar"),...
04c0 61 72 72 61 79 28 22 2f 66 6f 6f 22 2e 63 68 72 28 30 29 2e 22 62 61 72 2f 22 29 2c 0a 20 20 61 array("/foo".chr(0)."bar/"),...a
04e0 72 72 61 79 28 22 66 6f 6f 22 2e 63 68 72 28 30 29 2e 22 62 61 72 2f 22 29 2c 0a 20 20 61 72 72 rray("foo".chr(0)."bar/"),...arr
0500 61 79 28 22 66 6f 6f 22 2e 63 68 72 28 30 29 2e 22 62 61 72 2f 74 65 73 74 22 29 2c 0a 20 20 61 ay("foo".chr(0)."bar/test"),...a
0520 72 72 61 79 28 22 2f 66 6f 6f 22 2e 63 68 72 28 30 29 2e 22 62 61 72 2f 62 61 72 2e 67 7a 22 2c rray("/foo".chr(0)."bar/bar.gz",
0540 20 22 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2f 66 6f 6f 22 2e 63 68 72 28 30 29 2e 22 .".gz"),...array("/foo".chr(0)."
0560 62 61 72 2f 62 61 72 2e 67 7a 22 29 0a 29 3b 0a 0a 24 66 69 6c 65 5f 70 61 74 68 5f 76 61 72 69 bar/bar.gz").);..$file_path_vari
0580 61 74 69 6f 6e 73 20 3d 20 61 72 72 61 79 20 28 0a 20 20 2f 2a 20 70 61 74 68 73 20 77 69 74 68 ations.=.array.(.../*.paths.with
05a0 20 73 68 6f 72 74 63 75 74 20 68 6f 6d 65 20 64 69 72 20 63 68 61 72 2c 20 77 69 74 68 20 73 75 .shortcut.home.dir.char,.with.su
05c0 66 66 69 78 20 76 61 72 69 61 74 69 6f 6e 20 2a 2f 0a 20 20 61 72 72 61 79 28 22 7e 2f 68 6f 6d ffix.variation.*/...array("~/hom
05e0 65 2f 75 73 65 72 2f 62 61 72 22 29 2c 0a 20 20 61 72 72 61 79 28 22 7e 2f 68 6f 6d 65 2f 75 73 e/user/bar"),...array("~/home/us
0600 65 72 2f 62 61 72 22 2c 20 22 22 29 2c 0a 20 20 61 72 72 61 79 28 22 7e 2f 68 6f 6d 65 2f 75 73 er/bar",.""),...array("~/home/us
0620 65 72 2f 62 61 72 22 2c 20 4e 55 4c 4c 29 2c 0a 20 20 61 72 72 61 79 28 22 7e 2f 68 6f 6d 65 2f er/bar",.NULL),...array("~/home/
0640 75 73 65 72 2f 62 61 72 22 2c 20 27 20 27 29 2c 0a 20 20 61 72 72 61 79 28 22 7e 2f 68 6f 6d 65 user/bar",.'.'),...array("~/home
0660 2f 75 73 65 72 2f 62 61 72 2e 74 61 72 22 2c 20 22 2e 74 61 72 22 29 2c 0a 20 20 61 72 72 61 79 /user/bar.tar",.".tar"),...array
0680 28 22 7e 2f 68 6f 6d 65 2f 75 73 65 72 2f 62 61 72 2e 74 61 72 22 2c 20 22 7e 22 29 2c 0a 20 20 ("~/home/user/bar.tar",."~"),...
06a0 61 72 72 61 79 28 22 7e 2f 68 6f 6d 65 2f 75 73 65 72 2f 62 61 72 2e 74 61 72 2f 22 2c 20 22 7e array("~/home/user/bar.tar/",."~
06c0 22 29 2c 0a 20 20 61 72 72 61 79 28 22 7e 2f 68 6f 6d 65 2f 75 73 65 72 2f 62 61 72 2e 74 61 72 "),...array("~/home/user/bar.tar
06e0 2f 22 2c 20 22 22 29 2c 0a 20 20 61 72 72 61 79 28 22 7e 2f 68 6f 6d 65 2f 75 73 65 72 2f 62 61 /",.""),...array("~/home/user/ba
0700 72 2e 74 61 72 22 2c 20 4e 55 4c 4c 29 2c 0a 20 20 61 72 72 61 79 28 22 7e 2f 68 6f 6d 65 2f 75 r.tar",.NULL),...array("~/home/u
0720 73 65 72 2f 62 61 72 2e 74 61 72 22 2c 20 27 27 29 2c 0a 20 20 61 72 72 61 79 28 22 7e 2f 68 6f ser/bar.tar",.''),...array("~/ho
0740 6d 65 2f 75 73 65 72 2f 62 61 72 2e 74 61 72 22 2c 20 22 20 22 29 2c 0a 0a 20 20 2f 2a 20 70 61 me/user/bar.tar",."."),..../*.pa
0760 74 68 73 20 77 69 74 68 20 68 6f 73 74 6e 61 6d 65 3a 64 69 72 20 6e 6f 74 61 74 69 6f 6e 2c 20 ths.with.hostname:dir.notation,.
0780 77 69 74 68 20 73 75 66 66 69 78 20 76 61 72 69 61 74 69 6f 6e 20 2a 2f 0a 20 20 61 72 72 61 79 with.suffix.variation.*/...array
07a0 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 72 2f 62 61 72 2e 74 61 72 22 29 2c 0a ("hostname:/home/usr/bar.tar"),.
07c0 20 20 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f 62 61 72 ..array("hostname:/home/user/bar
07e0 2e 74 61 72 22 2c 20 22 68 6f 6d 65 22 29 2c 0a 20 20 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d .tar",."home"),...array("hostnam
0800 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f 74 62 61 72 2e 67 7a 22 2c 20 22 62 61 72 2e 67 7a 22 29 e:/home/user/tbar.gz",."bar.gz")
0820 2c 0a 20 20 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f 74 ,...array("hostname:/home/user/t
0840 62 61 72 2e 67 7a 22 2c 20 22 2f 62 61 72 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 68 6f bar.gz",."/bar.gz"),...array("ho
0860 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f 74 62 61 72 2e 67 7a 22 2c 20 22 2f 62 61 stname:/home/user/tbar.gz",."/ba
0880 72 2e 67 7a 2f 22 29 2c 0a 20 20 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 r.gz/"),...array("hostname:/home
08a0 2f 75 73 65 72 2f 74 62 61 72 2e 67 7a 2f 22 2c 20 22 2f 62 61 72 2e 67 7a 2f 22 29 2c 0a 20 20 /user/tbar.gz/",."/bar.gz/"),...
08c0 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f 74 62 61 72 2e array("hostname:/home/user/tbar.
08e0 67 7a 2f 22 2c 20 22 2f 62 61 72 2e 67 7a 2f 22 29 2c 0a 20 20 61 72 72 61 79 28 22 68 6f 73 74 gz/",."/bar.gz/"),...array("host
0900 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f 4d 79 20 50 69 63 73 2e 67 7a 2f 22 2c 20 22 2f name:/home/user/My.Pics.gz/",."/
0920 62 61 72 2e 67 7a 2f 22 29 2c 0a 20 20 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f bar.gz/"),...array("hostname:/ho
0940 6d 65 2f 75 73 65 72 2f 4d 79 20 50 69 63 73 2e 67 7a 2f 22 2c 20 22 50 69 63 73 2e 67 7a 2f 22 me/user/My.Pics.gz/",."Pics.gz/"
0960 29 2c 0a 20 20 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f ),...array("hostname:/home/user/
0980 4d 79 20 50 69 63 73 2e 67 7a 2f 22 2c 20 22 50 69 63 73 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 My.Pics.gz/",."Pics.gz"),...arra
09a0 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f 4d 79 20 50 69 63 73 2e 67 y("hostname:/home/user/My.Pics.g
09c0 7a 2f 22 2c 20 22 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f z/",.".gz"),...array("hostname:/
09e0 68 6f 6d 65 2f 75 73 65 72 2f 4d 79 20 50 69 63 73 2e 67 7a 2f 22 29 2c 0a 20 20 61 72 72 61 79 home/user/My.Pics.gz/"),...array
0a00 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f 4d 79 20 50 69 63 73 2e 67 7a ("hostname:/home/user/My.Pics.gz
0a20 2f 22 2c 20 4e 55 4c 4c 29 2c 0a 20 20 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f /",.NULL),...array("hostname:/ho
0a40 6d 65 2f 75 73 65 72 2f 4d 79 20 50 69 63 73 2e 67 7a 2f 22 2c 20 27 20 27 29 2c 0a 20 20 61 72 me/user/My.Pics.gz/",.'.'),...ar
0a60 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 6f 6d 65 2f 75 73 65 72 2f 4d 79 20 50 69 63 73 ray("hostname:/home/user/My.Pics
0a80 2e 67 7a 2f 22 2c 20 27 27 29 2c 0a 20 20 61 72 72 61 79 28 22 68 6f 73 74 6e 61 6d 65 3a 2f 68 .gz/",.''),...array("hostname:/h
0aa0 6f 6d 65 2f 75 73 65 72 2f 4d 79 20 50 69 63 73 2e 67 7a 2f 22 2c 20 22 4d 79 20 50 69 63 73 2e ome/user/My.Pics.gz/",."My.Pics.
0ac0 67 7a 22 29 2c 0a 0a 20 20 2f 2a 20 70 61 74 68 73 20 77 69 74 68 20 6e 75 6d 65 69 72 63 20 73 gz"),..../*.paths.with.numeirc.s
0ae0 74 72 69 6e 67 73 20 2a 2f 0a 20 20 61 72 72 61 79 28 22 31 30 2e 35 22 29 2c 0a 20 20 61 72 72 trings.*/...array("10.5"),...arr
0b00 61 79 28 22 31 30 2e 35 22 2c 20 22 2e 35 22 29 2c 0a 20 20 61 72 72 61 79 28 22 31 30 2e 35 22 ay("10.5",.".5"),...array("10.5"
0b20 2c 20 22 31 30 2e 35 22 29 2c 0a 20 20 61 72 72 61 79 28 22 31 30 22 29 2c 0a 20 20 61 72 72 61 ,."10.5"),...array("10"),...arra
0b40 79 28 22 31 30 35 22 2c 20 22 35 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2f 31 30 2e 35 22 29 2c y("105",."5"),...array("/10.5"),
0b60 0a 20 20 61 72 72 61 79 28 22 31 30 2e 35 2f 22 29 2c 0a 20 20 61 72 72 61 79 28 22 31 30 2f 31 ...array("10.5/"),...array("10/1
0b80 30 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 30 22 29 2c 0a 20 20 61 72 72 61 79 28 27 30 0.gz"),...array("0"),...array('0
0ba0 27 29 2c 0a 0a 20 20 2f 2a 20 70 61 74 68 73 20 61 6e 64 20 73 75 66 66 69 78 20 67 69 76 65 6e '),..../*.paths.and.suffix.given
0bc0 20 61 73 20 73 61 6d 65 20 2a 2f 0a 20 20 61 72 72 61 79 28 22 62 61 72 2e 67 7a 22 2c 20 22 62 .as.same.*/...array("bar.gz",."b
0be0 61 72 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2f 62 61 72 2e 67 7a 22 2c 20 22 2f 62 61 ar.gz"),...array("/bar.gz",."/ba
0c00 72 2e 67 7a 22 29 2c 0a 20 20 61 72 72 61 79 28 22 2f 62 61 72 2e 67 7a 2f 22 2c 20 22 2f 62 61 r.gz"),...array("/bar.gz/",."/ba
0c20 72 2e 67 7a 2f 22 29 2c 0a 20 20 61 72 72 61 79 28 22 20 22 2c 20 22 20 22 29 2c 0a 20 20 61 72 r.gz/"),...array(".",."."),...ar
0c40 72 61 79 28 27 20 27 2c 20 27 20 27 29 2c 0a 20 20 61 72 72 61 79 28 4e 55 4c 4c 2c 20 4e 55 4c ray('.',.'.'),...array(NULL,.NUL
0c60 4c 29 2c 0a 0a 20 20 2f 2a 20 70 61 74 68 20 77 69 74 68 20 73 70 61 63 65 73 20 2a 2f 0a 20 20 L),..../*.path.with.spaces.*/...
0c80 61 72 72 61 79 28 22 20 22 29 2c 0a 20 20 61 72 72 61 79 28 27 20 27 29 2c 0a 0a 20 20 2f 2a 20 array("."),...array('.'),..../*.
0ca0 65 6d 70 74 79 20 70 61 74 68 73 20 2a 2f 0a 20 20 61 72 72 61 79 28 22 22 29 2c 0a 20 20 61 72 empty.paths.*/...array(""),...ar
0cc0 72 61 79 28 27 27 29 2c 0a 20 20 61 72 72 61 79 28 4e 55 4c 4c 29 0a 29 3b 0a 0a 66 75 6e 63 74 ray(''),...array(NULL).);..funct
0ce0 69 6f 6e 20 63 68 65 63 6b 5f 62 61 73 65 6e 61 6d 65 28 20 24 70 61 74 68 5f 61 72 72 61 79 73 ion.check_basename(.$path_arrays
0d00 20 29 20 7b 0a 20 20 20 24 6c 6f 6f 70 5f 63 6f 75 6e 74 65 72 20 3d 20 31 3b 0a 20 20 20 66 6f .).{....$loop_counter.=.1;....fo
0d20 72 65 61 63 68 20 28 24 70 61 74 68 5f 61 72 72 61 79 73 20 61 73 20 24 70 61 74 68 29 20 7b 0a reach.($path_arrays.as.$path).{.
0d40 20 20 20 20 20 65 63 68 6f 20 22 5c 6e 2d 2d 49 74 65 72 61 74 69 6f 6e 20 24 6c 6f 6f 70 5f 63 .....echo."\n--Iteration.$loop_c
0d60 6f 75 6e 74 65 72 2d 2d 5c 6e 22 3b 20 24 6c 6f 6f 70 5f 63 6f 75 6e 74 65 72 2b 2b 3b 0a 20 20 ounter--\n";.$loop_counter++;...
0d80 20 20 20 69 66 28 20 31 20 3d 3d 20 63 6f 75 6e 74 28 24 70 61 74 68 29 20 29 20 7b 20 2f 2f 20 ...if(.1.==.count($path).).{.//.
0da0 6e 6f 20 73 75 66 66 69 78 20 70 72 6f 76 69 64 65 64 0a 20 20 20 20 20 20 20 76 61 72 5f 64 75 no.suffix.provided........var_du
0dc0 6d 70 28 20 62 61 73 65 6e 61 6d 65 28 24 70 61 74 68 5b 30 5d 29 20 29 3b 0a 20 20 20 20 20 7d mp(.basename($path[0]).);......}
0de0 20 65 6c 73 65 20 7b 20 2f 2f 20 70 61 74 68 20 61 73 20 77 65 6c 6c 20 61 73 20 73 75 66 66 69 .else.{.//.path.as.well.as.suffi
0e00 78 20 70 72 6f 76 69 64 65 64 2c 0a 20 20 20 20 20 20 20 76 61 72 5f 64 75 6d 70 28 20 62 61 73 x.provided,........var_dump(.bas
0e20 65 6e 61 6d 65 28 24 70 61 74 68 5b 30 5d 2c 20 24 70 61 74 68 5b 31 5d 29 20 29 3b 0a 20 20 20 ename($path[0],.$path[1]).);....
0e40 20 20 7d 0a 20 20 20 7d 0a 7d 0a 0a 65 63 68 6f 20 22 2a 2a 2a 20 54 65 73 74 69 6e 67 20 62 61 ..}....}.}..echo."***.Testing.ba
0e60 73 69 63 20 6f 70 65 72 61 74 69 6f 6e 73 20 2a 2a 2a 5c 6e 22 3b 0a 63 68 65 63 6b 5f 62 61 73 sic.operations.***\n";.check_bas
0e80 65 6e 61 6d 65 28 20 24 66 69 6c 65 5f 70 61 74 68 73 20 29 3b 0a 0a 65 63 68 6f 20 22 5c 6e 2a ename(.$file_paths.);..echo."\n*
0ea0 2a 2a 20 54 65 73 74 69 6e 67 20 70 6f 73 73 69 62 6c 65 20 76 61 72 69 61 74 69 6f 6e 73 20 69 **.Testing.possible.variations.i
0ec0 6e 20 70 61 74 68 20 61 6e 64 20 73 75 66 66 69 78 20 2a 2a 2a 5c 6e 22 3b 0a 63 68 65 63 6b 5f n.path.and.suffix.***\n";.check_
0ee0 62 61 73 65 6e 61 6d 65 28 20 24 66 69 6c 65 5f 70 61 74 68 5f 76 61 72 69 61 74 69 6f 6e 73 20 basename(.$file_path_variations.
0f00 29 3b 0a 0a 65 63 68 6f 20 22 44 6f 6e 65 5c 6e 22 3b 0a 3f 3e 0a 2d 2d 45 58 50 45 43 54 2d 2d );..echo."Done\n";.?>.--EXPECT--
0f20 0a 2a 2a 2a 20 54 65 73 74 69 6e 67 20 62 61 73 69 63 20 6f 70 65 72 61 74 69 6f 6e 73 20 2a 2a .***.Testing.basic.operations.**
0f40 2a 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 61 *..--Iteration.1--.string(3)."ba
0f60 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 r"..--Iteration.2--.string(3)."b
0f80 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 ar"..--Iteration.3--.string(3)."
0fa0 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 34 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 bar"..--Iteration.4--.string(3).
0fc0 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 35 2d 2d 0a 73 74 72 69 6e 67 28 33 29 "bar"..--Iteration.5--.string(3)
0fe0 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 36 2d 2d 0a 73 74 72 69 6e 67 28 33 ."bar"..--Iteration.6--.string(3
1000 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 37 2d 2d 0a 73 74 72 69 6e 67 28 )."bar"..--Iteration.7--.string(
1020 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 38 2d 2d 0a 73 74 72 69 6e 67 3)."bar"..--Iteration.8--.string
1040 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 39 2d 2d 0a 73 74 72 69 6e (3)."bar"..--Iteration.9--.strin
1060 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 30 2d 2d 0a 73 74 72 g(3)."bar"..--Iteration.10--.str
1080 69 6e 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 31 2d 2d 0a 73 ing(3)."bar"..--Iteration.11--.s
10a0 74 72 69 6e 67 28 36 29 20 22 62 61 72 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 tring(6)."bar.gz"..--Iteration.1
10c0 32 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 2--.string(3)."bar"..--Iteration
10e0 20 31 33 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 .13--.string(3)."bar"..--Iterati
1100 6f 6e 20 31 34 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 on.14--.string(3)."bar"..--Itera
1120 74 69 6f 6e 20 31 35 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 tion.15--.string(3)."bar"..--Ite
1140 72 61 74 69 6f 6e 20 31 36 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 ration.16--.string(3)."bar"..--I
1160 74 65 72 61 74 69 6f 6e 20 31 37 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 61 72 22 0a 0a 2d teration.17--.string(3)."bar"..-
1180 2d 49 74 65 72 61 74 69 6f 6e 20 31 38 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 61 72 22 0a -Iteration.18--.string(3)."bar".
11a0 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 39 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 62 61 72 .--Iteration.19--.string(3)."bar
11c0 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 30 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 22 2e "..--Iteration.20--.string(3).".
11e0 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 31 2d 2d 0a 73 74 72 69 6e 67 28 33 29 20 gz"..--Iteration.21--.string(3).
1200 22 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 32 2d 2d 0a 73 74 72 69 6e 67 28 33 ".gz"..--Iteration.22--.string(3
1220 29 20 22 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 33 2d 2d 0a 73 74 72 69 6e 67 ).".gz"..--Iteration.23--.string
1240 28 33 29 20 22 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 34 2d 2d 0a 73 74 72 69 (3).".gz"..--Iteration.24--.stri
1260 6e 67 28 33 29 20 22 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 35 2d 2d 0a 73 74 ng(3).".gz"..--Iteration.25--.st
1280 72 69 6e 67 28 33 29 20 22 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 36 2d 2d 0a ring(3).".gz"..--Iteration.26--.
12a0 73 74 72 69 6e 67 28 37 29 20 22 66 6f 6f 00 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e string(7)."foo.bar"..--Iteration
12c0 20 32 37 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 66 6f 6f 00 62 61 72 22 0a 0a 2d 2d 49 74 65 .27--.string(7)."foo.bar"..--Ite
12e0 72 61 74 69 6f 6e 20 32 38 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 66 6f 6f 00 62 61 72 22 0a ration.28--.string(7)."foo.bar".
1300 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 39 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 66 6f 6f .--Iteration.29--.string(7)."foo
1320 00 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 30 2d 2d 0a 73 74 72 69 6e 67 28 34 .bar"..--Iteration.30--.string(4
1340 29 20 22 74 65 73 74 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 31 2d 2d 0a 73 74 72 69 6e )."test"..--Iteration.31--.strin
1360 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 32 2d 2d 0a 73 74 72 g(3)."bar"..--Iteration.32--.str
1380 69 6e 67 28 36 29 20 22 62 61 72 2e 67 7a 22 0a 0a 2a 2a 2a 20 54 65 73 74 69 6e 67 20 70 6f 73 ing(6)."bar.gz"..***.Testing.pos
13a0 73 69 62 6c 65 20 76 61 72 69 61 74 69 6f 6e 73 20 69 6e 20 70 61 74 68 20 61 6e 64 20 73 75 66 sible.variations.in.path.and.suf
13c0 66 69 78 20 2a 2a 2a 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 2d 2d 0a 73 74 72 69 6e 67 28 fix.***..--Iteration.1--.string(
13e0 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 2d 2d 0a 73 74 72 69 6e 67 3)."bar"..--Iteration.2--.string
1400 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 2d 2d 0a 73 74 72 69 6e (3)."bar"..--Iteration.3--.strin
1420 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 34 2d 2d 0a 73 74 72 69 g(3)."bar"..--Iteration.4--.stri
1440 6e 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 35 2d 2d 0a 73 74 72 ng(3)."bar"..--Iteration.5--.str
1460 69 6e 67 28 33 29 20 22 62 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 36 2d 2d 0a 73 74 ing(3)."bar"..--Iteration.6--.st
1480 72 69 6e 67 28 37 29 20 22 62 61 72 2e 74 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 37 ring(7)."bar.tar"..--Iteration.7
14a0 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 62 61 72 2e 74 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 --.string(7)."bar.tar"..--Iterat
14c0 69 6f 6e 20 38 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 62 61 72 2e 74 61 72 22 0a 0a 2d 2d 49 ion.8--.string(7)."bar.tar"..--I
14e0 74 65 72 61 74 69 6f 6e 20 39 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 62 61 72 2e 74 61 72 22 teration.9--.string(7)."bar.tar"
1500 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 30 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 62 61 ..--Iteration.10--.string(7)."ba
1520 72 2e 74 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 31 2d 2d 0a 73 74 72 69 6e 67 28 r.tar"..--Iteration.11--.string(
1540 37 29 20 22 62 61 72 2e 74 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 32 2d 2d 0a 73 7)."bar.tar"..--Iteration.12--.s
1560 74 72 69 6e 67 28 37 29 20 22 62 61 72 2e 74 61 72 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 tring(7)."bar.tar"..--Iteration.
1580 31 33 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 62 61 72 2e 74 61 72 22 0a 0a 2d 2d 49 74 65 72 13--.string(7)."bar.tar"..--Iter
15a0 61 74 69 6f 6e 20 31 34 2d 2d 0a 73 74 72 69 6e 67 28 31 29 20 22 74 22 0a 0a 2d 2d 49 74 65 72 ation.14--.string(1)."t"..--Iter
15c0 61 74 69 6f 6e 20 31 35 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 74 62 61 72 2e 67 7a 22 0a 0a ation.15--.string(7)."tbar.gz"..
15e0 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 36 2d 2d 0a 73 74 72 69 6e 67 28 37 29 20 22 74 62 61 72 --Iteration.16--.string(7)."tbar
1600 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 37 2d 2d 0a 73 74 72 69 6e 67 28 37 29 .gz"..--Iteration.17--.string(7)
1620 20 22 74 62 61 72 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 38 2d 2d 0a 73 74 72 ."tbar.gz"..--Iteration.18--.str
1640 69 6e 67 28 37 29 20 22 74 62 61 72 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 31 39 ing(7)."tbar.gz"..--Iteration.19
1660 2d 2d 0a 73 74 72 69 6e 67 28 31 30 29 20 22 4d 79 20 50 69 63 73 2e 67 7a 22 0a 0a 2d 2d 49 74 --.string(10)."My.Pics.gz"..--It
1680 65 72 61 74 69 6f 6e 20 32 30 2d 2d 0a 73 74 72 69 6e 67 28 31 30 29 20 22 4d 79 20 50 69 63 73 eration.20--.string(10)."My.Pics
16a0 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 31 2d 2d 0a 73 74 72 69 6e 67 28 33 29 .gz"..--Iteration.21--.string(3)
16c0 20 22 4d 79 20 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 32 2d 2d 0a 73 74 72 69 6e 67 28 ."My."..--Iteration.22--.string(
16e0 37 29 20 22 4d 79 20 50 69 63 73 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 33 2d 2d 0a 73 7)."My.Pics"..--Iteration.23--.s
1700 74 72 69 6e 67 28 31 30 29 20 22 4d 79 20 50 69 63 73 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 tring(10)."My.Pics.gz"..--Iterat
1720 69 6f 6e 20 32 34 2d 2d 0a 73 74 72 69 6e 67 28 31 30 29 20 22 4d 79 20 50 69 63 73 2e 67 7a 22 ion.24--.string(10)."My.Pics.gz"
1740 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 35 2d 2d 0a 73 74 72 69 6e 67 28 31 30 29 20 22 4d ..--Iteration.25--.string(10)."M
1760 79 20 50 69 63 73 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 36 2d 2d 0a 73 74 72 y.Pics.gz"..--Iteration.26--.str
1780 69 6e 67 28 31 30 29 20 22 4d 79 20 50 69 63 73 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f ing(10)."My.Pics.gz"..--Iteratio
17a0 6e 20 32 37 2d 2d 0a 73 74 72 69 6e 67 28 31 30 29 20 22 4d 79 20 50 69 63 73 2e 67 7a 22 0a 0a n.27--.string(10)."My.Pics.gz"..
17c0 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 38 2d 2d 0a 73 74 72 69 6e 67 28 34 29 20 22 31 30 2e 35 --Iteration.28--.string(4)."10.5
17e0 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 32 39 2d 2d 0a 73 74 72 69 6e 67 28 32 29 20 22 31 "..--Iteration.29--.string(2)."1
1800 30 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 30 2d 2d 0a 73 74 72 69 6e 67 28 34 29 20 22 0"..--Iteration.30--.string(4)."
1820 31 30 2e 35 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 31 2d 2d 0a 73 74 72 69 6e 67 28 32 10.5"..--Iteration.31--.string(2
1840 29 20 22 31 30 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 32 2d 2d 0a 73 74 72 69 6e 67 28 )."10"..--Iteration.32--.string(
1860 32 29 20 22 31 30 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 33 2d 2d 0a 73 74 72 69 6e 67 2)."10"..--Iteration.33--.string
1880 28 34 29 20 22 31 30 2e 35 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 34 2d 2d 0a 73 74 72 (4)."10.5"..--Iteration.34--.str
18a0 69 6e 67 28 34 29 20 22 31 30 2e 35 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 35 2d 2d 0a ing(4)."10.5"..--Iteration.35--.
18c0 73 74 72 69 6e 67 28 35 29 20 22 31 30 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 string(5)."10.gz"..--Iteration.3
18e0 36 2d 2d 0a 73 74 72 69 6e 67 28 31 29 20 22 30 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 6--.string(1)."0"..--Iteration.3
1900 37 2d 2d 0a 73 74 72 69 6e 67 28 31 29 20 22 30 22 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 33 7--.string(1)."0"..--Iteration.3
1920 38 2d 2d 0a 73 74 72 69 6e 67 28 36 29 20 22 62 61 72 2e 67 7a 22 0a 0a 2d 2d 49 74 65 72 61 74 8--.string(6)."bar.gz"..--Iterat
1940 69 6f 6e 20 33 39 2d 2d 0a 73 74 72 69 6e 67 28 36 29 20 22 62 61 72 2e 67 7a 22 0a 0a 2d 2d 49 ion.39--.string(6)."bar.gz"..--I
1960 74 65 72 61 74 69 6f 6e 20 34 30 2d 2d 0a 73 74 72 69 6e 67 28 36 29 20 22 62 61 72 2e 67 7a 22 teration.40--.string(6)."bar.gz"
1980 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 34 31 2d 2d 0a 73 74 72 69 6e 67 28 31 29 20 22 20 22 ..--Iteration.41--.string(1)."."
19a0 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 34 32 2d 2d 0a 73 74 72 69 6e 67 28 31 29 20 22 20 22 ..--Iteration.42--.string(1)."."
19c0 0a 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 34 33 2d 2d 0a 73 74 72 69 6e 67 28 30 29 20 22 22 0a ..--Iteration.43--.string(0)."".
19e0 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 34 34 2d 2d 0a 73 74 72 69 6e 67 28 31 29 20 22 20 22 0a .--Iteration.44--.string(1).".".
1a00 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 34 35 2d 2d 0a 73 74 72 69 6e 67 28 31 29 20 22 20 22 0a .--Iteration.45--.string(1).".".
1a20 0a 2d 2d 49 74 65 72 61 74 69 6f 6e 20 34 36 2d 2d 0a 73 74 72 69 6e 67 28 30 29 20 22 22 0a 0a .--Iteration.46--.string(0).""..
1a40 2d 2d 49 74 65 72 61 74 69 6f 6e 20 34 37 2d 2d 0a 73 74 72 69 6e 67 28 30 29 20 22 22 0a 0a 2d --Iteration.47--.string(0).""..-
1a60 2d 49 74 65 72 61 74 69 6f 6e 20 34 38 2d 2d 0a 73 74 72 69 6e 67 28 30 29 20 22 22 0a 44 6f 6e -Iteration.48--.string(0)."".Don
1a80 65 0a e.