mirror of
https://github.com/Chouchen/ShikiryuRSS.git
synced 2025-10-27 01:23:07 +01:00
✅ Add original cases
This commit is contained in:
@@ -8,6 +8,14 @@ use Shikiryu\SRSS\SRSSTools;
|
||||
|
||||
class BasicBuilderTest extends TestCase
|
||||
{
|
||||
private string $saved = __DIR__.'/resources/tmp/build/testCreateBasicRSS.rss';
|
||||
protected function tearDown(): void
|
||||
{
|
||||
parent::tearDown();
|
||||
if (file_exists($this->saved)) {
|
||||
unlink($this->saved);
|
||||
}
|
||||
}
|
||||
public function testCreateBasicRSS()
|
||||
{
|
||||
$srss = SRSS::create();
|
||||
@@ -31,10 +39,11 @@ class BasicBuilderTest extends TestCase
|
||||
|
||||
self::assertTrue($srss->isValid());
|
||||
|
||||
$filepath = __DIR__.'/resources/tmp/build/testCreateBasicRSS.rss';
|
||||
$builder = new SRSSBuilder();
|
||||
$builder->build($srss, $filepath);
|
||||
$builder->build($srss, $this->saved);
|
||||
|
||||
self::assertFileExists($filepath);
|
||||
self::assertFileExists($this->saved);
|
||||
|
||||
self::assertIsString($srss->show());
|
||||
}
|
||||
}
|
||||
41
tests/OriginalReaderSRSSTest.php
Normal file
41
tests/OriginalReaderSRSSTest.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Shikiryu\SRSS\SRSS;
|
||||
use Shikiryu\SRSS\SRSSTools;
|
||||
|
||||
class OriginalReaderSRSSTest extends TestCase
|
||||
{
|
||||
private string $original = __DIR__.'/resources/harvard.xml';
|
||||
private string $saved = __DIR__.'/resources/tmp/build/rss.xml';
|
||||
protected function tearDown(): void
|
||||
{
|
||||
parent::tearDown();
|
||||
if (file_exists($this->saved)) {
|
||||
unlink($this->saved);
|
||||
}
|
||||
}
|
||||
|
||||
public function testOriginalReader()
|
||||
{
|
||||
$rss = SRSS::read($this->original);
|
||||
self::assertEquals('Liftoff News', $rss->title);
|
||||
|
||||
$article1 = $rss->getItem(1);
|
||||
$articleFirst = $rss->getFirst();
|
||||
self::assertEquals($article1, $articleFirst);
|
||||
|
||||
$links = [];
|
||||
foreach($rss as $article) {
|
||||
$links[] = sprintf('<a href="%s">%s %s</a>', $article->link, SRSSTools::formatDate('d/m/y', $article->pubDate), $article->title);
|
||||
}
|
||||
self::assertCount(4, $links, var_export($links, true));
|
||||
|
||||
$rssArray = $rss->toArray();
|
||||
self::assertCount(11, $rssArray, var_export($rssArray, true)); // 11 elements in RSS
|
||||
|
||||
$rss->save($this->saved);
|
||||
|
||||
self::assertFileExists($this->saved);
|
||||
}
|
||||
}
|
||||
45
tests/OriginalWriterSRSSTest.php
Normal file
45
tests/OriginalWriterSRSSTest.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Shikiryu\SRSS\Entity\Item;
|
||||
use Shikiryu\SRSS\SRSS;
|
||||
use Shikiryu\SRSS\SRSSTools;
|
||||
|
||||
class OriginalWriterSRSSTest extends TestCase
|
||||
{
|
||||
public function testOriginalWriter()
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$rss->title = 'My Awesome Blog';
|
||||
$rss->link = 'http://shikiryu.com/devblog/';
|
||||
$rss->description = 'is awesome';
|
||||
|
||||
$items = [
|
||||
['title' => 'title 1', 'link' => 'http://shikiryu.com/devblog/article-1', 'pubDate' => SRSSTools::getRSSDate('2012-03-05 12:02:01'), 'description' => 'description 1'],
|
||||
['title' => 'title 2', 'link' => 'http://shikiryu.com/devblog/article-2', 'pubDate' => SRSSTools::getRSSDate('2022-03-05 22:02:02'), 'description' => 'description 2'],
|
||||
['title' => 'title 3', 'link' => 'http://shikiryu.com/devblog/article-3', 'pubDate' => SRSSTools::getRSSDate('2032-03-05 32:02:03'), 'description' => 'description 3'],
|
||||
['title' => 'title 4', 'link' => 'http://shikiryu.com/devblog/article-4', 'pubDate' => SRSSTools::getRSSDate('2042-03-05 42:02:04'), 'description' => 'description 4'],
|
||||
];
|
||||
|
||||
foreach($items as $item){
|
||||
$rssitem = new Item();
|
||||
$rssitem->title = $item["title"];
|
||||
$rssitem->link = $item['link'];
|
||||
$rssitem->pubDate = $item["pubDate"];
|
||||
$rssitem->description = $item["description"];
|
||||
$rss->addItem($rssitem);
|
||||
}
|
||||
|
||||
$firstItem = new Item();
|
||||
$firstItem->title = 'title 0';
|
||||
$firstItem->link = 'http://shikiryu.com/devblog/article-0';
|
||||
$firstItem->pubDate = SRSSTools::getRSSDate('2011-03-05 12:02:01');
|
||||
$firstItem->description = 'description 0';
|
||||
$rss->addItemBefore($firstItem);
|
||||
|
||||
self::assertCount(5, $rss->items, var_export($rss->items, true));
|
||||
self::assertEquals('title 0', $rss->getFirst()->title, var_export($rss->items, true));
|
||||
self::assertEquals('title 1', $rss->getItem(2)->title, var_export($rss->items, true));
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user