mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-10-28 14:08:45 -04:00
* Fix muting of feeds gone with HTTP 410 A feed answering HTTP 410 Gone is meant to be muted (#3561), but: * Since #6037, FreshRSS_Feed_Exception extends Minz_Exception, which resets any code other than its own error levels to 0, so the check for 410 never matched. FreshRSS_Feed_Exception now keeps the HTTP status code it is given. * FreshRSS_FeedDAO::mute() mutes by negating the TTL, which leaves a feed with the default TTL (0) unmuted. Mute the feed the way the feed settings and dynamic OPML categories do instead. * A bit of cleaning --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
15 lines
517 B
PHP
15 lines
517 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
final class FeedExceptionTest extends \PHPUnit\Framework\TestCase {
|
|
|
|
public function test_keepsHttpStatusCode(): void {
|
|
$previous = new RuntimeException('previous');
|
|
$e = new FreshRSS_Feed_Exception('Gone', 410, $previous);
|
|
self::assertSame(410, $e->getCode()); // feedController mutes a feed on HTTP 410 Gone
|
|
self::assertSame('Gone', $e->getMessage());
|
|
self::assertSame($previous, $e->getPrevious());
|
|
self::assertSame(0, (new FreshRSS_Feed_Exception())->getCode());
|
|
}
|
|
}
|