mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-11-08 23:08:42 +00:00
58be73fcf7
git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@483 48356398-32a2-884e-a903-53898d9a118a
62 lines
1.8 KiB
PHP
62 lines
1.8 KiB
PHP
<?php
|
|
|
|
require_once 'HTMLPurifier/Context.php';
|
|
|
|
// mocks
|
|
require_once 'HTMLPurifier/IDAccumulator.php';
|
|
|
|
class HTMLPurifier_ContextTest extends UnitTestCase
|
|
{
|
|
|
|
var $context;
|
|
|
|
function setUp() {
|
|
$this->context = new HTMLPurifier_Context();
|
|
}
|
|
|
|
function testStandardUsage() {
|
|
|
|
generate_mock_once('HTMLPurifier_IDAccumulator');
|
|
|
|
$this->assertFalse($this->context->exists('IDAccumulator'));
|
|
|
|
$accumulator =& new HTMLPurifier_IDAccumulatorMock($this);
|
|
$this->context->register('IDAccumulator', $accumulator);
|
|
$this->assertTrue($this->context->exists('IDAccumulator'));
|
|
|
|
$accumulator_2 =& $this->context->get('IDAccumulator');
|
|
$this->assertReference($accumulator, $accumulator_2);
|
|
|
|
$this->context->destroy('IDAccumulator');
|
|
$this->assertFalse($this->context->exists('IDAccumulator'));
|
|
$accumulator_3 =& $this->context->get('IDAccumulator');
|
|
$this->assertError('Attempted to retrieve non-existent variable');
|
|
$this->assertNull($accumulator_3);
|
|
$this->swallowErrors();
|
|
|
|
$this->context->destroy('IDAccumulator');
|
|
$this->assertError('Attempted to destroy non-existent variable');
|
|
$this->swallowErrors();
|
|
|
|
}
|
|
|
|
function testReRegister() {
|
|
|
|
$var = true;
|
|
$this->context->register('OnceOnly', $var);
|
|
$this->assertNoErrors();
|
|
|
|
$this->context->register('OnceOnly', $var);
|
|
$this->assertError('Name collision, cannot re-register');
|
|
$this->swallowErrors();
|
|
|
|
// destroy it, now registration is okay
|
|
$this->context->destroy('OnceOnly');
|
|
$this->context->register('OnceOnly', $var);
|
|
$this->assertNoErrors();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
?>
|