set ( 'key', 'value' );
$this->assertIdentical ( $plist->get ( 'key' ), 'value' );
}
public function testNotFound() {
$this->expectException ( new HTMLPurifier_Exception ( "Key 'key' not found" ) );
$plist = new HTMLPurifier_PropertyList ();
$plist->get ( 'key' );
}
public function testRecursion() {
$parent_plist = new HTMLPurifier_PropertyList ();
$parent_plist->set ( 'key', 'value' );
$plist = new HTMLPurifier_PropertyList ();
$plist->setParent ( $parent_plist );
$this->assertIdentical ( $plist->get ( 'key' ), 'value' );
}
public function testOverride() {
$parent_plist = new HTMLPurifier_PropertyList ();
$parent_plist->set ( 'key', 'value' );
$plist = new HTMLPurifier_PropertyList ();
$plist->setParent ( $parent_plist );
$plist->set ( 'key', 'value2' );
$this->assertIdentical ( $plist->get ( 'key' ), 'value2' );
}
public function testRecursionNotFound() {
$this->expectException ( new HTMLPurifier_Exception ( "Key 'key' not found" ) );
$parent_plist = new HTMLPurifier_PropertyList ();
$plist = new HTMLPurifier_PropertyList ();
$plist->setParent ( $parent_plist );
$this->assertIdentical ( $plist->get ( 'key' ), 'value' );
}
public function testHas() {
$plist = new HTMLPurifier_PropertyList ();
$this->assertIdentical ( $plist->has ( 'key' ), false );
$plist->set ( 'key', 'value' );
$this->assertIdentical ( $plist->has ( 'key' ), true );
}
public function testReset() {
$plist = new HTMLPurifier_PropertyList ();
$plist->set ( 'key1', 'value' );
$plist->set ( 'key2', 'value' );
$plist->set ( 'key3', 'value' );
$this->assertIdentical ( $plist->has ( 'key1' ), true );
$this->assertIdentical ( $plist->has ( 'key2' ), true );
$this->assertIdentical ( $plist->has ( 'key3' ), true );
$plist->reset ( 'key2' );
$this->assertIdentical ( $plist->has ( 'key1' ), true );
$this->assertIdentical ( $plist->has ( 'key2' ), false );
$this->assertIdentical ( $plist->has ( 'key3' ), true );
$plist->reset ();
$this->assertIdentical ( $plist->has ( 'key1' ), false );
$this->assertIdentical ( $plist->has ( 'key2' ), false );
$this->assertIdentical ( $plist->has ( 'key3' ), false );
}
public function testSquash() {
$parent = new HTMLPurifier_PropertyList ();
$parent->set ( 'key1', 'hidden' );
$parent->set ( 'key2', 2 );
$plist = new HTMLPurifier_PropertyList ( $parent );
$plist->set ( 'key1', 1 );
$plist->set ( 'key3', 3 );
$this->assertIdentical ( $plist->squash (), array (
'key1' => 1,
'key2' => 2,
'key3' => 3
) );
// updates don't show up...
$plist->set ( 'key2', 22 );
$this->assertIdentical ( $plist->squash (), array (
'key1' => 1,
'key2' => 2,
'key3' => 3
) );
// until you force
$this->assertIdentical ( $plist->squash ( true ), array (
'key1' => 1,
'key2' => 22,
'key3' => 3
) );
}
}
// vim: et sw=4 sts=4