addCodeDefinitionSet(new JBBCode\DefaultCodeDefinitionSet()); $parser->parse($bbcode); $htmlsafer = new JBBCode\visitors\HTMLSafeVisitor(); $parser->accept($htmlsafer); $this->assertEquals($html, $parser->getAsHtml()); } /** * Tests escaping quotes and ampersands in simple text */ public function testQuoteAndAmp() { $this->assertProduces('te"xt te&xt', 'te"xt te&xt'); } /** * Tests escaping quotes and ampersands inside a BBCode tag */ public function testQuoteAndAmpInTag() { $this->assertProduces('[b]te"xt te&xt[/b]', 'te"xt te&xt'); } /** * Tests escaping HTML tags */ public function testHtmlTag() { $this->assertProduces('not bold', '<b>not bold</b>'); $this->assertProduces('[b]bold[/b]
', '<b>bold</b> <hr>'); } /** * Tests escaping ampersands in URL using [url]...[/url] */ public function testUrlParam() { $this->assertProduces('text [url]http://example.com/?a=b&c=d[/url] more text', 'text http://example.com/?a=b&c=d more text'); } /** * Tests escaping ampersands in URL using [url=...] tag */ public function testUrlOption() { $this->assertProduces('text [url=http://example.com/?a=b&c=d]this is a "link"[/url]', 'text this is a "link"'); } /** * Tests escaping ampersands in URL using [url=...] tag when URL is in quotes */ public function testUrlOptionQuotes() { $this->assertProduces('text [url="http://example.com/?a=b&c=d"]this is a "link"[/url]', 'text this is a "link"'); } }