config->set('HTML', 'TidyLevel', 'heavy'); } function getStrategy() { return new HTMLPurifier_Strategy_RemoveForeignElements(); } function testTagTransform() { // uses $CurrentToken.Serialized $this->expectErrorCollection(E_NOTICE, 'Strategy_RemoveForeignElements: Tag transform', 'center'); $this->invoke('
'); } function testMissingRequiredAttr() { // a little fragile, since img has two required attributes $this->expectErrorCollection(E_ERROR, 'Strategy_RemoveForeignElements: Missing required attribute', 'img', 'alt'); $this->invoke(''); } function testForeignElementToText() { // uses $CurrentToken.Serialized $this->config->set('Core', 'EscapeInvalidTags', true); $this->expectErrorCollection(E_WARNING, 'Strategy_RemoveForeignElements: Foreign element to text'); $this->invoke(''); } function testForeignElementRemoved() { // uses $CurrentToken.Serialized $this->expectErrorCollection(E_ERROR, 'Strategy_RemoveForeignElements: Foreign element removed'); $this->invoke(''); } function testCommentRemoved() { $this->expectErrorCollection(E_NOTICE, 'Strategy_RemoveForeignElements: Comment removed', ' test '); $this->invoke(''); } function testScriptRemoved() { $this->collector->expectAt(0, 'send', array(E_ERROR, 'Strategy_RemoveForeignElements: Script removed')); $this->collector->expectAt(1, 'send', array(E_ERROR, 'Strategy_RemoveForeignElements: Token removed to end', 'script')); $this->invoke('