forked from DataValues/Common
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMultilingualTextValueTest.php
More file actions
91 lines (75 loc) · 2.65 KB
/
MultilingualTextValueTest.php
File metadata and controls
91 lines (75 loc) · 2.65 KB
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php
namespace DataValues\Tests;
use DataValues\MonolingualTextValue;
use DataValues\MultilingualTextValue;
/**
* @covers DataValues\MultilingualTextValue
*
* @since 0.1
*
* @group DataValue
* @group DataValueExtensions
*
* @licence GNU GPL v2+
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
*/
class MultilingualTextValueTest extends DataValueTest {
/**
* @see DataValueTest::getClass
*
* @return string
*/
public function getClass() {
return 'DataValues\MultilingualTextValue';
}
public function validConstructorArgumentsProvider() {
$argLists = array();
$argLists[] = array( array() );
$argLists[] = array( array( new MonolingualTextValue( 'en', 'foo' ) ) );
$argLists[] = array( array( new MonolingualTextValue( 'en', 'foo' ), new MonolingualTextValue( 'de', 'foo' ) ) );
$argLists[] = array( array( new MonolingualTextValue( 'en', 'foo' ), new MonolingualTextValue( 'de', 'bar' ) ) );
$argLists[] = array( array(
new MonolingualTextValue( 'en', 'foo' ),
new MonolingualTextValue( 'de', ' foo bar baz foo bar baz foo bar baz foo bar baz foo bar baz foo bar baz ' )
) );
return $argLists;
}
public function invalidConstructorArgumentsProvider() {
$argLists = array();
$argLists[] = array( array( 42 ) );
$argLists[] = array( array( false ) );
$argLists[] = array( array( true ) );
$argLists[] = array( array( null ) );
$argLists[] = array( array( array() ) );
$argLists[] = array( array( 'foo' ) );
$argLists[] = array( array( 42 => 'foo' ) );
$argLists[] = array( array( '' => 'foo' ) );
$argLists[] = array( array( 'en' => 42 ) );
$argLists[] = array( array( 'en' => null ) );
$argLists[] = array( array( 'en' => true ) );
$argLists[] = array( array( 'en' => array() ) );
$argLists[] = array( array( 'en' => 4.2 ) );
$argLists[] = array( array( new MonolingualTextValue( 'en', 'foo' ), false ) );
$argLists[] = array( array( new MonolingualTextValue( 'en', 'foo' ), 'foobar' ) );
return $argLists;
}
/**
* @dataProvider instanceProvider
* @param MultilingualTextValue $texts
* @param array $arguments
*/
public function testGetTexts( MultilingualTextValue $texts, array $arguments ) {
$actual = $texts->getTexts();
$this->assertInternalType( 'array', $actual );
$this->assertContainsOnlyInstancesOf( '\DataValues\MonolingualTextValue', $actual );
$this->assertEquals( $arguments[0], array_values( $actual ) );
}
/**
* @dataProvider instanceProvider
* @param MultilingualTextValue $texts
* @param array $arguments
*/
public function testGetValue( MultilingualTextValue $texts, array $arguments ) {
$this->assertInstanceOf( $this->getClass(), $texts->getValue() );
}
}