summaryrefslogtreecommitdiff
path: root/ext/spl/tests/DirectoryIterator_getExtension_basic.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/spl/tests/DirectoryIterator_getExtension_basic.phpt')
-rw-r--r--ext/spl/tests/DirectoryIterator_getExtension_basic.phpt57
1 files changed, 57 insertions, 0 deletions
diff --git a/ext/spl/tests/DirectoryIterator_getExtension_basic.phpt b/ext/spl/tests/DirectoryIterator_getExtension_basic.phpt
new file mode 100644
index 0000000..7398d4b
--- /dev/null
+++ b/ext/spl/tests/DirectoryIterator_getExtension_basic.phpt
@@ -0,0 +1,57 @@
+--TEST--
+SPL: DirectoryIterator::getExtension() basic test
+--SKIPIF--
+<?php
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+ die('skip.. only for Unix');
+}
+?>
+--FILE--
+<?php
+$dir = __DIR__ . DIRECTORY_SEPARATOR . md5('DirectoryIterator::getExtension') . DIRECTORY_SEPARATOR;
+mkdir($dir);
+
+$files = array('test.txt', 'test.extension', 'test..', 'test.', 'test');
+foreach ($files as $file) {
+ touch($dir . $file);
+}
+
+$dit_exts = array();
+$nfo_exts = array();
+$skip = array('.', '..');
+
+foreach (new DirectoryIterator($dir) as $file) {
+ if (in_array($file->getFilename(), $skip)) {
+ continue;
+ }
+ $dit_exts[] = $file->getExtension();
+ $nfo_exts[] = pathinfo($file->getFilename(), PATHINFO_EXTENSION);
+}
+var_dump($dit_exts === $nfo_exts);
+sort($dit_exts);
+var_dump($dit_exts);
+?>
+--CLEAN--
+<?php
+$dir = __DIR__ . DIRECTORY_SEPARATOR . md5('DirectoryIterator::getExtension') . DIRECTORY_SEPARATOR;
+$files = array('test.txt', 'test.extension', 'test..', 'test.', 'test');
+foreach ($files as $file) {
+ unlink($dir . $file);
+}
+rmdir($dir);
+?>
+--EXPECTF--
+bool(true)
+array(5) {
+ [0]=>
+ string(0) ""
+ [1]=>
+ string(0) ""
+ [2]=>
+ string(0) ""
+ [3]=>
+ string(9) "extension"
+ [4]=>
+ string(3) "txt"
+}
+