<?php namespace Zotlabs\Tests\Unit\includes; use Zotlabs\Tests\Unit\UnitTestCase; /** * @brief Unit Test case for include/feedutils.php file. */ class FeedutilsTest extends UnitTestCase { public function test_normalise_id() { $this->assertEquals('id', normalise_id('id')); $this->assertEquals('id', normalise_id('X-ZOT:id')); $this->assertEquals('id id2', normalise_id('X-ZOT:id X-ZOT:id2')); $this->assertEmpty(normalise_id('')); } public function test_encode_rel_links() { // invalid params return empty array $this->assertEquals([], encode_rel_links('string')); $this->assertEquals([], encode_rel_links([])); $b = ['attribs' => ['' => [ 'rel' => 'rel_value', 'type' => 'type_value', 'href' => 'href_value', 'length' => 'length_value', 'title' => 'title_value' ]]]; $blink1 = ['link1' => $b]; $bresult[] = $b['attribs']['']; $this->assertEquals($bresult, encode_rel_links($blink1)); } /* public function test_encode_rel_links_fail() { $a = [ 'key' => 'value']; $this->assertFalse(encode_rel_links($a)); //Illegal string offset 'attribs' }*/ /** * @uses ::xmlify */ public function test_atom_author() { $this->assertEquals('', atom_author('', 'nick', 'name', 'uri', 72, 72, 'png', 'photourl')); $a = '<tag> <id>uri</id> <name>nick</name> <uri>uri</uri> <link rel="photo" type="png" media:width="72" media:height="72" href="http://photourl" /> <link rel="avatar" type="png" media:width="72" media:height="72" href="http://photourl" /> <poco:preferredUsername>nick</poco:preferredUsername> <poco:displayName>name</poco:displayName> </tag>'; $this->assertXmlStringEqualsXmlString($a, atom_author('tag', 'nick', 'name', 'uri', 72, 72, 'png', 'http://photourl')); } /** * @uses ::xmlify */ public function test_atom_render_author() { $xchan = [ 'xchan_addr' => 'chan@hub', 'xchan_url' => 'http://hub', 'xchan_name' => 'Chan', 'xchan_photo_l' => 'http://hub/img', 'xchan_photo_mimetype' => 'mimetype' ]; // There is no input validation in atom_render_author //$this->assertEquals('', atom_render_author('', $xchan)); $a = '<tag> <as:object-type>http://activitystrea.ms/schema/1.0/person</as:object-type> <id>http://hub</id> <name>chan</name> <uri>http://hub</uri> <link rel="alternate" type="text/html" href="http://hub" /> <link rel="photo" type="mimetype" media:width="300" media:height="300" href="http://hub/img" /> <link rel="avatar" type="mimetype" media:width="300" media:height="300" href="http://hub/img" /> <poco:preferredUsername>chan</poco:preferredUsername> <poco:displayName>Chan</poco:displayName> </tag>'; $this->assertXmlStringEqualsXmlString($a, atom_render_author('tag', $xchan)); } }