summaryrefslogtreecommitdiff
path: root/modules/aggregator/aggregator.test
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2008-09-03 19:25:08 +0000
committerDries Buytaert <dries@buytaert.net>2008-09-03 19:25:08 +0000
commitf6a42634769c7ec2c0d99a4e0a07d484990a55c1 (patch)
tree978fc3158c9c0aa4c9e313e8c89af0034cf1206e /modules/aggregator/aggregator.test
parentdf7bcec717ad586b35b42dc850775e097ce384cc (diff)
downloadbrdo-f6a42634769c7ec2c0d99a4e0a07d484990a55c1.tar.gz
brdo-f6a42634769c7ec2c0d99a4e0a07d484990a55c1.tar.bz2
- Patch #52015 by mustafau: update timestamps for aggregator news items.
Diffstat (limited to 'modules/aggregator/aggregator.test')
-rw-r--r--modules/aggregator/aggregator.test59
1 files changed, 59 insertions, 0 deletions
diff --git a/modules/aggregator/aggregator.test b/modules/aggregator/aggregator.test
index 005fbfef6..cac3b9069 100644
--- a/modules/aggregator/aggregator.test
+++ b/modules/aggregator/aggregator.test
@@ -195,6 +195,40 @@ EOF;
file_save_data($opml, $path);
return $path;
}
+
+ function getRSS091Sample() {
+ $feed = <<<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<rss version="0.91">
+ <channel>
+ <title>Example</title>
+ <link>http://example.com</link>
+ <description>Example updates</description>
+ <language>en-us</language>
+ <copyright>Copyright 2000, Example team.</copyright>
+ <managingEditor>editor@example.com</managingEditor>
+ <webMaster>webmaster@example.com</webMaster>
+ <image>
+ <title>Example</title>
+ <url>http://example.com/images/druplicon.png</url>
+ <link>http://example.com</link>
+ <width>88</width>
+ <height>100</height>
+ <description>Example updates</description>
+ </image>
+ <item>
+ <title>Example turns one</title>
+ <link>http://example.com/example-turns-one</link>
+ <description>Example turns one.</description>
+ </item>
+ </channel>
+</rss>
+EOT;
+
+ $path = file_directory_path() . '/rss091.xml';
+ file_save_data($feed, $path);
+ return $path;
+ }
}
class AddFeedTestCase extends AggregatorTestCase {
@@ -324,6 +358,31 @@ class UpdateFeedItemTestCase extends AggregatorTestCase {
// Delete feed.
$this->deleteFeed($feed);
+
+ // Test updating feed items without valid timestamp information.
+ $edit = array(
+ 'title' => "Feed without publish timestamp",
+ 'url' => file_create_url($this->getRSS091Sample()),
+ );
+ $this->drupalGet($edit['url']);
+ $this->assertResponse(array(200), t('URL !url is accessible', array('!url' => $edit['url'])));
+
+ $this->drupalPost('admin/content/aggregator/add/feed', $edit, t('Save'));
+ $this->assertRaw(t('The feed %name has been added.', array('%name' => $edit['title'])), t('The feed !name has been added.', array('!name' => $edit['title'])));
+
+ $feed = db_fetch_object(db_query("SELECT * FROM {aggregator_feed} WHERE url = '%s'", $edit['url']));
+ $this->drupalGet('admin/content/aggregator/update/' . $feed->fid);
+
+ $before = db_result(db_query('SELECT timestamp FROM {aggregator_item} WHERE fid = %d', $feed->fid));
+
+ // Sleep for 3 second.
+ sleep(3);
+ db_query("UPDATE {aggregator_feed} SET checked = 0, hash = '', etag = '', modified = 0 WHERE fid = %d", $feed->fid);
+ $this->drupalGet('admin/content/aggregator/update/' . $feed->fid);
+
+ $after = db_result(db_query('SELECT timestamp FROM {aggregator_item} WHERE fid = %d', $feed->fid));
+
+ $this->assertTrue($before === $after, t('Publish timestamp of feed item was not updated (!before === !after)', array('!before' => $before, '!after' => $after)));
}
}