diff --git a/Tests/fileTest.php b/Tests/fileTest.php index 84999c1..def6ad1 100644 --- a/Tests/fileTest.php +++ b/Tests/fileTest.php @@ -438,4 +438,34 @@ class test_file extends PHPUnit_Framework_TestCase $res = $file->mkdir ("/testDFFileDir/tptp/titi/poo", 0777, true); $this->assertSame ($res, true); } + + public function test_glob_1 () + { + $file = new file (); + $file->chroot ("/tmp"); + $res = $file->glob ("/testDFFileDir/*"); + $this->assertSame ($res, array ("/testDFFileDir/toto", + "/testDFFileDir/tptp")); + } + + public function test_glob_2 () + { + $file = new file (); + $file->chroot ("/tmp"); + $file->chdir ("/testDFFileDir"); + $res = $file->glob ("*"); + $this->assertSame ($res, array ("toto", + "tptp")); + } + + public function test_glob_3 () + { + $file = new file (); + $file->chroot ("/tmp"); + $file->chdir ("/testDFFileDir"); + $res = $file->glob ("/testDFFileDir/*"); + $this->assertSame ($res, array ("/testDFFileDir/toto", + "/testDFFileDir/tptp")); + } + } diff --git a/file.php b/file.php index 5e7050b..c65d0d6 100644 --- a/file.php +++ b/file.php @@ -257,7 +257,10 @@ class file throw new \Exception ("Glob : can't read some files", 500); foreach ($files as &$file) { - $file = substr ($file, strlen ($this->baseDir)+$relative); + if ($relative == 1) + $file = substr ($file, strlen ($this->baseDir)+strlen ($this->cwd)+1); + else + $file = substr ($file, strlen ($this->baseDir)); } return $files; }