Separate MediaWiki unit and integration tests
[lhc/web/wiklou.git] / tests / phpunit / unit / includes / diff / DifferenceEngineSlotDiffRendererTest.php
1 <?php
2
3 /**
4 * @covers DifferenceEngineSlotDiffRenderer
5 */
6 class DifferenceEngineSlotDiffRendererTest extends \PHPUnit\Framework\TestCase {
7
8 public function testGetDiff() {
9 $differenceEngine = new CustomDifferenceEngine();
10 $slotDiffRenderer = new DifferenceEngineSlotDiffRenderer( $differenceEngine );
11 $oldContent = ContentHandler::makeContent( 'xxx', null, CONTENT_MODEL_TEXT );
12 $newContent = ContentHandler::makeContent( 'yyy', null, CONTENT_MODEL_TEXT );
13
14 $diff = $slotDiffRenderer->getDiff( $oldContent, $newContent );
15 $this->assertEquals( 'xxx|yyy', $diff );
16
17 $diff = $slotDiffRenderer->getDiff( null, $newContent );
18 $this->assertEquals( '|yyy', $diff );
19
20 $diff = $slotDiffRenderer->getDiff( $oldContent, null );
21 $this->assertEquals( 'xxx|', $diff );
22 }
23
24 public function testAddModules() {
25 $output = $this->getMockBuilder( OutputPage::class )
26 ->disableOriginalConstructor()
27 ->setMethods( [ 'addModules' ] )
28 ->getMock();
29 $output->expects( $this->once() )
30 ->method( 'addModules' )
31 ->with( 'foo' );
32 $differenceEngine = new CustomDifferenceEngine();
33 $slotDiffRenderer = new DifferenceEngineSlotDiffRenderer( $differenceEngine );
34 $slotDiffRenderer->addModules( $output );
35 }
36
37 public function testGetExtraCacheKeys() {
38 $differenceEngine = new CustomDifferenceEngine();
39 $slotDiffRenderer = new DifferenceEngineSlotDiffRenderer( $differenceEngine );
40 $extraCacheKeys = $slotDiffRenderer->getExtraCacheKeys();
41 $this->assertSame( [ 'foo' ], $extraCacheKeys );
42 }
43
44 }