<?php require_once 'HTMLPurifier/StrategyHarness.php'; require_once 'HTMLPurifier/Strategy/MakeWellFormed.php'; class HTMLPurifier_Strategy_MakeWellFormedTest extends HTMLPurifier_StrategyHarness { function setUp() { parent::setUp(); $this->obj = new HTMLPurifier_Strategy_MakeWellFormed(); } function test() { $this->config = array('HTML.Doctype' => 'XHTML 1.0 Strict'); $this->assertResult(''); $this->assertResult('This is <b>bold text</b>.'); $this->assertResult( '<b>Unclosed tag, gasp!', '<b>Unclosed tag, gasp!</b>' ); $this->assertResult( '<b><i>Bold and italic?</b>', '<b><i>Bold and italic?</i></b>' ); $this->assertResult( 'Unused end tags... recycle!</b>', 'Unused end tags... recycle!' ); $this->assertResult( '<br style="clear:both;">', '<br style="clear:both;" />' ); $this->assertResult( '<div style="clear:both;" />', '<div style="clear:both;"></div>' ); // test automatic paragraph closing $this->assertResult( '<p>Paragraph 1<p>Paragraph 2', '<p>Paragraph 1</p><p>Paragraph 2</p>' ); $this->assertResult( '<div><p>Paragraphs<p>In<p>A<p>Div</div>', '<div><p>Paragraphs</p><p>In</p><p>A</p><p>Div</p></div>' ); // automatic list closing $this->assertResult( '<ol><li>Item 1<li>Item 2</ol>', '<ol><li>Item 1</li><li>Item 2</li></ol>' ); } } ?>