Skip to content

Commit d49286a

Browse files
committed
Merge pull request #193 from wmde/brokenTests
Fix broken tests that do nothing or test wrong classes
2 parents 0bba95e + 6f3d3aa commit d49286a

12 files changed

+81
-224
lines changed

tests/unit/Deserializers/AliasGroupListDeserializerTest.php

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -23,34 +23,36 @@ public function buildDeserializer() {
2323
return new AliasGroupListDeserializer();
2424
}
2525

26-
/**
27-
* @return array[] things that are deserialized by the deserializer
28-
*/
2926
public function deserializableProvider() {
30-
return array(
31-
array( 'en' => array() ),
32-
array( 'de' => array(
33-
array( 'language' => 'de', 'value' => 'One' ),
34-
array( 'language' => 'de', 'value' => 'Pony' ),
35-
) ),
36-
array(
37-
'de' => array( array( 'language' => 'de', 'value' => 'foo' ) ),
38-
'en' => array( array( 'language' => 'en', 'value' => 'bar' ) ),
39-
),
40-
);
27+
return array( array() );
4128
}
4229

4330
/**
4431
* @return array[] things that aren't deserialized by the deserializer
4532
*/
4633
public function nonDeserializableProvider() {
4734
return array(
48-
array( 'en' => array(
49-
array( 'language' => 'de', 'value' => 'Evil language' )
35+
'must be an array' => array( new \stdClass() ),
36+
'must be an array of arrays' => array( array(
37+
'en' => new \stdClass(),
38+
) ),
39+
'array key must match' => array( array(
40+
'en' => array( array( 'language' => 'de', 'value' => 'Evil language' ) ),
41+
) ),
42+
'must be an array of arrays of arrays' => array( array(
43+
'en' => array( 'A' ),
44+
'de' => array( 'B' ),
45+
) ),
46+
'must contain language' => array( array(
47+
'en' => array( array( 'value' => 'foo' ) ),
48+
) ),
49+
'must contain value' => array( array(
50+
'en' => array( array( 'language' => 'en' ) ),
5051
) ),
51-
array( 'en' => array( 'A' ), 'de' => array( 'B' ) ),
52-
array( 'en' => array(
53-
array( 'language' => 'en', 'value' => 'Evil language', 'source' => 'fallback' )
52+
'must not contain source' => array( array(
53+
'en' => array(
54+
array( 'language' => 'en', 'value' => 'Evil language', 'source' => 'fallback' ),
55+
),
5456
) ),
5557
);
5658
}

tests/unit/Deserializers/DeserializerBaseTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ public function testImplementsDeserializerInterface() {
2323
/**
2424
* @dataProvider deserializableProvider
2525
*/
26-
public function testIsDeserializerForReturnsTrue( $serializable ) {
26+
public function testIsDeserializerForReturnsTrue( $serializable = null ) {
2727
$deserializer = $this->buildDeserializer();
2828

2929
if ( $deserializer instanceof DispatchableDeserializer ) {
3030
$this->assertTrue( $deserializer->isDeserializerFor( $serializable ) );
3131
}
3232
else {
33-
$this->assertTrue( true );
33+
$this->assertNull( $serializable, 'not a DispatchableDeserializer' );
3434
}
3535
}
3636

tests/unit/Deserializers/EntityIdDeserializerTest.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
namespace Tests\Wikibase\DataModel\Deserializers;
44

55
use Wikibase\DataModel\Deserializers\EntityIdDeserializer;
6-
use Wikibase\DataModel\Entity\ItemId;
76
use Wikibase\DataModel\Entity\EntityIdParsingException;
7+
use Wikibase\DataModel\Entity\ItemId;
88

99
/**
1010
* @covers Wikibase\DataModel\Deserializers\EntityIdDeserializer
@@ -25,11 +25,7 @@ public function buildDeserializer() {
2525
}
2626

2727
public function deserializableProvider() {
28-
return array(
29-
array(
30-
'Q42'
31-
),
32-
);
28+
return array( array() );
3329
}
3430

3531
public function nonDeserializableProvider() {

tests/unit/Deserializers/ReferenceListDeserializerTest.php

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -29,31 +29,7 @@ public function buildDeserializer() {
2929
}
3030

3131
public function deserializableProvider() {
32-
return array(
33-
array(
34-
array()
35-
),
36-
array(
37-
array(
38-
array(
39-
'hash' => 'da39a3ee5e6b4b0d3255bfef95601890afd80709',
40-
'snaks' => array()
41-
)
42-
)
43-
),
44-
array(
45-
array(
46-
array(
47-
'hash' => 'da39a3ee5e6b4b0d3255bfef95601890afd80709',
48-
'snaks' => array()
49-
),
50-
array(
51-
'hash' => 'da39a3ee5e6b4b0d3255bfef95601890afd80709',
52-
'snaks' => array()
53-
),
54-
)
55-
),
56-
);
32+
return array( array() );
5733
}
5834

5935
public function nonDeserializableProvider() {

tests/unit/Deserializers/SiteLinkDeserializerTest.php

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -26,28 +26,7 @@ public function buildDeserializer() {
2626
}
2727

2828
public function deserializableProvider() {
29-
return array(
30-
array(
31-
array(
32-
'site' => 'test',
33-
'title' => 'Nyan Cat'
34-
)
35-
),
36-
array(
37-
array(
38-
'site' => 'enwiki',
39-
'title' => 'Nyan Cat',
40-
'badges' => array()
41-
)
42-
),
43-
array(
44-
array(
45-
'site' => 'enwiki',
46-
'title' => 'Nyan Cat',
47-
'badges' => array( 'Q42' )
48-
)
49-
),
50-
);
29+
return array( array() );
5130
}
5231

5332
public function nonDeserializableProvider() {

tests/unit/Deserializers/SnakListDeserializerTest.php

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -29,47 +29,7 @@ public function buildDeserializer() {
2929
}
3030

3131
public function deserializableProvider() {
32-
return array(
33-
array(
34-
array()
35-
),
36-
array(
37-
array(
38-
'P42' => array(
39-
array(
40-
'snaktype' => 'novalue',
41-
'property' => 'P42'
42-
)
43-
)
44-
)
45-
),
46-
array(
47-
array(
48-
'P42' => array(
49-
array(
50-
'snaktype' => 'novalue',
51-
'property' => 'P42'
52-
),
53-
array(
54-
'snaktype' => 'novalue',
55-
'property' => 'P42'
56-
)
57-
)
58-
)
59-
),
60-
array(
61-
array(
62-
array(
63-
'snaktype' => 'novalue',
64-
'property' => 'P42'
65-
),
66-
array(
67-
'snaktype' => 'novalue',
68-
'property' => 'P42'
69-
)
70-
)
71-
),
72-
);
32+
return array( array() );
7333
}
7434

7535
public function nonDeserializableProvider() {

tests/unit/Deserializers/StatementListDeserializerTest.php

Lines changed: 1 addition & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -36,67 +36,7 @@ public function buildDeserializer() {
3636
}
3737

3838
public function deserializableProvider() {
39-
return array(
40-
array(
41-
array()
42-
),
43-
array(
44-
array(
45-
'P42' => array(
46-
array(
47-
'mainsnak' => array(
48-
'snaktype' => 'novalue',
49-
'property' => 'P42'
50-
),
51-
'type' => 'statement',
52-
'rank' => 'normal'
53-
)
54-
)
55-
)
56-
),
57-
array(
58-
array(
59-
'P42' => array(
60-
array(
61-
'mainsnak' => array(
62-
'snaktype' => 'novalue',
63-
'property' => 'P42'
64-
),
65-
'type' => 'statement',
66-
'rank' => 'normal'
67-
),
68-
array(
69-
'mainsnak' => array(
70-
'snaktype' => 'novalue',
71-
'property' => 'P42'
72-
),
73-
'type' => 'statement',
74-
'rank' => 'normal'
75-
)
76-
)
77-
)
78-
),
79-
array(
80-
array(
81-
array(
82-
'mainsnak' => array(
83-
'snaktype' => 'novalue',
84-
'property' => 'P42'
85-
),
86-
'type' => 'statement',
87-
'rank' => 'normal'
88-
),
89-
array(
90-
'mainsnak' => array(
91-
'snaktype' => 'novalue',
92-
'property' => 'P42'
93-
),
94-
'type' => 'statement',
95-
'rank' => 'normal'
96-
)
97-
)
98-
),
99-
);
39+
return array( array() );
10040
}
10141

10242
public function nonDeserializableProvider() {

tests/unit/Deserializers/TermDeserializerTest.php

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,40 +21,35 @@ public function buildDeserializer() {
2121
return new TermDeserializer();
2222
}
2323

24-
/**
25-
* @return array[] things that are deserialized by the deserializer
26-
*/
2724
public function deserializableProvider() {
28-
return array(
29-
array(
30-
'language' => 'en',
31-
'value' => 'FooBar',
32-
),
33-
array(
34-
'language' => 'en-gb',
35-
'value' => 'Kittens, Kittens and Unicorns',
36-
),
37-
);
25+
return array( array() );
3826
}
3927

4028
/**
4129
* @return array[] things that aren't deserialized by the deserializer
4230
*/
4331
public function nonDeserializableProvider() {
4432
return array(
45-
array(
33+
'must be an array' => array( new \stdClass() ),
34+
'must contain language' => array( array(
35+
'value' => 'FooBar',
36+
) ),
37+
'must contain value' => array( array(
38+
'language' => 'de',
39+
) ),
40+
'language must be string' => array( array(
4641
'language' => 123,
4742
'value' => 'FooBar',
48-
),
49-
array(
43+
) ),
44+
'value must be string' => array( array(
5045
'language' => 'de',
5146
'value' => 999,
52-
),
53-
array(
47+
) ),
48+
'must not contain source' => array( array(
5449
'language' => 'fr',
5550
'value' => 'Fr to DE hehe',
5651
'source' => 'de',
57-
),
52+
) ),
5853
);
5954
}
6055

tests/unit/Deserializers/TermListDeserializerTest.php

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,38 +23,31 @@ public function buildDeserializer() {
2323
return new TermListDeserializer( new TermDeserializer() );
2424
}
2525

26-
/**
27-
* @return array[] things that are deserialized by the deserializer
28-
*/
2926
public function deserializableProvider() {
30-
return array(
31-
array(
32-
'en' => array( 'language' => 'en', 'value' => 'FooBar' ),
33-
),
34-
array(
35-
'en' => array( 'language' => 'en', 'value' => 'FooBar' ),
36-
'de' => array( 'language' => 'de', 'value' => 'ItsALydia' ),
37-
),
38-
);
27+
return array( array() );
3928
}
4029

4130
/**
4231
* @return array[] things that aren't deserialized by the deserializer
4332
*/
4433
public function nonDeserializableProvider() {
4534
return array(
46-
array(
35+
'must be an array' => array( new \stdClass() ),
36+
'must be an array of arrays' => array( array(
37+
'en' => new \stdClass(),
38+
) ),
39+
'must not contain source' => array( array(
4740
'en' => array( 'language' => 'en', 'value' => 'FooBar', 'source' => 'fr' ),
48-
),
49-
array(
41+
) ),
42+
'array key must match' => array( array(
5043
'en' => array( 'language' => 'de', 'value' => 'Evil language' ),
51-
),
52-
array(
44+
) ),
45+
'must contain value' => array( array(
5346
'en' => array( 'language' => 'en' ),
54-
),
55-
array(
47+
) ),
48+
'array key must be present' => array( array(
5649
8 => array( 'language' => 'en', 'value' => 'FooBar' ),
57-
),
50+
) ),
5851
);
5952
}
6053

tests/unit/SerializerFactoryTest.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
use Wikibase\DataModel\Snak\PropertyNoValueSnak;
1414
use Wikibase\DataModel\Snak\SnakList;
1515
use Wikibase\DataModel\Snak\TypedSnak;
16-
use Wikibase\DataModel\Statement\Statement;use Wikibase\DataModel\Statement\StatementList;
16+
use Wikibase\DataModel\Statement\Statement;
17+
use Wikibase\DataModel\Statement\StatementList;
1718
use Wikibase\DataModel\Term\AliasGroup;
1819
use Wikibase\DataModel\Term\AliasGroupList;
1920
use Wikibase\DataModel\Term\Term;

0 commit comments

Comments
 (0)