? .DS_Store
? node_feed-channel-elements-with-test-without-garbage.patch
? node_feed-channel-elements-with-test.patch
? node_feed-ignores-using-array_diff_key.patch
? node_feed-ignores-using-array_diff_key.patchls
? node_feed-ignores.patch
? modules/.DS_Store
? modules/node/._node.module
? modules/node/._node.test
Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.1138
diff -u -p -r1.1138 node.module
--- modules/node/node.module	3 Oct 2009 19:16:03 -0000	1.1138
+++ modules/node/node.module	4 Oct 2009 03:38:12 -0000
@@ -1894,11 +1894,12 @@ function node_feed($nids = FALSE, $chann
     'description' => variable_get('feed_description', ''),
     'language'    => $language->language
   );
+  $channel_extras = array_diff_key($channel, $channel_defaults);
   $channel = array_merge($channel_defaults, $channel);
 
   $output = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
   $output .= "<rss version=\"" . $channel["version"] . "\" xml:base=\"" . $base_url . "\" " . drupal_attributes($namespaces) . ">\n";
-  $output .= format_rss_channel($channel['title'], $channel['link'], $channel['description'], $items, $channel['language']);
+  $output .= format_rss_channel($channel['title'], $channel['link'], $channel['description'], $items, $channel['language'], $channel_extras);
   $output .= "</rss>\n";
 
   drupal_add_http_header('Content-Type', 'application/rss+xml; charset=utf-8');
Index: modules/node/node.test
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.test,v
retrieving revision 1.46
diff -u -p -r1.46 node.test
--- modules/node/node.test	2 Oct 2009 14:39:43 -0000	1.46
+++ modules/node/node.test	4 Oct 2009 03:38:12 -0000
@@ -990,3 +990,27 @@ class NodeAdminTestCase extends DrupalWe
     $this->assertNoText($node3->title, t('Page node does not appear on the node administration listing.'));
   }
 }
+
+/**
+ * Test the node_feed() functionality
+ */
+class NodeFeedTestCase extends DrupalWebTestCase {
+  public static function getInfo() {
+    return array(
+      'name' => 'node_feed',
+      'description' => 'Ensures that node type functions work correctly.',
+      'group' => 'Node',
+    );
+  }
+
+  /**
+   * Ensure that node_feed accepts and prints extra channel elements.
+   */
+  function testNodeFeedExtraChannelElements() {
+  	ob_start();
+  	node_feed(FALSE, array('copyright' => 'Drupal is a registered trademark of Dries Buytaert.'));
+  	$output = ob_get_clean();
+  	
+  	$this->assertTrue(strpos($output, '<copyright>Drupal is a registered trademark of Dries Buytaert.</copyright>') !== FALSE);
+  }
+}
