class ExpiringCacheTest

Hierarchy

  • class \Assetic\Test\Cache\ExpiringCacheTest extends \Assetic\Test\Cache\PHPUnit_Framework_TestCase

Expanded class hierarchy of ExpiringCacheTest

File

drupal/core/vendor/kriswallsmith/assetic/tests/Assetic/Test/Cache/ExpiringCacheTest.php, line 16

Namespace

Assetic\Test\Cache
View source
class ExpiringCacheTest extends \PHPUnit_Framework_TestCase {
  private $inner;
  private $lifetime;
  private $cache;
  protected function setUp() {
    $this->inner = $this
      ->getMock('Assetic\\Cache\\CacheInterface');
    $this->lifetime = 3600;
    $this->cache = new ExpiringCache($this->inner, $this->lifetime);
  }
  public function testHasExpired() {
    $key = 'asdf';
    $expiresKey = 'asdf.expires';
    $thePast = 0;
    $this->inner
      ->expects($this
      ->once())
      ->method('has')
      ->with($key)
      ->will($this
      ->returnValue(true));
    $this->inner
      ->expects($this
      ->once())
      ->method('get')
      ->with($expiresKey)
      ->will($this
      ->returnValue($thePast));
    $this->inner
      ->expects($this
      ->at(2))
      ->method('remove')
      ->with($expiresKey);
    $this->inner
      ->expects($this
      ->at(3))
      ->method('remove')
      ->with($key);
    $this
      ->assertFalse($this->cache
      ->has($key), '->has() returns false if an expired value exists');
  }
  public function testHasNotExpired() {
    $key = 'asdf';
    $expiresKey = 'asdf.expires';
    $theFuture = time() * 2;
    $this->inner
      ->expects($this
      ->once())
      ->method('has')
      ->with($key)
      ->will($this
      ->returnValue(true));
    $this->inner
      ->expects($this
      ->once())
      ->method('get')
      ->with($expiresKey)
      ->will($this
      ->returnValue($theFuture));
    $this
      ->assertTrue($this->cache
      ->has($key), '->has() returns true if a value the not expired');
  }
  public function testSetLifetime() {
    $key = 'asdf';
    $expiresKey = 'asdf.expires';
    $value = 'qwerty';
    $this->inner
      ->expects($this
      ->at(0))
      ->method('set')
      ->with($expiresKey, $this
      ->greaterThanOrEqual(time() + $this->lifetime));
    $this->inner
      ->expects($this
      ->at(1))
      ->method('set')
      ->with($key, $value);
    $this->cache
      ->set($key, $value);
  }
  public function testRemove() {
    $key = 'asdf';
    $expiresKey = 'asdf.expires';
    $this->inner
      ->expects($this
      ->at(0))
      ->method('remove')
      ->with($expiresKey);
    $this->inner
      ->expects($this
      ->at(1))
      ->method('remove')
      ->with($key);
    $this->cache
      ->remove($key);
  }
  public function testGet() {
    $this->inner
      ->expects($this
      ->once())
      ->method('get')
      ->with('foo')
      ->will($this
      ->returnValue('bar'));
    $this
      ->assertEquals('bar', $this->cache
      ->get('foo'), '->get() returns the cached value');
  }

}

Members