Completed
Push — master ( 2a57e9...d915e7 )
by Marius
10s
created

testNormalizeException()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 4
nc 1
nop 1
1
<?php
2
3
namespace ValueParsers\Normalizers\Test;
4
5
use DataValues\StringValue;
6
use PHPUnit_Framework_TestCase;
7
use ValueParsers\Normalizers\TrimmingStringNormalizer;
8
9
/**
10
 * @covers ValueParsers\Normalizers\TrimmingStringNormalizer
11
 *
12
 * @group ValueParsers
13
 * @group DataValueExtensions
14
 *
15
 * @license GPL-2.0-or-later
16
 * @author Thiemo Kreuz
17
 */
18
class TrimmingStringNormalizerTest extends PHPUnit_Framework_TestCase {
19
20
	/**
21
	 * @dataProvider stringProvider
22
	 */
23
	public function testNormalize( $value, $expected ) {
24
		$normalizer = new TrimmingStringNormalizer();
25
		$this->assertSame( $expected, $normalizer->normalize( $value ) );
26
	}
27
28
	public function stringProvider() {
29
		return [
30
			'Empty' => [ '', '' ],
31
			'Trimmed' => [ 'a', 'a' ],
32
			'Spaces' => [ ' a ', 'a' ],
33
			'Controls' => [ "\n\r\ta\n\r\t", 'a' ],
34
			'Paragraph separator' => [ "\xE2\x80\xA9a\xE2\x80\xA9", 'a' ],
35
		];
36
	}
37
38
	/**
39
	 * @dataProvider invalidValueProvider
40
	 */
41
	public function testNormalizeException( $value ) {
42
		$normalizer = new TrimmingStringNormalizer();
43
		$this->setExpectedException( 'InvalidArgumentException' );
44
		$normalizer->normalize( $value );
45
	}
46
47
	public function invalidValueProvider() {
48
		return [
49
			[ null ],
50
			[ true ],
51
			[ 1 ],
52
			[ new StringValue( '' ) ],
53
		];
54
	}
55
56
}
57