ion/tests/View/JsonViewTest.php

57 lines
1.3 KiB
PHP
Raw Permalink Normal View History

2016-10-13 13:11:22 -04:00
<?php declare(strict_types=1);
/**
* Ion
*
* Building blocks for web development
*
2019-12-05 15:39:02 -05:00
* PHP version 7.2
2016-10-13 13:11:22 -04:00
*
* @package Ion
* @author Timothy J. Warren <tim@timshomepage.net>
2019-12-05 15:39:02 -05:00
* @copyright 2015 - 2019 Timothy J. Warren
2016-10-13 13:11:22 -04:00
* @license http://www.opensource.org/licenses/mit-license.html MIT License
2019-12-05 15:39:02 -05:00
* @version 3.0.0
* @link https://git.timshomepage.net/aviat/ion
2016-10-13 13:11:22 -04:00
*/
2016-08-26 17:21:50 -04:00
namespace Aviat\Ion\Tests\View;
2016-08-26 17:21:50 -04:00
use Aviat\Ion\Friend;
2016-10-19 13:24:08 -04:00
use Aviat\Ion\Tests\TestJsonView;
class JsonViewTest extends HttpViewTest {
2019-12-05 15:25:47 -05:00
public function setUp(): void {
parent::setUp();
2016-10-19 13:24:08 -04:00
$this->view = new TestJsonView($this->container);
$this->friend = new Friend($this->view);
}
public function testSetOutputJSON()
{
// Extend view class to remove destructor which does output
2016-10-19 13:24:08 -04:00
$view = new TestJsonView($this->container);
// Json encode non-string
$content = ['foo' => 'bar'];
$expected = json_encode($content);
$view->setOutput($content);
$this->assertEquals($expected, $this->view->getOutput());
}
public function testSetOutput()
{
// Directly set string
2016-10-19 13:24:08 -04:00
$view = new TestJsonView($this->container);
$content = '{}';
$expected = '{}';
$view->setOutput($content);
$this->assertEquals($expected, $view->getOutput());
}
public function testOutput()
{
$this->assertEquals('application/json', $this->friend->contentType);
}
}