Skip to content
Snippets Groups Projects
Commit ebec603f authored by Andreas Gohr's avatar Andreas Gohr
Browse files

added tests for io_rmdir

parent 4d47e8e3
No related branches found
No related tags found
No related merge requests found
<?php
class io_rmdir_test extends DokuWikiTest {
function test_empty_single(){
// set up test dir
$dir = io_mktmpdir();
$top = dirname($dir);
$this->assertTrue($dir !== false);
$this->assertTrue(is_dir($dir));
// delete successfully
$this->assertTrue(io_rmdir($dir, false));
// check result
clearstatcache();
$this->assertFalse(is_dir($dir));
$this->assertTrue(is_dir($top));
// same again with deletefiles
// set up test dir
$dir = io_mktmpdir();
$this->assertTrue($dir !== false);
$this->assertTrue(is_dir($dir));
// delete successfully
$this->assertTrue(io_rmdir($dir, true));
// check result
clearstatcache();
$this->assertFalse(is_dir($dir));
$this->assertTrue(is_dir($top));
}
function test_empty_hierarchy(){
// setup hierachy and test it exists
$dir = io_mktmpdir();
$top = dirname($dir);
$this->assertTrue($dir !== false);
$this->assertTrue(is_dir($dir));
$this->assertTrue(io_mkdir_p("$dir/foo/bar/baz"));
$this->assertTrue(is_dir("$dir/foo/bar/baz"));
$this->assertTrue(io_mkdir_p("$dir/foobar/bar/baz"));
$this->assertTrue(is_dir("$dir/foobar/bar/baz"));
// delete successfully
$this->assertTrue(io_rmdir($dir, false));
// check result
clearstatcache();
$this->assertFalse(is_dir("$dir/foo/bar/baz"));
$this->assertFalse(is_dir("$dir/foobar/bar/baz"));
$this->assertFalse(is_dir($dir));
$this->assertTrue(is_dir($top));
// same again with deletefiles
// setup hierachy and test it exists
$dir = io_mktmpdir();
$this->assertTrue($dir !== false);
$this->assertTrue(is_dir($dir));
$this->assertTrue(io_mkdir_p("$dir/foo/bar/baz"));
$this->assertTrue(is_dir("$dir/foo/bar/baz"));
$this->assertTrue(io_mkdir_p("$dir/foobar/bar/baz"));
$this->assertTrue(is_dir("$dir/foobar/bar/baz"));
// delete successfully
$this->assertTrue(io_rmdir($dir, true));
// check result
clearstatcache();
$this->assertFalse(is_dir("$dir/foo/bar/baz"));
$this->assertFalse(is_dir("$dir/foobar/bar/baz"));
$this->assertFalse(is_dir($dir));
$this->assertTrue(is_dir($top));
}
function test_full_single(){
// set up test dir
$dir = io_mktmpdir();
$top = dirname($dir);
$this->assertTrue($dir !== false);
$this->assertTrue(is_dir($dir));
// put file
$this->assertTrue(io_saveFile("$dir/testfile.txt", 'foobar'));
$this->assertFileExists("$dir/testfile.txt");
// delete unsuccessfully
$this->assertFalse(io_rmdir($dir, false));
// check result
clearstatcache();
$this->assertFileExists("$dir/testfile.txt");
$this->assertTrue(is_dir($dir));
$this->assertTrue(is_dir($top));
// same again with deletefiles
// delete successfully
$this->assertTrue(io_rmdir($dir, true));
// check result
clearstatcache();
$this->assertFileNotExists("$dir/testfile.txt");
$this->assertFalse(is_dir($dir));
$this->assertTrue(is_dir($top));
}
function test_full_hierarchy(){
// setup hierachy and test it exists
$dir = io_mktmpdir();
$top = dirname($dir);
$this->assertTrue($dir !== false);
$this->assertTrue(is_dir($dir));
$this->assertTrue(io_mkdir_p("$dir/foo/bar/baz"));
$this->assertTrue(is_dir("$dir/foo/bar/baz"));
$this->assertTrue(io_mkdir_p("$dir/foobar/bar/baz"));
$this->assertTrue(is_dir("$dir/foobar/bar/baz"));
// put files
$this->assertTrue(io_saveFile("$dir/testfile.txt", 'foobar'));
$this->assertFileExists("$dir/testfile.txt");
$this->assertTrue(io_saveFile("$dir/foo/testfile.txt", 'foobar'));
$this->assertFileExists("$dir/foo/testfile.txt");
$this->assertTrue(io_saveFile("$dir/foo/bar/baz/testfile.txt", 'foobar'));
$this->assertFileExists("$dir/foo/bar/baz/testfile.txt");
// delete unsuccessfully
$this->assertFalse(io_rmdir($dir, false));
// check result
clearstatcache();
$this->assertFileExists("$dir/testfile.txt");
$this->assertFileExists("$dir/foo/testfile.txt");
$this->assertFileExists("$dir/foo/bar/baz/testfile.txt");
$this->assertTrue(is_dir("$dir/foo/bar/baz"));
$this->assertTrue(is_dir("$dir/foobar/bar/baz"));
$this->assertTrue(is_dir($dir));
$this->assertTrue(is_dir($top));
// delete successfully
$this->assertTrue(io_rmdir($dir, true));
// check result
clearstatcache();
$this->assertFileNotExists("$dir/testfile.txt");
$this->assertFileNotExists("$dir/foo/testfile.txt");
$this->assertFileNotExists("$dir/foo/bar/baz/testfile.txt");
$this->assertFalse(is_dir("$dir/foo/bar/baz"));
$this->assertFalse(is_dir("$dir/foobar/bar/baz"));
$this->assertFalse(is_dir($dir));
$this->assertTrue(is_dir($top));
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment