first commit

This commit is contained in:
aschwarz
2023-02-27 11:53:33 +01:00
commit 3aa76070e9
2691 changed files with 508437 additions and 0 deletions

View File

@ -0,0 +1,40 @@
<?php
/**
* Test harness that sets up a filesystem sandbox for file-emulation
* functions to safely unit test in.
*
* @todo Make an automatic FSTools mock or something
*/
class FSTools_FileSystemHarness extends UnitTestCase
{
protected $dir, $oldDir;
public function __construct()
{
parent::__construct();
$this->dir = 'tmp/' . md5(uniqid(rand(), true)) . '/';
mkdir($this->dir);
$this->oldDir = getcwd();
}
public function __destruct()
{
FSTools::singleton()->rmdirr($this->dir);
}
public function setup()
{
chdir($this->dir);
}
public function tearDown()
{
chdir($this->oldDir);
}
}
// vim: et sw=4 sts=4

View File

@ -0,0 +1,49 @@
<?php
require_once 'FSTools/FileSystemHarness.php';
/**
* These are not really unit tests, just sanity checks of basic functionality.
*/
class FSTools_FileTest extends FSTools_FileSystemHarness
{
public function test()
{
$name = 'test.txt';
$file = new FSTools_File($name);
$this->assertFalse($file->exists());
$file->write('foobar');
$this->assertTrue($file->exists());
$this->assertEqual($file->get(), 'foobar');
$file->delete();
$this->assertFalse($file->exists());
}
public function testGetNonExistent()
{
$name = 'notfound.txt';
$file = new FSTools_File($name);
$this->expectError();
$this->assertFalse($file->get());
}
public function testHandle()
{
$file = new FSTools_File('foo.txt');
$this->assertFalse($file->exists());
$file->open('w');
$this->assertTrue($file->exists());
$file->put('Foobar');
$file->close();
$file->open('r');
$this->assertIdentical('F', $file->getChar());
$this->assertFalse($file->eof());
$this->assertIdentical('oo', $file->read(2));
$this->assertIdentical('bar', $file->getLine());
$this->assertTrue($file->eof());
}
}
// vim: et sw=4 sts=4