[TASK] ext:form Unit test all filters
[Packages/TYPO3.CMS.git] / typo3 / sysext / form / Tests / Unit / Filter / TrimFilterTest.php
1 <?php
2 namespace TYPO3\CMS\Form\Tests\Unit\Filter;
3
4 /***************************************************************
5 * Copyright notice
6 *
7 * (c) 2012 Andreas Lappe <nd@kaeufli.ch>, kaeufli.ch
8 *
9 * All rights reserved
10 *
11 * This script is part of the TYPO3 project. The TYPO3 project is
12 * free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 *
17 * The GNU General Public License can be found at
18 * http://www.gnu.org/copyleft/gpl.html.
19 *
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
27
28 /**
29 * Test case
30 *
31 * @author Andreas Lappe <nd@kaeufli.ch>
32 */
33 class TrimFilterTest extends \TYPO3\CMS\Core\Tests\UnitTestCase {
34
35 /**
36 * @var \TYPO3\CMS\Form\Filter\TrimFilter
37 */
38 protected $fixture = NULL;
39
40 /**
41 * Set up
42 */
43 public function setUp() {
44 $this->fixture = new \TYPO3\CMS\Form\Filter\TrimFilter();
45 }
46
47 /**
48 * Tear down
49 */
50 public function tearDown() {
51 $this->fixture = NULL;
52 }
53
54 public function stringProvider() {
55 return array(
56 '\tsome text ' => array("\tsome text ", 'some text'),
57 'some text ' => array('some text ', 'some text'),
58 'some text^M' => array('some text
59 ', 'some text'),
60 );
61 }
62
63 public function stringProviderForCharacterList() {
64 return array(
65 '$some text;' => array('$some text;', 'some text', '$;'),
66 '$some text ' => array('$some text ', 'some text', '$ '),
67 '^Msome text ' => array('
68 some text ', 'some text', '
69 '),
70 );
71 }
72
73 /**
74 * @test
75 * @dataProvider stringProvider
76 */
77 public function filterForStringWithWhitespaceInFrontAndEndReturnsStringWithoutThisWhitespace($input, $expected) {
78 $this->assertSame(
79 $expected,
80 $this->fixture->filter($input)
81 );
82 }
83
84 /**
85 * @test
86 * @dataProvider stringProviderForCharacterList
87 */
88 public function filterForStringWithCharactersInCharacterListReturnsStringWithoutTheseCharacters($input, $expected, $characterList) {
89 $this->fixture->setCharacterList($characterList);
90
91 $this->assertSame(
92 $expected,
93 $this->fixture->filter($input)
94 );
95 }
96 }
97 ?>