Add Textarea

This commit is contained in:
Thomas Peterson 2020-02-22 22:24:34 +01:00
parent 8bf474181e
commit 443f711aa3
5 changed files with 74 additions and 1 deletions

View File

@ -6,6 +6,7 @@ use PSC\Library\Calc\Option\Parser\Input;
use PSC\Library\Calc\Option\Parser\Select;
use PSC\Library\Calc\Option\Parser\Template;
use PSC\Library\Calc\Option\Parser\Text;
use PSC\Library\Calc\Option\Parser\Textarea;
use PSC\Library\Calc\PaperContainer\Container;
class Parser
@ -30,9 +31,11 @@ class Parser
$obj = new Select($node);
break;
case 'text':
case 'textarea':
$obj = new Text($node);
break;
case 'textarea':
$obj = new Textarea($node);
break;
case 'hidden':
$obj = new Hidden($node);
break;

View File

@ -0,0 +1,22 @@
<?php
namespace PSC\Library\Calc\Option\Parser;
class Textarea extends Base
{
protected $element;
public function __construct(\SimpleXMLElement $node)
{
$this->element = new \PSC\Library\Calc\Option\Type\Textarea();
parent::__construct($node);
}
public function parse()
{
parent::parse();
return $this->element;
}
}

View File

@ -0,0 +1,9 @@
<?php
namespace PSC\Library\Calc\Option\Type;
class Textarea extends Base
{
static public $type = 'textarea';
}

View File

@ -0,0 +1,37 @@
<?php
namespace PSC\Library\Calc\Tests\Option\Type;
use PSC\Library\Calc\Option\Parser;
use PSC\Library\Calc\Option\Type\Input;
use PSC\Library\Calc\PaperContainer\Container;
class TextareaTest extends \PHPUnit_Framework_TestCase
{
public function testIfCorrectType()
{
$parser = new Parser();
/** @var Parser\Input $obj */
$obj = $parser->getOptByType(simplexml_load_string(file_get_contents(__DIR__ . '/../../TestFiles/Option/textarea.xml')));
/** @var Input $element */
$element = $obj->parse();
$this->assertInstanceOf('PSC\Library\Calc\Option\Type\Textarea', $element);
}
public function testIfCorrectAttributes()
{
$parser = new Parser();
/** @var Parser\Input $obj */
$obj = $parser->getOptByType(simplexml_load_string(file_get_contents(__DIR__ . '/../../TestFiles/Option/textarea.xml')));
/** @var Input $element */
$element = $obj->parse();
$this->assertInstanceOf('PSC\Library\Calc\Option\Type\Textarea', $element);
$this->assertEquals('testtext', $element->getDefault());
$this->assertEquals('t60', $element->getId());
$this->assertEquals('', $element->getName());
}
}

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<option id="t60" name="" type="Textarea" default="testtext"></option>