Skip to content

Commit

Permalink
Provide FormBuilderIteratorTest
Browse files Browse the repository at this point in the history
More code coverage for Form components. Checks if children are accessible.
  • Loading branch information
Mike Meier committed Apr 11, 2016
1 parent 471f14f commit 61d8a4b
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions Tests/Util/FormBuilderIteratorTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?php

/*
* This file is part of the Sonata Project package.
*
* (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/

namespace Sonata\AdminBundle\Tests\Util;

use Sonata\AdminBundle\Util\FormBuilderIterator;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Form\FormBuilder;
use Symfony\Component\Form\FormFactoryInterface;

/**
* @author Mike Meier <mike.meier@ibrows.ch>
*/
class FormBuilderIteratorTest extends \PHPUnit_Framework_TestCase
{
/**
* @var EventDispatcherInterface
*/
private $dispatcher;

/**
* @var FormFactoryInterface
*/
private $factory;

/**
* @var FormBuilder
*/
private $builder;

protected function setUp()
{
$this->dispatcher = $this->getMock('Symfony\Component\EventDispatcher\EventDispatcherInterface');
$this->factory = $this->getMock('Symfony\Component\Form\FormFactoryInterface');
$this->builder = new TestFormBuilder('name', null, $this->dispatcher, $this->factory);
$this->factory->expects($this->any())->method('createNamedBuilder')->willReturn($this->builder);
}

protected function tearDown()
{
$this->dispatcher = null;
$this->factory = null;
$this->builder = null;
}

public function testConstructor()
{
new FormBuilderIterator($this->builder);
}

public function testGetChildren()
{
$this->builder->add('name', 'text');
$iterator = new FormBuilderIterator($this->builder);
$this->assertInstanceOf(get_class($iterator), $iterator->getChildren());
}

public function testHasChildren()
{
$this->builder->add('name', 'text');
$iterator = new FormBuilderIterator($this->builder);
$this->assertTrue($iterator->hasChildren());
}
}

class TestFormBuilder extends FormBuilder
{
}

0 comments on commit 61d8a4b

Please sign in to comment.