git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@2563 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
91 lines
2.0 KiB
PHP
91 lines
2.0 KiB
PHP
<?php
|
|
/** DomFramework - Tests
|
|
@package domframework
|
|
@author Dominique Fournier <dominique@fournier38.fr> */
|
|
|
|
/** Test the cache.php file */
|
|
class test_cachefile extends PHPUnit_Framework_TestCase
|
|
{
|
|
public function __construct ()
|
|
{
|
|
// Removing the cache file if it previously exists
|
|
$c = new cachefile ();
|
|
$c->directory = "/tmp/cache";
|
|
$res = $c->delete ("id");
|
|
}
|
|
|
|
// Unknown cache file : return FALSE
|
|
public function testRead1 ()
|
|
{
|
|
$c = new cachefile ();
|
|
$c->directory = "/tmp/cache";
|
|
$res = $c->read ("id");
|
|
$this->assertFalse ($res);
|
|
}
|
|
|
|
// Write in cache file
|
|
public function testWrite1 ()
|
|
{
|
|
$c = new cachefile ();
|
|
$c->directory = "/tmp/cache";
|
|
$res = $c->write ("id","DATA_TO_STORE", 3);
|
|
$this->assertTrue ($res);
|
|
}
|
|
|
|
// Previous cache file : return DATA_TO_STORE
|
|
public function testRead2 ()
|
|
{
|
|
$c = new cachefile ();
|
|
$c->directory = "/tmp/cache";
|
|
$res = $c->read ("id");
|
|
$this->assertSame ("DATA_TO_STORE", $res);
|
|
}
|
|
|
|
// Sleep 3s to expire the cache
|
|
public function testWait1 ()
|
|
{
|
|
sleep (4);
|
|
}
|
|
|
|
// Previous cache file but expired : return false
|
|
public function testRead3 ()
|
|
{
|
|
$c = new cachefile ();
|
|
$c->directory = "/tmp/cache";
|
|
$res = $c->read ("id");
|
|
$this->assertFalse ($res);
|
|
}
|
|
|
|
// Write in cache file
|
|
public function testWrite2 ()
|
|
{
|
|
$c = new cachefile ();
|
|
$c->directory = "/tmp/cache";
|
|
$res = $c->write ("id","DATA_TO_STORE", 30);
|
|
$this->assertTrue ($res);
|
|
}
|
|
|
|
// Create stale lock
|
|
public function testLock1 ()
|
|
{
|
|
touch ("/tmp/cache/".sha1 ("id").".lock");
|
|
}
|
|
|
|
// Previous cache in time file but lock : return content after lock timeout
|
|
public function testRead4 ()
|
|
{
|
|
$c = new cachefile ();
|
|
$c->directory = "/tmp/cache";
|
|
$res = $c->read ("id");
|
|
$this->assertSame ("DATA_TO_STORE", $res);
|
|
}
|
|
|
|
public function testDel1 ()
|
|
{
|
|
$c = new cachefile ();
|
|
$c->directory = "/tmp/cache";
|
|
$res = $c->delete ("id");
|
|
}
|
|
}
|
|
|