summaryrefslogtreecommitdiff
path: root/vendor/eluceo/ical/tests/Eluceo/iCal/Property/StringValueTest.php
blob: afa70df10df7d907d64bb1a0706f2f667bee5325 (plain)
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
<?php

namespace Eluceo\iCal\Property;

use Eluceo\iCal\Property\StringValue;

class StringValueTest extends \PHPUnit_Framework_TestCase
{
    public function testNoEscapeNeeded()
    {
        $stringValue = new StringValue('LOREM');

        $this->assertEquals(
            'LOREM',
            $stringValue->getEscapedValue(),
            'No escaping necessary'
        );
    }

    public function testValueContainsBackslash()
    {
        $stringValue = new StringValue('text contains backslash: \\');

        $this->assertEquals(
            'text contains backslash: \\\\',
            $stringValue->getEscapedValue(),
            'Text contains backslash'
        );
    }

    public function testEscapingDoubleQuotes()
    {
        $stringValue = new StringValue('text with "doublequotes" will be escaped');

        $this->assertEquals(
            'text with \\"doublequotes\\" will be escaped',
            $stringValue->getEscapedValue(),
            'Escaping double quotes'
        );
    }

    public function testEscapingSemicolonAndComma()
    {
        $stringValue = new StringValue('text with , and ; will also be escaped');

        $this->assertEquals(
            'text with \\, and \\; will also be escaped',
            $stringValue->getEscapedValue(),
            'Escaping ; and ,'
        );
    }

    public function testNewLineEscaping()
    {
        $stringValue = new StringValue("Text with new\n line");

        $this->assertEquals(
            'Text with new\\n line',
            $stringValue->getEscapedValue(),
            'Escape new line to text'
        );
    }
}