X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2FGlobalFunctions%2FGlobalTest.php;h=d961e415e3d620a0a175b651b0b0dea4ec78c6a0;hb=3844fd9d639ed67cd3519eab2d7db440100cdd26;hp=5e54b8d4366ef68098906a0e5ce13d20acc07750;hpb=1a81ba9bcb801de0be82fbd44332dada53800879;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/GlobalFunctions/GlobalTest.php b/tests/phpunit/includes/GlobalFunctions/GlobalTest.php index 5e54b8d436..d961e415e3 100644 --- a/tests/phpunit/includes/GlobalFunctions/GlobalTest.php +++ b/tests/phpunit/includes/GlobalFunctions/GlobalTest.php @@ -473,26 +473,46 @@ class GlobalTest extends MediaWikiTestCase { ]; } + /** + * @covers ::wfMerge + */ + public function testMerge_worksWithLessParameters() { + $this->markTestSkippedIfNoDiff3(); + + $mergedText = null; + $successfulMerge = wfMerge( "old1\n\nold2", "old1\n\nnew2", "new1\n\nold2", $mergedText ); + + $mergedText = null; + $conflictingMerge = wfMerge( 'old', 'old and mine', 'old and yours', $mergedText ); + + $this->assertEquals( true, $successfulMerge ); + $this->assertEquals( false, $conflictingMerge ); + } + /** * @param string $old Text as it was in the database * @param string $mine Text submitted while user was editing * @param string $yours Text submitted by the user * @param bool $expectedMergeResult Whether the merge should be a success * @param string $expectedText Text after merge has been completed + * @param string $expectedMergeAttemptResult Diff3 output if conflicts occur * * @dataProvider provideMerge() * @group medium * @covers ::wfMerge */ - public function testMerge( $old, $mine, $yours, $expectedMergeResult, $expectedText ) { + public function testMerge( $old, $mine, $yours, $expectedMergeResult, $expectedText, + $expectedMergeAttemptResult ) { $this->markTestSkippedIfNoDiff3(); $mergedText = null; - $isMerged = wfMerge( $old, $mine, $yours, $mergedText ); + $attemptMergeResult = null; + $isMerged = wfMerge( $old, $mine, $yours, $mergedText, $mergeAttemptResult ); $msg = 'Merge should be a '; $msg .= $expectedMergeResult ? 'success' : 'failure'; $this->assertEquals( $expectedMergeResult, $isMerged, $msg ); + $this->assertEquals( $expectedMergeAttemptResult, $mergeAttemptResult ); if ( $isMerged ) { // Verify the merged text @@ -530,6 +550,9 @@ class GlobalTest extends MediaWikiTestCase { "one one one ONE ONE\n" . "\n" . "two two TWO TWO\n", // note: will always end in a newline + + // mergeAttemptResult: + "", ], // #1: conflict, fail @@ -552,6 +575,13 @@ class GlobalTest extends MediaWikiTestCase { // result: null, + + // mergeAttemptResult: + "1,3c\n" . + "one one one\n" . + "\n" . + "two two\n" . + ".\n", ], ]; }