Skip to content
This repository was archived by the owner on Nov 21, 2019. It is now read-only.

Commit 6c03197

Browse files
Fix JATS section levels (#53)
* Fix JATS section levels * Trigger Travis build
1 parent 679fc76 commit 6c03197

File tree

2 files changed

+50
-4
lines changed

2 files changed

+50
-4
lines changed

vendor-extra/JatsContentBundle/src/ViewConverter/SectionVisitor.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function __construct(ViewConverter $converter)
2929

3030
protected function doVisit(Element $object, View $view) : View
3131
{
32-
if ($view->hasContext('level')) {
32+
if (!$view->hasContext('level')) {
3333
$view = $view->withContext(['level' => 1]);
3434
}
3535

vendor-extra/JatsContentBundle/tests/ViewConverter/SectionVisitorTest.php

Lines changed: 49 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,13 +79,12 @@ public function it_sets_the_heading_and_content_arguments(string $xml, array $ex
7979
$visitor = new SectionVisitor($this->createDumpingConverter());
8080

8181
$element = $this->loadElement($xml);
82-
$context = ['level' => 1];
8382

84-
$view = $visitor->visit($element, new View(null, [], $context));
83+
$view = $visitor->visit($element, new View(null));
8584

8685
$this->assertSame('@LiberoPatterns/section.html.twig', $view->getTemplate());
8786
$this->assertEquals($expectedArguments, $view->getArguments());
88-
$this->assertSame($context, $view->getContext());
87+
$this->assertSame(['level' => 1], $view->getContext());
8988
}
9089

9190
public function contentProvider() : iterable
@@ -156,4 +155,51 @@ public function contentProvider() : iterable
156155
],
157156
];
158157
}
158+
159+
/**
160+
* @test
161+
*/
162+
public function it_uses_the_current_level() : void
163+
{
164+
$visitor = new SectionVisitor($this->createDumpingConverter());
165+
166+
$element = $this->loadElement(
167+
<<<XML
168+
<jats:sec xmlns:jats="http://jats.nlm.nih.gov">
169+
<jats:p>foo</jats:p>
170+
<jats:p>bar</jats:p>
171+
</jats:sec>
172+
XML
173+
);
174+
175+
$context = ['level' => 3];
176+
177+
$view = $visitor->visit($element, new View(null, [], $context));
178+
179+
$this->assertSame('@LiberoPatterns/section.html.twig', $view->getTemplate());
180+
$this->assertEquals(
181+
[
182+
'content' => [
183+
new View(
184+
null,
185+
[
186+
'node' => '/jats:sec/jats:p[1]',
187+
'template' => null,
188+
'context' => ['level' => 4],
189+
]
190+
),
191+
new View(
192+
null,
193+
[
194+
'node' => '/jats:sec/jats:p[2]',
195+
'template' => null,
196+
'context' => ['level' => 4],
197+
]
198+
),
199+
],
200+
],
201+
$view->getArguments()
202+
);
203+
$this->assertSame($context, $view->getContext());
204+
}
159205
}

0 commit comments

Comments
 (0)