07dec055cb3f7dea4280f94c5bd6a3ddb9b69599
[lhc/web/wiklou.git] / tests / phpunit / includes / changes / ChangesListBooleanFilterGroupTest.php
1 <?php
2
3 use Wikimedia\TestingAccessWrapper;
4
5 /**
6 * @covers ChangesListBooleanFilterGroup
7 */
8 class ChangesListBooleanFilterGroupTest extends MediaWikiTestCase {
9 public function testIsFullCoverage() {
10 $hideGroupDefault = TestingAccessWrapper::newFromObject(
11 new ChangesListBooleanFilterGroup( [
12 'name' => 'groupName',
13 'priority' => 1,
14 'filters' => [],
15 ] )
16 );
17
18 $this->assertSame(
19 true,
20 $hideGroupDefault->isFullCoverage
21 );
22 }
23
24 public function testGetJsData() {
25 $definition = [
26 'name' => 'some-group',
27 'title' => 'some-group-title',
28 'priority' => 1,
29 'filters' => [
30 [
31 'name' => 'hidefoo',
32 'label' => 'foo-label',
33 'description' => 'foo-description',
34 'default' => true,
35 'showHide' => 'showhidefoo',
36 'priority' => 2,
37 ],
38 [
39 'name' => 'hidebar',
40 'label' => 'bar-label',
41 'description' => 'bar-description',
42 'default' => false,
43 'priority' => 4,
44 ]
45 ],
46 ];
47
48 $group = new ChangesListBooleanFilterGroup( $definition );
49
50 $this->assertArrayEquals(
51 [
52 'name' => 'some-group',
53 'title' => 'some-group-title',
54 'type' => ChangesListBooleanFilterGroup::TYPE,
55 'priority' => 1,
56 'filters' => [
57 [
58 'name' => 'hidebar',
59 'label' => 'bar-label',
60 'description' => 'bar-description',
61 'default' => false,
62 'priority' => 4,
63 'cssClass' => null,
64 'conflicts' => [],
65 'subset' => [],
66 ],
67 [
68 'name' => 'hidefoo',
69 'label' => 'foo-label',
70 'description' => 'foo-description',
71 'default' => true,
72 'priority' => 2,
73 'cssClass' => null,
74 'conflicts' => [],
75 'subset' => [],
76 ],
77 ],
78 'conflicts' => [],
79 'fullCoverage' => true,
80 'messageKeys' => [
81 'some-group-title',
82 'bar-label',
83 'bar-description',
84 'foo-label',
85 'foo-description',
86 ],
87 ],
88
89 $group->getJsData(),
90 /** ordered= */ false,
91 /** named= */ true
92 );
93 }
94 }