File: PurifierLinkifyTest.php

package info (click to toggle)
php-htmlpurifier 4.4.0%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 4,888 kB
  • sloc: php: 27,456; xml: 1,767; makefile: 68; sh: 14
file content (59 lines) | stat: -rw-r--r-- 1,600 bytes parent folder | download | duplicates (2)
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
<?php

class HTMLPurifier_Injector_PurifierLinkifyTest extends HTMLPurifier_InjectorHarness
{

    function setup() {
        parent::setup();
        $this->config->set('AutoFormat.PurifierLinkify', true);
        $this->config->set('AutoFormat.PurifierLinkify.DocURL', '#%s');
    }

    function testNoTriggerCharacer() {
        $this->assertResult('Foobar');
    }

    function testTriggerCharacterInIrrelevantContext() {
        $this->assertResult('20% off!');
    }

    function testPreserveNamespace() {
        $this->assertResult('%Core namespace (not recognized)');
    }

    function testLinkifyBasic() {
        $this->assertResult(
          '%Namespace.Directive',
          '<a href="#Namespace.Directive">%Namespace.Directive</a>'
        );
    }

    function testLinkifyWithAdjacentTextNodes() {
        $this->assertResult(
          'This %Namespace.Directive thing',
          'This <a href="#Namespace.Directive">%Namespace.Directive</a> thing'
        );
    }

    function testLinkifyInBlock() {
        $this->assertResult(
          '<div>This %Namespace.Directive thing</div>',
          '<div>This <a href="#Namespace.Directive">%Namespace.Directive</a> thing</div>'
        );
    }

    function testPreserveInATag() {
        $this->assertResult(
          '<a>%Namespace.Directive</a>'
        );
    }

    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