function DeleteFeedItemTest::testDeleteFeedItem

Same name in other branches
  1. 9 core/modules/aggregator/tests/src/Functional/DeleteFeedItemTest.php \Drupal\Tests\aggregator\Functional\DeleteFeedItemTest::testDeleteFeedItem()

Tests running "delete items" from 'admin/config/services/aggregator' page.

File

core/modules/aggregator/tests/src/Functional/DeleteFeedItemTest.php, line 22

Class

DeleteFeedItemTest
Delete feed items from a feed.

Namespace

Drupal\Tests\aggregator\Functional

Code

public function testDeleteFeedItem() {
    // Create a bunch of test feeds.
    $feed_urls = [];
    // No last-modified, no etag.
    $feed_urls[] = Url::fromRoute('aggregator_test.feed', [], [
        'absolute' => TRUE,
    ])->toString();
    // Last-modified, but no etag.
    $feed_urls[] = Url::fromRoute('aggregator_test.feed', [
        'use_last_modified' => 1,
    ], [
        'absolute' => TRUE,
    ])->toString();
    // No Last-modified, but etag.
    $feed_urls[] = Url::fromRoute('aggregator_test.feed', [
        'use_last_modified' => 0,
        'use_etag' => 1,
    ], [
        'absolute' => TRUE,
    ])->toString();
    // Last-modified and etag.
    $feed_urls[] = Url::fromRoute('aggregator_test.feed', [
        'use_last_modified' => 1,
        'use_etag' => 1,
    ], [
        'absolute' => TRUE,
    ])->toString();
    foreach ($feed_urls as $feed_url) {
        $feed = $this->createFeed($feed_url);
        // Update and delete items two times in a row to make sure that removal
        // resets all 'modified' information (modified, etag, hash) and allows for
        // immediate update. There's 8 items in the feed, but one has an empty
        // title and is skipped.
        $this->updateAndDelete($feed, 7);
        $this->updateAndDelete($feed, 7);
        $this->updateAndDelete($feed, 7);
        // Delete feed.
        $this->deleteFeed($feed);
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.