1<?php
2
3/**
4 * @covers DifferenceEngineSlotDiffRenderer
5 */
6class DifferenceEngineSlotDiffRendererTest extends MediaWikiIntegrationTestCase {
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			->onlyMethods( [ '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