Skip to content
Snippets Groups Projects
Commit 36907582 authored by Patrick Brown's avatar Patrick Brown
Browse files

Append to BZip2 files. Unit tests for writing files.

parent dfe7cc3f
No related branches found
No related tags found
No related merge requests found
<?php
class io_deletefromfile_test extends DokuWikiTest {
/*
* dependency for tests needing zlib extension to pass
*/
public function test_ext_zlib() {
if (!extension_loaded('zlib')) {
$this->markTestSkipped('skipping all zlib tests. Need zlib extension');
}
}
/*
* dependency for tests needing zlib extension to pass
*/
public function test_ext_bz2() {
if (!extension_loaded('bz2')) {
$this->markTestSkipped('skipping all bzip2 tests. Need bz2 extension');
}
}
function _write($file){
$contents = "The\012Delete\012Delete01\012Delete02\012Delete\012DeleteX\012Test\012";
io_saveFile($file, $contents);
$this->assertTrue(io_deleteFromFile($file, "Delete\012"));
$this->assertEquals("The\012Delete01\012Delete02\012DeleteX\012Test\012", io_readFile($file));
$this->assertTrue(io_deleteFromFile($file, "#Delete\\d+\012#", true));
$this->assertEquals("The\012DeleteX\012Test\012", io_readFile($file));
}
function test_delete(){
$this->_write(TMP_DIR.'/test.txt');
}
// /**
// * @depends test_ext_zlib
// */
// function test_gzwrite(){
// }
}
<?php
class io_savefile_test extends DokuWikiTest {
/*
* dependency for tests needing zlib extension to pass
*/
public function test_ext_zlib() {
if (!extension_loaded('zlib')) {
$this->markTestSkipped('skipping all zlib tests. Need zlib extension');
}
}
/*
* dependency for tests needing zlib extension to pass
*/
public function test_ext_bz2() {
if (!extension_loaded('bz2')) {
$this->markTestSkipped('skipping all bzip2 tests. Need bz2 extension');
}
}
function _write($file){
$contents = "The\012Write\012Test\012";
$this->assertTrue(io_saveFile($file, $contents));
$this->assertEquals($contents, io_readFile($file));
$this->assertTrue(io_saveFile($file, $contents, true));
$this->assertEquals($contents.$contents, io_readFile($file));
}
function test_write(){
$this->_write(TMP_DIR.'/test.txt');
}
/**
* @depends test_ext_zlib
*/
function test_gzwrite(){
$this->_write(TMP_DIR.'/test.txt.gz');
}
/**
* @depends test_ext_bz2
*/
function test_bzwrite(){
$this->_write(TMP_DIR.'/test.txt.bz2');
}
}
......@@ -223,7 +223,16 @@ function io_saveFile($file,$content,$append=false){
gzwrite($fh, $content);
gzclose($fh);
}else if(substr($file,-4) == '.bz2'){
$fh = @bzopen($file,$mode{0});
if($append) {
$bzcontent = bzfile($file);
if($bzcontent === false) {
msg("Writing $file failed", -1);
io_unlock($file);
return false;
}
$content = $bzcontent.$content;
}
$fh = @bzopen($file,'w');
if(!$fh){
msg("Writing $file failed", -1);
io_unlock($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