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 = 'test'; // should not have html element } public function testInvalidChannelManagingEditor(): void { $rss = SRSS::create(); $this->expectException(InvalidPropertyException::class); $rss->managingEditor = 'test'; // should not have html element } public function testInvalidChannelWebmaster(): void { $rss = SRSS::create(); $this->expectException(InvalidPropertyException::class); $rss->webMaster = 'test'; // 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 = 'test'; // 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 = 'test'; } 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 = 'test'; } }