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

Reply via email to