4 * @covers ChangesListFilter
6 class ChangesListFilterTest
extends MediaWikiTestCase
{
9 public function setUp() {
10 $this->group
= $this->getGroup( [ 'name' => 'group' ] );
15 protected function getGroup( $groupDefinition ) {
16 return new MockChangesListFilterGroup(
18 'isFullCoverage' => true,
19 'type' => 'some_type',
27 // @codingStandardsIgnoreStart
29 * @expectedException MWException
30 * @expectedExceptionMessage Filter names may not contain '_'. Use the naming convention: 'lowercase'
32 // @codingStandardsIgnoreEnd
33 public function testReservedCharacter() {
34 $filter = new MockChangesListFilter(
36 'group' => $this->group
,
37 'name' => 'some_name',
44 * @expectedException MWException
45 * @expectedExceptionMessage Supersets can only be defined for filters in the same group
47 public function testSetAsSupersetOf() {
48 $groupA = $this->getGroup(
62 $groupB = $this->getGroup(
73 $foo = TestingAccessWrapper
::newFromObject( $groupA->getFilter( 'foo' ) );
75 $bar = $groupA->getFilter( 'bar' );
77 $baz = $groupB->getFilter( 'baz' );
79 $foo->setAsSupersetOf( $bar );
80 $this->assertArrayEquals( [
87 /** ordered= */ false,
91 $foo->setAsSupersetOf( $baz );