Browse Source

ViewHelpers tested

master
Anton Grebnev 13 years ago
parent
commit
e365086ff7
  1. 60
      tests/view/helpers/BreadcrumbVeiwHelperTest.php
  2. 72
      tests/view/helpers/GetViewHelperTest.php
  3. 47
      tests/view/helpers/HeadViewHelperTest.php
  4. 74
      tests/view/helpers/MsgViewHelperTest.php
  5. 47
      tests/view/helpers/TitleViewHelperTest.php

60
tests/view/helpers/BreadcrumbVeiwHelperTest.php

@ -0,0 +1,60 @@
<?php
/*
* @copyright NetMonsters <team@netmonsters.ru>
* @link http://netmonsters.ru
* @package Majestic
* @subpackage UnitTests
* @since 2011-10-11
*
* Unit tests for PHPView class
*/
require_once dirname(__FILE__) . '/../../../Registry.php';
require_once dirname(__FILE__) . '/../../../view/helpers/ViewHelper.php';
require_once dirname(__FILE__) . '/../../../view/helpers/BreadcrumbViewHelper.php';
class BreadcrumbViewHelperTest extends PHPUnit_Framework_TestCase
{
public $helper;
public function setUp()
{
Registry::set('BreadcrumbViewHelper', array());
$this->helper = new BreadcrumbViewHelper(new PHPView('any'));
}
public function testTitle()
{
$this->helper->breadcrumb('Guest page', 'guest.php');
$result = Registry::get('BreadcrumbViewHelper');
$this->assertSame(array('Guest page' => 'guest.php'), Registry::get('BreadcrumbViewHelper'));
$this->helper->prepend('Leave message', 'feedback.php');
$this->assertSame(array('Leave message' => 'feedback.php', 'Guest page' => 'guest.php'), Registry::get('BreadcrumbViewHelper'));
$this->helper->append('Home page', 'home.php');
$this->assertSame(array('Leave message' => 'feedback.php', 'Guest page' => 'guest.php', 'Home page' => 'home.php'), Registry::get('BreadcrumbViewHelper'));
}
public function testToString()
{
$this->helper->prepend('Home page', 'home.php');
$this->helper->breadcrumb('Guest page', 'guest.php');
$this->helper->append('Leave message', 'feedback.php');
$this->assertSame(array('Home page' => 'home.php', 'Guest page' => 'guest.php', 'Leave message'=> 'feedback.php'), Registry::get('BreadcrumbViewHelper'));
$result = $this->helper->__toString();
$this->assertSame('<a href="home.php">Home page</a> &gt; <a href="guest.php">Guest page</a> &gt; <a href="feedback.php">Leave message</a>', $result);
$this->helper->setSeparator('-');
$result = $this->helper->__toString();
$this->assertSame('<a href="home.php">Home page</a>-<a href="guest.php">Guest page</a>-<a href="feedback.php">Leave message</a>', $result);
$this->helper->append('Last page', '');
$result = $this->helper->__toString();
$this->assertSame('<a href="home.php">Home page</a>-<a href="guest.php">Guest page</a>-<a href="feedback.php">Leave message</a>-Last page', $result);
}
}

72
tests/view/helpers/GetViewHelperTest.php

@ -0,0 +1,72 @@
<?php
/*
* @copyright NetMonsters <team@netmonsters.ru>
* @link http://netmonsters.ru
* @package Majestic
* @subpackage UnitTests
* @since 2011-10-11
*
* Unit tests for PHPView class
*/
require_once dirname(__FILE__) . '/../../../classes/Env.class.php';
require_once dirname(__FILE__) . '/../../../view/iView.php';
require_once dirname(__FILE__) . '/../../../view/PHPView.php';
require_once dirname(__FILE__) . '/../../../view/helpers/ViewHelper.php';
require_once dirname(__FILE__) . '/../../../view/helpers/GetViewHelper.php';
class GetViewHelperTest extends PHPUnit_Framework_TestCase
{
public $helper;
public function setUp()
{
$this->helper = new GetViewHelper(new PHPView('any'));
}
/**
* @TODO: GetViewHelper: initialize GetViewHelper::$get with empty array()
* @expectedException PHPUnit_Framework_Error
*/
public function testGetWithNull()
{
$this->helper->get(null);
}
/**
* @TODO: GetViewHelper: check $_GET not null
* @expectedException PHPUnit_Framework_Error
*/
public function testGetEmptyGET()
{
$result = $this->helper->get('param');
}
public function testGetWithSingleParam()
{
$_GET['a'] = 'b';
$result = $this->helper->get(null);
$this->assertEquals('?a=b', $result);
$this->helper = new GetViewHelper(new PHPView('any'));
$_GET['a'] = 'b';
$_GET['b'] = 'a';
$result = $this->helper->get(array('a' => 'c'));
$this->assertEquals('?a=c&amp;b=a', $result);
$_GET['a'] = 'b';
$_GET['b'] = 'a';
$result = $this->helper->get(array('a'));
$this->assertEquals('?b=a', $result);
}
public function testGetWithArray()
{
$_GET['a'] = array('one' => 1, 'two' => 2);
$_GET['b'] = 'a';
$_GET['c'] = array('three' => 'four');
$result = $this->helper->get(array('b' => 'c', 'c' => array('five' => 'six')));
$this->assertEquals('?a[one]=1&amp;a[two]=2&amp;b=c&amp;c[five]=six', $result);
}
}

47
tests/view/helpers/HeadViewHelperTest.php

@ -0,0 +1,47 @@
<?php
/*
* @copyright NetMonsters <team@netmonsters.ru>
* @link http://netmonsters.ru
* @package Majestic
* @subpackage UnitTests
* @since 2011-10-11
*
* Unit tests for PHPView class
*/
require_once dirname(__FILE__) . '/../../../Registry.php';
require_once dirname(__FILE__) . '/../../../view/helpers/ViewHelper.php';
require_once dirname(__FILE__) . '/../../../view/helpers/HeadViewHelper.php';
class HeadViewHelperTest extends PHPUnit_Framework_TestCase
{
public $helper;
public function setUp()
{
Registry::set('HeadViewHelper', array());
$this->helper = new HeadViewHelper(null);
}
public function testHead()
{
$this->helper->head('<meta />');
$result = Registry::get('HeadViewHelper');
$this->assertSame(array('<meta />'), Registry::get('HeadViewHelper'));
$this->helper->head('<link />');
$this->assertSame(array('<meta />', '<link />'), Registry::get('HeadViewHelper'));
}
public function testToString()
{
$this->helper->head('<meta />');
$this->helper->head('<link />');
$result = $this->helper->__toString();
$this->assertSame("<meta />\n <link />\n", $result);
}
}

74
tests/view/helpers/MsgViewHelperTest.php

@ -0,0 +1,74 @@
<?php
/*
* @copyright NetMonsters <team@netmonsters.ru>
* @link http://netmonsters.ru
* @package Majestic
* @subpackage UnitTests
* @since 2011-10-11
*
* Unit tests for PHPView class
*/
require_once dirname(__FILE__) . '/../../../session/Session.php';
require_once dirname(__FILE__) . '/../../../view/iView.php';
require_once dirname(__FILE__) . '/../../../view/PHPView.php';
require_once dirname(__FILE__) . '/../../../view/helpers/ViewHelper.php';
require_once dirname(__FILE__) . '/../../../view/helpers/MsgViewHelper.php';
class MsgViewHelperTest extends PHPUnit_Framework_TestCase
{
public $helper;
public function setUp()
{
Session::del('MsgViewHelper');
$this->helper = new MsgViewHelper(new PHPView(array('path' => 'any')));
}
public function testMsg()
{
$this->helper->msg('new message from test', 'success');
$this->assertSame(array('message' => 'new message from test', 'type' => 'success'), Session::get('MsgViewHelper'));
$this->assertSame($this->helper, $this->helper->msg('error message', 'error'));
$this->assertSame(array('message' => 'error message', 'type' => 'error'), Session::get('MsgViewHelper'));
}
/**
* @expectedException Exception
* @expectedExceptionMessage Unknown message type
*/
public function testWrongType()
{
$this->helper->msg('some message', 'wrong');
}
public function testSuccess()
{
$this->helper->success('success message');
$this->assertSame(array('message' => 'success message', 'type' => 'success'), Session::get('MsgViewHelper'));
}
public function testError()
{
$this->helper->error('error message');
$this->assertSame(array('message' => 'error message', 'type' => 'error'), Session::get('MsgViewHelper'));
$this->assertNull(Session::get('test'));
}
public function testToString()
{
$this->helper->success('yeah');
$result = $this->helper->__toString();
$this->assertSame('<div class="success">yeah</div>', $result);
}
public function testToStringEmpty()
{
$result = $this->helper->__toString();
$this->assertEmpty($result);
}
}

47
tests/view/helpers/TitleViewHelperTest.php

@ -0,0 +1,47 @@
<?php
/*
* @copyright NetMonsters <team@netmonsters.ru>
* @link http://netmonsters.ru
* @package Majestic
* @subpackage UnitTests
* @since 2011-10-11
*
* Unit tests for PHPView class
*/
require_once dirname(__FILE__) . '/../../../Registry.php';
require_once dirname(__FILE__) . '/../../../view/helpers/ViewHelper.php';
require_once dirname(__FILE__) . '/../../../view/helpers/TitleViewHelper.php';
class TitleViewHelperTest extends PHPUnit_Framework_TestCase
{
public $helper;
public function setUp()
{
Registry::set('TitleViewHelper', array());
$this->helper = new TitleViewHelper('view');
}
public function testTitle()
{
$this->helper->title('one');
$result = Registry::get('TitleViewHelper');
$this->assertSame(array('one'), Registry::get('TitleViewHelper'));
$this->helper->title('two');
$this->assertSame(array('one', 'two'), Registry::get('TitleViewHelper'));
}
public function testSeparator()
{
$this->helper->title('one');
$this->helper->title('two');
$this->assertSame('one - two', $this->helper->__toString());
$this->helper->setSeparator('=');
$this->assertSame('one=two', $this->helper->__toString());
}
}
Loading…
Cancel
Save