jenkins-bot has submitted this change and it was merged. (
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, 26 insertions(+), 2 deletions(-)
Approvals:
Bmansurov: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/BookRenderer.php b/includes/BookRenderer.php
index d4e01ee..231868e 100644
--- a/includes/BookRenderer.php
+++ b/includes/BookRenderer.php
@@ -29,12 +29,12 @@
* @param array[] $collection as returned by
* CollectionSession::getCollection().
* @param string[] $pages Map of prefixed DB key => Parsoid HTML.
-* @param array[] &$metadata Map of prefixed DB key => metadata, as
returned by fetchMetadata().
+* @param array[] $metadata Map of prefixed DB key => metadata, as
returned by fetchMetadata().
* Section data will be updated to account for heading level and id
changes.
* 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..c3d9ccc 100644
--- a/tests/phpunit/includes/BookRendererTest.php
+++ b/tests/phpunit/includes/BookRendererTest.php
@@ -9,6 +9,19 @@
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 +48,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: merged
Gerrit-Change-Id: Ie6c023924cf4d1623243cb879974b945772d5962
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Collection
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson
Gerrit-Reviewer: Bmansurov
Gerrit-Reviewer: C. Scott Ananian
Gerrit-Reviewer: jenkins-bot <>
___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits