aboutsummaryrefslogtreecommitdiffstats
path: root/lib/htmlpurifier/tests/HTMLPurifier/Injector/LinkifyTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/htmlpurifier/tests/HTMLPurifier/Injector/LinkifyTest.php')
-rw-r--r--lib/htmlpurifier/tests/HTMLPurifier/Injector/LinkifyTest.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/lib/htmlpurifier/tests/HTMLPurifier/Injector/LinkifyTest.php b/lib/htmlpurifier/tests/HTMLPurifier/Injector/LinkifyTest.php
new file mode 100644
index 000000000..1a1542d53
--- /dev/null
+++ b/lib/htmlpurifier/tests/HTMLPurifier/Injector/LinkifyTest.php
@@ -0,0 +1,50 @@
+<?php
+
+class HTMLPurifier_Injector_LinkifyTest extends HTMLPurifier_InjectorHarness
+{
+
+ function setup() {
+ parent::setup();
+ $this->config->set('AutoFormat.Linkify', true);
+ }
+
+ function testLinkifyURLInRootNode() {
+ $this->assertResult(
+ 'http://example.com',
+ '<a href="http://example.com">http://example.com</a>'
+ );
+ }
+
+ function testLinkifyURLInInlineNode() {
+ $this->assertResult(
+ '<b>http://example.com</b>',
+ '<b><a href="http://example.com">http://example.com</a></b>'
+ );
+ }
+
+ function testBasicUsageCase() {
+ $this->assertResult(
+ 'This URL http://example.com is what you need',
+ 'This URL <a href="http://example.com">http://example.com</a> is what you need'
+ );
+ }
+
+ function testIgnoreURLInATag() {
+ $this->assertResult(
+ '<a>http://example.com/</a>'
+ );
+ }
+
+ function testNeeded() {
+ $this->config->set('HTML.Allowed', 'b');
+ $this->expectError('Cannot enable Linkify injector because a is not allowed');
+ $this->assertResult('http://example.com/');
+ }
+
+ function testExcludes() {
+ $this->assertResult('<a><span>http://example.com</span></a>');
+ }
+
+}
+
+// vim: et sw=4 sts=4