Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
DiffRenderer
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
2 / 2
2
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
 renderSchemaDiffTable
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare( strict_types = 1 );
4
5namespace EntitySchema\Presentation;
6
7use DifferenceEngine;
8use EntitySchema\MediaWiki\Content\EntitySchemaSlotDiffRenderer;
9use Message;
10use MessageLocalizer;
11
12/**
13 * @license GPL-2.0-or-later
14 */
15class DiffRenderer {
16
17    private MessageLocalizer $msgLocalizer;
18    private EntitySchemaSlotDiffRenderer $slotDiffRenderer;
19
20    public function __construct(
21        MessageLocalizer $msgLocalizer,
22        EntitySchemaSlotDiffRenderer $slotDiffRenderer
23    ) {
24        $this->msgLocalizer = $msgLocalizer;
25        $this->slotDiffRenderer = $slotDiffRenderer;
26    }
27
28    public function renderSchemaDiffTable( string $diffRowsHTML, Message $leftSideHeading ): string {
29        $diffEngine = new DifferenceEngine();
30        return $diffEngine->addHeader(
31            $this->slotDiffRenderer->localizeDiff( $diffRowsHTML ),
32            $leftSideHeading->parse(),
33            $this->msgLocalizer->msg( 'yourtext' )->parse()
34        );
35    }
36
37}