mirror of
https://github.com/Chouchen/ShikiryuRSS.git
synced 2025-09-18 16:43:09 +02:00
🧪 Add failing tests
* 🚧 Add failing tests Closes #3 * 🧪 Add failing tests Closes #3 * 🧪 Failing tests makes somes rules pop better --------- Co-authored-by: Clement Desmidt <clement@desmidt.fr>
This commit is contained in:
@@ -37,8 +37,8 @@ class CompleteBuilderTest extends TestCase
|
||||
$image->title = 'title of image';
|
||||
$rating = 'yes';
|
||||
$textInput = 'ignore';
|
||||
$skipDays = 'monday';
|
||||
$skipHours = '8';
|
||||
$skipDays = ['monday'];
|
||||
$skipHours = ['8', '9'];
|
||||
|
||||
$srss = SRSS::create();
|
||||
$srss->title = $title;
|
||||
|
230
tests/FailingTest.php
Normal file
230
tests/FailingTest.php
Normal file
@@ -0,0 +1,230 @@
|
||||
<?php
|
||||
|
||||
use PHPUnit\Framework\TestCase;
|
||||
use Shikiryu\SRSS\Entity\Channel\Category;
|
||||
use Shikiryu\SRSS\Entity\Channel\Cloud;
|
||||
use Shikiryu\SRSS\Entity\Channel\Image;
|
||||
use Shikiryu\SRSS\Entity\Item\Enclosure;
|
||||
use Shikiryu\SRSS\Entity\Item\Source;
|
||||
use Shikiryu\SRSS\Exception\InvalidPropertyException;
|
||||
use Shikiryu\SRSS\SRSS;
|
||||
|
||||
class FailingTest extends TestCase
|
||||
{
|
||||
public function testInvalidChannelMandatory(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
self::assertFalse($rss->isValid(), var_export($rss->validated, true));
|
||||
$rss->title = 'title'; // mandatory
|
||||
self::assertFalse($rss->isValid(), var_export($rss->validated, true));
|
||||
$rss->description = 'desc'; // mandatory
|
||||
self::assertFalse($rss->isValid(), var_export($rss->validated, true));
|
||||
$rss->link = 'https://example.org';
|
||||
self::assertTrue($rss->isValid(), var_export($rss->validated, true));
|
||||
}
|
||||
|
||||
public function testInvalidChannelLink(): void
|
||||
{
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss = SRSS::create();
|
||||
$rss->title = 'title'; // mandatory
|
||||
$rss->description = 'desc'; // mandatory
|
||||
$rss->link = 'desc'; // mandatory but should be an url
|
||||
}
|
||||
|
||||
public function testInvalidChannelLanguage(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->language = 'en-en'; // should be a valid language
|
||||
}
|
||||
|
||||
public function testInvalidChannelCopyright(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->copyright = '<strong>test</strong>'; // should not have html element
|
||||
}
|
||||
|
||||
public function testInvalidChannelManagingEditor(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->managingEditor = '<strong>test</strong>'; // should not have html element
|
||||
}
|
||||
|
||||
public function testInvalidChannelWebmaster(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->webMaster = '<strong>test</strong>'; // should not have html element
|
||||
}
|
||||
|
||||
public function testInvalidChannelPubDate(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->pubDate = 'test'; // should be a valid date
|
||||
}
|
||||
|
||||
public function testInvalidChannelLastBuildDate(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->lastBuildDate = 'test'; // should be a valid date
|
||||
}
|
||||
|
||||
public function testInvalidChannelGenerator(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->generator = '<strong>test</strong>'; // should not have html element
|
||||
}
|
||||
|
||||
public function testInvalidChannelDocs(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->docs = 'desc'; //should be a url
|
||||
}
|
||||
|
||||
public function testInvalidChannelTTL(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->ttl = 'desc'; // should be an int
|
||||
}
|
||||
|
||||
public function testInvalidChannelSkipHours(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->skipHours = 'desc'; // should be an hour
|
||||
}
|
||||
|
||||
public function testInvalidChannelSkipDays(): void
|
||||
{
|
||||
$rss = SRSS::create();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$rss->skipDays = 'desc'; // should be a day
|
||||
}
|
||||
|
||||
public function testInvalidItemAuthor(): void
|
||||
{
|
||||
$item = new Shikiryu\SRSS\Entity\Item();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$item->author = 'test'; // should be an email
|
||||
}
|
||||
|
||||
public function testInvalidItemComments(): void
|
||||
{
|
||||
$item = new Shikiryu\SRSS\Entity\Item();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$item->comments = 'test'; // should be an url
|
||||
}
|
||||
|
||||
public function testInvalidItemMandatory(): void
|
||||
{
|
||||
$item = new Shikiryu\SRSS\Entity\Item();
|
||||
$item->title = 'title';
|
||||
self::assertTrue($item->isValid(), var_export($item->validated, true));
|
||||
$item->description = 'desc';
|
||||
$item->title = null;
|
||||
self::assertTrue($item->isValid(), var_export($item->validated, true));
|
||||
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$item->title = null;
|
||||
$item->description = null;
|
||||
}
|
||||
|
||||
public function testChannelCategoryDomain(): void
|
||||
{
|
||||
$category = new Category();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$category->domain = 'test';
|
||||
}
|
||||
|
||||
public function testChannelCloudPort(): void
|
||||
{
|
||||
$cloud = new Cloud();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$cloud->port = 'test';
|
||||
}
|
||||
|
||||
public function testChannelImageUrl(): void
|
||||
{
|
||||
$image = new Image();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$image->url = 'test';
|
||||
}
|
||||
|
||||
public function testChannelImageTitle(): void
|
||||
{
|
||||
$image = new Image();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$image->title = '<strong>test</strong>';
|
||||
}
|
||||
|
||||
public function testChannelImageLink(): void
|
||||
{
|
||||
$image = new Image();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$image->link = 'test';
|
||||
}
|
||||
|
||||
public function testChannelImageWidthType(): void
|
||||
{
|
||||
$image = new Image();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$image->width = 'test';
|
||||
}
|
||||
|
||||
public function testChannelImageWidthMax(): void
|
||||
{
|
||||
$image = new Image();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$image->width = '150';
|
||||
}
|
||||
|
||||
public function testChannelImageHeightType(): void
|
||||
{
|
||||
$image = new Image();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$image->height = 'test';
|
||||
}
|
||||
|
||||
public function testChannelImageHeightMax(): void
|
||||
{
|
||||
$image = new Image();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$image->height = '500';
|
||||
}
|
||||
|
||||
public function testItemEnclosureUrl(): void
|
||||
{
|
||||
$enclosure = new Enclosure();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$enclosure->url = 'test';
|
||||
}
|
||||
|
||||
public function testItemEnclosureLength(): void
|
||||
{
|
||||
$enclosure = new Enclosure();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$enclosure->length = 'test';
|
||||
}
|
||||
|
||||
public function testItemSourceUrl()
|
||||
{
|
||||
$source = new Source();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$source->url = 'test';
|
||||
}
|
||||
|
||||
public function testItemSourceValue()
|
||||
{
|
||||
$source = new Source();
|
||||
$this->expectException(InvalidPropertyException::class);
|
||||
$source->value = '<strong>test</strong>';
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user