69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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
 | 
