? agg.patch
Index: modules/aggregator/aggregator.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/aggregator/aggregator.test,v
retrieving revision 1.15
diff -u -p -r1.15 aggregator.test
--- modules/aggregator/aggregator.test	11 Nov 2008 16:49:37 -0000	1.15
+++ modules/aggregator/aggregator.test	13 Nov 2008 15:28:48 -0000
@@ -226,6 +226,21 @@ EOT;
     $path = file_directory_path() . '/rss091.xml';
     return file_unmanaged_save_data($feed, $path);
   }
+
+  function getRSSInvalidSample() {
+    $feed = <<<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<rss version="2.0">
+  <channel>
+    <item>
+    </item>
+  </channel>
+</rss>
+EOT;
+
+    $path = file_directory_path() . '/rssinvalid.xml';
+    return file_unmanaged_save_data($feed, $path);
+  }
 }
 
 class AddFeedTestCase extends AggregatorTestCase {
@@ -303,6 +318,28 @@ class UpdateFeedTestCase extends Aggrega
       $this->deleteFeed($feed);
     }
   }
+  
+    
+  function testUpdateInvalidFeed() {
+    $feed = $this->createFeed();
+    $edit = $this->getFeedEditArray();
+    $edit['url'] = file_create_url($this->getRSSInvalidSample());
+    $this->drupalPost('admin/content/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/content/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 {
