aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/Tests/Form/DataTransformer/StringToListTransformerTest.php
blob: d114e5f354ed95ae48ea5d0d96983eaf4895e877 (plain) (blame)
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
<?php

namespace Wallabag\CoreBundle\Tests\Form\DataTransformer;

use Wallabag\CoreBundle\Form\DataTransformer\StringToListTransformer;

class StringToListTransformerTest extends \PHPUnit_Framework_TestCase
{
    /**
     * @dataProvider transformProvider
     */
    public function testTransformWithValidData($inputData, $expectedResult)
    {
        $transformer = new StringToListTransformer();

        $this->assertSame($expectedResult, $transformer->transform($inputData));
    }

    public function transformProvider()
    {
        return array(
            array( null,                                 '' ),
            array( array(),                              '' ),
            array( array('single value'),                'single value' ),
            array( array('first value', 'second value'), 'first value,second value' ),
        );
    }

    /**
     * @dataProvider reverseTransformProvider
     */
    public function testReverseTransformWithValidData($inputData, $expectedResult)
    {
        $transformer = new StringToListTransformer();

        $this->assertSame($expectedResult, $transformer->reverseTransform($inputData));
    }

    public function reverseTransformProvider()
    {
        return array(
            array( null,                            null ),
            array( '',                              array() ),
            array( 'single value',                  array('single value') ),
            array( 'first value,second value',      array('first value', 'second value') ),
            array( 'first value,     second value', array('first value', 'second value') ),
            array( 'first value,  ,  second value', array('first value', 'second value') ),
        );
    }
}