* @copyright 2015 - 2020 Timothy J. Warren * @license http://www.opensource.org/licenses/mit-license.html MIT License * @version 5.1 * @link https://git.timshomepage.net/timw4mail/HummingBirdAnimeClient */ namespace Aviat\Ion\Tests\View; use Aviat\Ion\Friend; use Aviat\Ion\Tests\TestJsonView; class JsonViewTest extends HttpViewTest { public function setUp(): void { parent::setUp(); $this->view = new TestJsonView(); $this->friend = new Friend($this->view); } public function testSetOutputJSON():void { // Extend view class to remove destructor which does output $view = new TestJsonView(); // Json encode non-string $content = ['foo' => 'bar']; $expected = json_encode($content); $view->setOutput($content); $this->assertEquals($expected, $view->getOutput()); } public function testSetOutput():void { // Directly set string $view = new TestJsonView(); $content = '{}'; $expected = '{}'; $view->setOutput($content); $this->assertEquals($expected, $view->getOutput()); } public function testOutputType():void { $this->assertEquals('application/json', $this->friend->contentType); } }