diff --git a/Tests/fileTest.php b/Tests/fileTest.php index def6ad1..2cdfe27 100644 --- a/Tests/fileTest.php +++ b/Tests/fileTest.php @@ -468,4 +468,30 @@ class test_file extends PHPUnit_Framework_TestCase "/testDFFileDir/tptp")); } + public function test_glob_4 () + { + $file = new file (); + $res = $file->glob ("/tmp/testDFFileDir/*"); + $this->assertSame ($res, array ("/tmp/testDFFileDir/toto", + "/tmp/testDFFileDir/tptp")); + } + + public function test_glob_5 () + { + $file = new file (); + $file->chdir ("/tmp/testDFFileDir"); + $res = $file->glob ("*"); + $this->assertSame ($res, array ("toto", + "tptp")); + } + + public function test_glob_6 () + { + $file = new file (); + $file->chdir ("/tmp/testDFFileDir"); + $res = $file->glob ("/tmp/testDFFileDir/*"); + $this->assertSame ($res, array ("/tmp/testDFFileDir/toto", + "/tmp/testDFFileDir/tptp")); + } + } diff --git a/file.php b/file.php index c65d0d6..6bc5c19 100644 --- a/file.php +++ b/file.php @@ -257,10 +257,18 @@ class file throw new \Exception ("Glob : can't read some files", 500); foreach ($files as &$file) { - if ($relative == 1) - $file = substr ($file, strlen ($this->baseDir)+strlen ($this->cwd)+1); + if (strlen ($this->baseDir) > 1) + { + if ($relative == 1) + $file = substr ($file, strlen ($this->baseDir)+strlen ($this->cwd)+1); + else + $file = substr ($file, strlen ($this->baseDir)); + } else - $file = substr ($file, strlen ($this->baseDir)); + { + if ($relative == 1) + $file = substr ($file, strlen ($this->cwd)+1); + } } return $files; }