PurifierLinkifyTest.php
1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?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