mirror of
https://github.com/Chouchen/ShikiryuRSS.git
synced 2025-10-27 01:23:07 +01:00
✨ Add specific elements
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Shikiryu\SRSS\Exception\SRSSException;
|
||||
use Shikiryu\SRSS\Exception\UnreadableRSSException;
|
||||
use Shikiryu\SRSS\Entity\Channel\Category;
|
||||
use Shikiryu\SRSS\Entity\Channel\Cloud;
|
||||
use Shikiryu\SRSS\Entity\Channel\Image;
|
||||
use Shikiryu\SRSS\Entity\Item;
|
||||
use Shikiryu\SRSS\SRSS;
|
||||
|
||||
class BasicReaderTest extends TestCase
|
||||
@@ -38,4 +40,60 @@ class BasicReaderTest extends TestCase
|
||||
|
||||
self::assertTrue($rss->isValid());
|
||||
}
|
||||
|
||||
public function testChannelImage()
|
||||
{
|
||||
$rss = SRSS::read(__DIR__.'/resources/media/cnn.xml');
|
||||
$image = $rss->image;
|
||||
self::assertInstanceOf(Image::class, $image);
|
||||
self::assertEquals('http://i2.cdn.turner.com/cnn/2015/images/09/24/cnn.digital.png', $image->url, var_export($image, true));
|
||||
self::assertEquals('CNN.com - RSS Channel - Entertainment', $image->title, var_export($image, true));
|
||||
self::assertEquals('https://www.cnn.com/entertainment/index.html', $image->link, var_export($image, true));
|
||||
}
|
||||
|
||||
public function testChannelCategory()
|
||||
{
|
||||
$rss = SRSS::read(__DIR__.'/resources/cloud.xml');
|
||||
$categories = $rss->category;
|
||||
self::assertCount(1, $categories);
|
||||
$category = $categories[0];
|
||||
self::assertInstanceOf(Category::class, $category);
|
||||
self::assertEquals('http://www.weblogs.com/rssUpdates/changes.xml', $category->domain, var_export($category, true));
|
||||
self::assertEquals('rssUpdates', $category->value, var_export($category, true));
|
||||
}
|
||||
|
||||
public function testCloud()
|
||||
{
|
||||
$rss = SRSS::read(__DIR__.'/resources/cloud.xml');
|
||||
$cloud = $rss->cloud;
|
||||
self::assertInstanceOf(Cloud::class, $cloud);
|
||||
self::assertEquals('radio.xmlstoragesystem.com', $cloud->domain, var_export($cloud, true));
|
||||
self::assertEquals('80', $cloud->port, var_export($cloud, true));
|
||||
self::assertEquals('/RPC2', $cloud->path, var_export($cloud, true));
|
||||
self::assertEquals('xmlStorageSystem.rssPleaseNotify', $cloud->registerProcedure, var_export($cloud, true));
|
||||
self::assertEquals('xml-rpc', $cloud->protocol, var_export($cloud, true));
|
||||
}
|
||||
|
||||
public function testSource()
|
||||
{
|
||||
$rss = SRSS::read(__DIR__.'/resources/basic.xml');
|
||||
$firstItem = $rss->getFirst();
|
||||
self::assertInstanceOf(Item::class, $firstItem);
|
||||
$source = $firstItem->source;
|
||||
self::assertInstanceOf(Item\Source::class, $source);
|
||||
self::assertEquals('http://www.tomalak.org/links2.xml', $source->url);
|
||||
self::assertEquals('Tomalak\'s Realm', $source->value);
|
||||
}
|
||||
|
||||
public function testEnclosure()
|
||||
{
|
||||
$rss = SRSS::read(__DIR__.'/resources/basic.xml');
|
||||
$item = $rss->getItem(2);
|
||||
self::assertInstanceOf(Item::class, $item);
|
||||
$enclosure = $item->enclosure;
|
||||
self::assertInstanceOf(Item\Enclosure::class, $enclosure);
|
||||
self::assertEquals('http://www.scripting.com/mp3s/touchOfGrey.mp3', $enclosure->url);
|
||||
self::assertEquals('5588242', $enclosure->length);
|
||||
self::assertEquals('audio/mpeg', $enclosure->type);
|
||||
}
|
||||
}
|
||||
@@ -7,11 +7,13 @@
|
||||
<description>Free web building tutorials</description>
|
||||
<item>
|
||||
<title>RSS Tutorial</title>
|
||||
<source url="http://www.tomalak.org/links2.xml">Tomalak's Realm</source>
|
||||
<link>https://www.test.com/xml/xml_rss.asp</link>
|
||||
<description>New RSS tutorial on test</description>
|
||||
</item>
|
||||
<item>
|
||||
<title>XML Tutorial</title>
|
||||
<enclosure url="http://www.scripting.com/mp3s/touchOfGrey.mp3" length="5588242" type="audio/mpeg"/>
|
||||
<link>https://www.test.com/xml</link>
|
||||
<description>New XML tutorial on test</description>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user