diff options
author | Yaco <franco@reevo.org> | 2020-06-04 11:01:00 -0300 |
---|---|---|
committer | Yaco <franco@reevo.org> | 2020-06-04 11:01:00 -0300 |
commit | fc7369835258467bf97eb64f184b93691f9a9fd5 (patch) | |
tree | daabd60089d2dd76d9f5fb416b005fbe159c799d /www/wiki/tests/phpunit/includes/search/SearchIndexFieldTest.php |
first commit
Diffstat (limited to 'www/wiki/tests/phpunit/includes/search/SearchIndexFieldTest.php')
-rw-r--r-- | www/wiki/tests/phpunit/includes/search/SearchIndexFieldTest.php | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/search/SearchIndexFieldTest.php b/www/wiki/tests/phpunit/includes/search/SearchIndexFieldTest.php new file mode 100644 index 00000000..8b4119e0 --- /dev/null +++ b/www/wiki/tests/phpunit/includes/search/SearchIndexFieldTest.php @@ -0,0 +1,56 @@ +<?php + +/** + * @group Search + * @covers SearchIndexFieldDefinition + */ +class SearchIndexFieldTest extends MediaWikiTestCase { + + public function getMergeCases() { + return [ + [ 0, 'test', 0, 'test', true ], + [ SearchIndexField::INDEX_TYPE_NESTED, 'test', + SearchIndexField::INDEX_TYPE_NESTED, 'test', false ], + [ 0, 'test', 0, 'test2', true ], + [ 0, 'test', 1, 'test', false ], + ]; + } + + /** + * @dataProvider getMergeCases + * @param int $t1 + * @param string $n1 + * @param int $t2 + * @param string $n2 + * @param bool $result + */ + public function testMerge( $t1, $n1, $t2, $n2, $result ) { + $field1 = + $this->getMockBuilder( SearchIndexFieldDefinition::class ) + ->setMethods( [ 'getMapping' ] ) + ->setConstructorArgs( [ $n1, $t1 ] ) + ->getMock(); + $field2 = + $this->getMockBuilder( SearchIndexFieldDefinition::class ) + ->setMethods( [ 'getMapping' ] ) + ->setConstructorArgs( [ $n2, $t2 ] ) + ->getMock(); + + if ( $result ) { + $this->assertNotFalse( $field1->merge( $field2 ) ); + } else { + $this->assertFalse( $field1->merge( $field2 ) ); + } + + $field1->setFlag( 0xFF ); + $this->assertFalse( $field1->merge( $field2 ) ); + + $field1->setMergeCallback( + function ( $a, $b ) { + return "test"; + } + ); + $this->assertEquals( "test", $field1->merge( $field2 ) ); + } + +} |