64 lines
1.6 KiB
PHP
64 lines
1.6 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Test for Cache_Lite_NestedOutput
|
|
*
|
|
* @package Cache_Lite
|
|
* @category Caching
|
|
* @version $Id$
|
|
* @author Markus Tacker <tacker@php.net>
|
|
*/
|
|
|
|
require_once __DIR__ . '/../Cache/Lite/NestedOutput.php';
|
|
|
|
class NestedOutputTest extends PHPUnit_Framework_TestCase
|
|
{
|
|
/**
|
|
* "Test" used for documenting the nested output buffering feature of php
|
|
*/
|
|
public function testPhpObNesting()
|
|
{
|
|
$outsideText = "This is the outside";
|
|
$insideText = "This is the inside";
|
|
ob_start();
|
|
echo $outsideText;
|
|
ob_start();
|
|
echo $insideText;
|
|
$innerContents = ob_get_contents();
|
|
ob_end_clean();
|
|
$outerContents = ob_get_contents();
|
|
ob_end_clean();
|
|
|
|
$this->assertEquals( $insideText, $innerContents );
|
|
$this->assertEquals( $outsideText, $outerContents );
|
|
}
|
|
|
|
/**
|
|
* Test for Cache_Lite_NestedOutput
|
|
*/
|
|
public function testCacheLiteOutputNesting()
|
|
{
|
|
$outsideText = "This is the outside";
|
|
$insideText = "This is the inside";
|
|
|
|
$options = array(
|
|
'caching' => true,
|
|
'cacheDir' => '/tmp/',
|
|
'lifeTime' => 10
|
|
);
|
|
$cache = new Cache_Lite_NestedOutput($options);
|
|
$this->assertFalse($cache->start('foo', 'a'));
|
|
echo $outsideText;
|
|
$this->assertFalse($cache->start('bar', 'b'));
|
|
echo $insideText;
|
|
$inside = $cache->end();
|
|
$outside = $cache->end();
|
|
$this->assertEquals($outsideText, $outside, 'Validate outside');
|
|
$this->assertEquals($insideText, $inside, 'Validate inside');
|
|
|
|
$cache = new Cache_Lite_NestedOutput($options);
|
|
$this->assertEquals($outsideText, $cache->start('foo', 'a'), 'Validate outside');
|
|
$this->assertEquals($insideText, $cache->start('bar', 'b'), 'Validate inside');
|
|
}
|
|
}
|