Passed
Push — 2.1 ( 8ae4f4...173037 )
by Robbie
02:43
created

testContentLinkInjections()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 29

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 29
rs 9.456
c 0
b 0
f 0
1
<?php
2
3
namespace CWP\Core\Tests;
4
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\ORM\FieldType\DBText;
7
8
class RichLinksExtensionTest extends SapphireTest
9
{
10
    public function testContentLinkInjections()
11
    {
12
        $field = new DBText();
13
14
        // External links injection.
15
        $field->setValue('<a href="http://newzealand.govt.nz">New Zealand Government</a>');
16
        $this->assertEquals(
17
            $field->RichLinks(),
18
            '<a class="external" rel="external" title="Open external link" '
19
            . 'href="http://newzealand.govt.nz">New Zealand Government'
20
            .'<span class="nonvisual-indicator">(external link)</span></a>',
21
            'Injects attributes to external link without target.'
22
        );
23
24
        $field->setValue('<a href="http://newzealand.govt.nz" target="_blank">New Zealand Government</a>');
25
        $this->assertEquals(
26
            $field->RichLinks(),
27
            '<a class="external" rel="external" title="Open external link" '
28
            . 'href="http://newzealand.govt.nz" target="_blank">New Zealand Government'
29
            .'<span class="nonvisual-indicator">(external link)</span></a>',
30
            'Injects attributes to external link with target, while keeping the existing attributes.'
31
        );
32
33
        // Check the normal links are not affected.
34
        $field->setValue('<a href="[sitetree_link,id=1]">Internal</a>');
35
        $this->assertEquals(
36
            $field->RichLinks(),
37
            '<a href="[sitetree_link,id=1]">Internal</a>',
38
            'Regular link is not modified.'
39
        );
40
    }
41
}
42