with = new HTMLPurifier_AttrDefMock(); $this->without = new HTMLPurifier_AttrDefMock(); $this->def = new HTMLPurifier_AttrDef_Switch('tag', $this->with, $this->without); } function testWith() { $token = new HTMLPurifier_Token_Start('tag'); $this->context->register('CurrentToken', $token); $this->with->expectOnce('validate'); $this->with->setReturnValue('validate', 'foo'); $this->assertDef('bar', 'foo'); } function testWithout() { $token = new HTMLPurifier_Token_Start('other-tag'); $this->context->register('CurrentToken', $token); $this->without->expectOnce('validate'); $this->without->setReturnValue('validate', 'foo'); $this->assertDef('bar', 'foo'); } }