1<?php
2/**
3 * Copyright 2015-2017 Horde LLC (http://www.horde.org/)
4 *
5 * @category   Horde
6 * @copyright  2015-2016 Horde LLC
7 * @license    http://www.horde.org/licenses/lgpl21 LGPL 2.1
8 * @package    Mime
9 * @subpackage UnitTests
10 */
11
12/**
13 * Tests for the Horde_Mime_Headers_ContentLanguage class.
14 *
15 * @author     Michael Slusarz <slusarz@horde.org>
16 * @category   Horde
17 * @copyright  2015-2016 Horde LLC
18 * @internal
19 * @license    http://www.horde.org/licenses/lgpl21 LGPL 2.1
20 * @package    Mime
21 * @subpackage UnitTests
22 */
23class Horde_Mime_Headers_ContentLanguageTest
24extends PHPUnit_Framework_TestCase
25{
26    /**
27     * @dataProvider parsingOfInputProvider
28     */
29    public function testParsingOfInput($input, $expected_val, $expected_langs)
30    {
31        $ob = new Horde_Mime_Headers_ContentLanguage(null, $input);
32
33        $this->assertEquals(
34            $expected_val,
35            $ob->value
36        );
37
38        $this->assertEquals(
39            $expected_langs,
40            $ob->langs
41        );
42    }
43
44    public function parsingOfInputProvider()
45    {
46        return array(
47            array(
48                'en',
49                'en',
50                array('en')
51            ),
52            array(
53                'en, de',
54                'en,de',
55                array('en', 'de')
56            ),
57            array(
58                '    eN  , de      ,PT',
59                'en,de,pt',
60                array('en', 'de', 'pt')
61            ),
62            array(
63                array('en', 'de'),
64                'en,de',
65                array('en', 'de')
66            ),
67            array(
68                "e\0n",
69                'en',
70                array('en')
71            )
72        );
73    }
74
75}
76