mirror of
https://github.com/Universal-Omega/PortableInfobox.git
synced 2024-11-15 03:35:53 +00:00
footer
This commit is contained in:
parent
87d1005f1b
commit
99ca2eb705
|
@ -2,16 +2,15 @@
|
|||
namespace Wikia\PortableInfobox\Parser\Nodes;
|
||||
|
||||
class NodeFooter extends Node {
|
||||
const LINKS_TAG_NAME = 'links';
|
||||
|
||||
public function getData() {
|
||||
$data = [];
|
||||
$data['links'] = $this->parseWithExternalParser( (string) $this->xmlNode->{self::LINKS_TAG_NAME}, true );
|
||||
$data['value'] = $this->parseWithExternalParser( (string) $this->xmlNode, true );
|
||||
return $data;
|
||||
}
|
||||
|
||||
public function isEmpty( $data ) {
|
||||
$links = trim( $data['links'] );
|
||||
$links = trim( $data['value'] );
|
||||
return empty( $links );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<footer class="portable-infobox-footer portable-infobox-item-margins portable-infobox-header-background
|
||||
portable-infobox-header-font">
|
||||
{{{links}}}
|
||||
{{{value}}}
|
||||
</footer>
|
||||
|
|
|
@ -52,11 +52,11 @@ class PortableInfoboxParserNodesTest extends WikiaBaseTest {
|
|||
}
|
||||
|
||||
public function testNodeFooter() {
|
||||
$string = '<footer><links>123</links></footer>';
|
||||
$string = '<footer>123</footer>';
|
||||
$xml = simplexml_load_string( $string );
|
||||
|
||||
$node = new Wikia\PortableInfobox\Parser\Nodes\NodeFooter( $xml, [ ] );
|
||||
$this->assertTrue( $node->getData()[ 'links' ] == '123' );
|
||||
$this->assertTrue( $node->getData()[ 'value' ] == '123' );
|
||||
}
|
||||
|
||||
public function testNodeGroup() {
|
||||
|
|
|
@ -28,7 +28,13 @@ class PortableInfoboxRenderServiceTest extends PHPUnit_Framework_TestCase {
|
|||
$actualDOM->loadXML($actualOutput);
|
||||
$expectedDOM->loadXML($expectedOutput);
|
||||
|
||||
$this->assertEquals( $expectedDOM->saveXML(), $actualDOM->saveXML(), $description );
|
||||
// lets sanitize expected and actual HTML to not deal with whitespaces
|
||||
$from = ['/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s', '/> </s'];
|
||||
$to = ['>', '<', '\\1', '><'];
|
||||
$expectedHtml = preg_replace($from, $to, $expectedDOM->saveXML());
|
||||
$actualHtml = preg_replace($from, $to, $actualDOM->saveXML());
|
||||
|
||||
$this->assertEquals( $expectedHtml, $actualHtml, $description );
|
||||
}
|
||||
|
||||
public function testRenderInfoboxDataProvider() {
|
||||
|
@ -51,6 +57,19 @@ class PortableInfoboxRenderServiceTest extends PHPUnit_Framework_TestCase {
|
|||
'output' => '<aside class="portable-infobox"><div class="portable-infobox-item item-type-title portable-infobox-item-margins"><h2 class="portable-infobox-title">Test Title</h2></div></aside>',
|
||||
'description' => 'Only title'
|
||||
],
|
||||
[
|
||||
'input' => [
|
||||
[
|
||||
'type' => 'footer',
|
||||
'data' => [
|
||||
'value' => 'Footer value',
|
||||
'isEmpty' => false
|
||||
]
|
||||
]
|
||||
],
|
||||
'output' => '<aside class="portable-infobox"><footer class="portable-infobox-footer portable-infobox-item-margins portable-infobox-header-background portable-infobox-header-font">Footer value</footer></aside>',
|
||||
'description' => 'Footer only'
|
||||
],
|
||||
[
|
||||
'input' => [
|
||||
[
|
||||
|
|
|
@ -27,7 +27,7 @@ class XmlParserTest extends WikiaBaseTest {
|
|||
<infobox>
|
||||
<comparison>
|
||||
<set>
|
||||
<header><value>Combatientes</value></header>
|
||||
<header>Combatientes</header>
|
||||
<data source="lado1" />
|
||||
<data source="lado2" />
|
||||
</set>
|
||||
|
@ -59,14 +59,12 @@ class XmlParserTest extends WikiaBaseTest {
|
|||
<title><default>ABB</default></title>
|
||||
<comparison>
|
||||
<set>
|
||||
<header><value>Combatientes</value></header>
|
||||
<header>Combatientes</header>
|
||||
<data source="lado1" />
|
||||
<data source="lado2" />
|
||||
</set>
|
||||
</comparison>
|
||||
<footer>
|
||||
<links>[[aaa]]</links>
|
||||
</footer>
|
||||
<footer>[[aaa]]</footer>
|
||||
</infobox>
|
||||
';
|
||||
$data = $parser->getDataFromXmlString( $markup );
|
||||
|
|
Loading…
Reference in a new issue