setLanguage( 'qqx' ); $differ->setLocalizer( $localizer ); TestingAccessWrapper::newFromObject( $differ )->haveMoveSupport = true; return $differ; } /** * @requires extension wikidiff2 */ public function testRenderBatch() { $oldText = 'foo'; $newText = 'bar'; $differ = new Wikidiff2TextDiffer(); // Should not need a MessageLocalizer $result = $differ->renderBatch( $oldText, $newText, [ 'table', 'inline' ] ); $this->assertSame( [ 'table' => TextDifferData::WIKIDIFF2_TABLE, 'inline' => TextDifferData::WIKIDIFF2_INLINE ], $result ); } public function testGetName() { $differ = new Wikidiff2TextDiffer(); $this->assertSame( 'wikidiff2', $differ->getName() ); } public function testGetFormatContext() { $differ = new Wikidiff2TextDiffer(); $this->assertSame( TextDiffer::CONTEXT_ROW, $differ->getFormatContext( 'table' ) ); } public static function provideGetTablePrefixes() { return [ [ 'table', 'class="mw-diff-inline-legend oo-ui-element-hidden".*\(diff-inline-tooltip-ins\)' ], [ 'inline', 'class="mw-diff-inline-legend".*\(diff-inline-tooltip-ins\)' ], ]; } /** * @dataProvider provideGetTablePrefixes * @param string $format * @param string $pattern */ public function testGetTablePrefixes( $format, $pattern ) { $differ = $this->createDiffer(); $result = $differ->getTablePrefixes( $format ); $this->assertMatchesRegularExpression( '{' . $pattern . '}s', $result[TextSlotDiffRenderer::INLINE_LEGEND_KEY] ); } public static function provideLocalize() { return [ 'normal table' => [ 'table', TextDifferData::WIKIDIFF2_TABLE, [], '