|
- <?php
-
- class HTMLPurifier_Injector_PurifierLinkifyTest extends HTMLPurifier_InjectorHarness
- {
-
- public function setup()
- {
- parent::setup();
- $this->config->set('AutoFormat.PurifierLinkify', true);
- $this->config->set('AutoFormat.PurifierLinkify.DocURL', '#%s');
- }
-
- public function testNoTriggerCharacer()
- {
- $this->assertResult('Foobar');
- }
-
- public function testTriggerCharacterInIrrelevantContext()
- {
- $this->assertResult('20% off!');
- }
-
- public function testPreserveNamespace()
- {
- $this->assertResult('%Core namespace (not recognized)');
- }
-
- public function testLinkifyBasic()
- {
- $this->assertResult(
- '%Namespace.Directive',
- '<a href="#Namespace.Directive">%Namespace.Directive</a>'
- );
- }
-
- public function testLinkifyWithAdjacentTextNodes()
- {
- $this->assertResult(
- 'This %Namespace.Directive thing',
- 'This <a href="#Namespace.Directive">%Namespace.Directive</a> thing'
- );
- }
-
- public function testLinkifyInBlock()
- {
- $this->assertResult(
- '<div>This %Namespace.Directive thing</div>',
- '<div>This <a href="#Namespace.Directive">%Namespace.Directive</a> thing</div>'
- );
- }
-
- public function testPreserveInATag()
- {
- $this->assertResult(
- '<a>%Namespace.Directive</a>'
- );
- }
-
- public function testNeeded()
- {
- $this->config->set('HTML.Allowed', 'b');
- $this->expectError('Cannot enable PurifierLinkify injector because a is not allowed');
- $this->assertResult('%Namespace.Directive');
- }
-
- }
-
- // vim: et sw=4 sts=4
|