Index: modules/aggregator/aggregator.test =================================================================== RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.test,v retrieving revision 1.31 diff -u -r1.31 aggregator.test --- modules/aggregator/aggregator.test 24 Aug 2009 17:11:42 -0000 1.31 +++ modules/aggregator/aggregator.test 31 Aug 2009 19:03:58 -0000 @@ -257,6 +257,21 @@ $this->drupalPost('node/add/article', $edit, t('Save')); } } + + function getRSSInvalidSample() { + $feed = << + + + + + + +EOT; + + $path = 'public://rssinvalid.xml'; + return file_unmanaged_save_data($feed, $path); + } } class AddFeedTestCase extends AggregatorTestCase { @@ -328,6 +343,28 @@ $this->deleteFeed($feed); } } + + + function testUpdateInvalidFeed() { + $feed = $this->createFeed(); + $edit = $this->getFeedEditArray(); + $edit['url'] = file_create_url($this->getRSSInvalidSample()); + $this->drupalPost('admin/config/services/aggregator/edit/feed/' . $feed->fid, $edit, t('Save')); + $this->assertRaw(t('The feed %name has been updated.', array('%name' => $edit['title'])), t('The feed %name has been updated.', array('%name' => $edit['title']))); + + // Check feed data. + $this->assertEqual($this->getUrl(), url('admin/config/services/aggregator/', array('absolute' => TRUE))); + $this->assertTrue($this->uniqueFeed($edit['title'], $edit['url']), t('The feed is unique.')); + + // Check feed source. + $this->drupalGet('aggregator/sources/' . $feed->fid); + $this->assertResponse(200, t('Feed source exists.')); + $this->assertText($edit['title'], t('Page title')); + + // Delete feed. + $feed->title = $edit['title']; // Set correct title so deleteFeed() will work. + $this->deleteFeed($feed); + } } class RemoveFeedTestCase extends AggregatorTestCase {