Jdlrobson has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/383411 )
Change subject: Restore table of content generation tests ...................................................................... Restore table of content generation tests Bug: T175856 Change-Id: Ie6c023924cf4d1623243cb879974b945772d5962 --- M includes/BookRenderer.php M tests/phpunit/includes/BookRendererTest.php 2 files changed, 24 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Collection refs/changes/11/383411/1 diff --git a/includes/BookRenderer.php b/includes/BookRenderer.php index d4e01ee..ef1a0f6 100644 --- a/includes/BookRenderer.php +++ b/includes/BookRenderer.php @@ -34,7 +34,7 @@ * Also, an outline will be added (see renderCoverAndToc() for format). * @return array with keys html representing the data needed to render the book */ - private function getBookTemplateData( $collection, $pages, $metadata ) { + public function getBookTemplateData( $collection, $pages, $metadata ) { $hasChapters = !empty( array_filter( $collection['items'], function ( $item ) { return $item['type'] === 'chapter'; } ) ); diff --git a/tests/phpunit/includes/BookRendererTest.php b/tests/phpunit/includes/BookRendererTest.php index 4cb7072..b097ea2 100644 --- a/tests/phpunit/includes/BookRendererTest.php +++ b/tests/phpunit/includes/BookRendererTest.php @@ -9,6 +9,18 @@ class BookRendererTest extends MediaWikiTestCase { /** + * @dataProvider provideGetBookTemplateDataOutlineGeneration + */ + public function testGetBookTemplateDataOutlineGeneration( + $collection, $pages, $metadata, $expectedOutline + ) { + $templateParser = new TemplateParser( __DIR__ . '/../../../templates' ); + $renderer = new BookRenderer( $templateParser ); + $data = $renderer->getBookTemplateData( $collection, $pages, $metadata ); + $this->assertArraySame( $expectedOutline, $data['outline'], 'Check table of contents generation' ); + } + + /** * @dataProvider provideRenderBook * @param array[] $collection Collection, as returned by CollectionSession::getCollection(). * @param string[] $pages Map of prefixed DB key => Parsoid HTML. @@ -35,6 +47,17 @@ ]; } + public function provideGetBookTemplateDataOutlineGeneration() { + $cases = []; + foreach ( [ 'single_page', 'two_pages', 'chapters', 'id_conflict', 'header_conflict' ] as $key ) { + $eg = $this->loadData( $key ); + $cases[] = [ + $eg['collection'], $eg['pages'], $eg['metadata'], $eg['expectedOutline'], + ]; + } + return $cases; + } + /** * @param string $title Book title * @param string $subtitle Book subtitle -- To view, visit https://gerrit.wikimedia.org/r/383411 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie6c023924cf4d1623243cb879974b945772d5962 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Collection Gerrit-Branch: master Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits