diff options
author | ArthurHoaro <arthur@hoa.ro> | 2016-08-03 09:45:28 +0200 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2016-08-03 09:54:57 +0200 |
commit | c6d876bb2afe7e9ec1a64c74e766360e2fa441e0 (patch) | |
tree | f1e704d6c937ac6aec8814141cbb2f1e40e5ba88 /tests | |
parent | 9646b7da22c4c6f3419bfe51431720dd622374d8 (diff) | |
download | Shaarli-c6d876bb2afe7e9ec1a64c74e766360e2fa441e0.tar.gz Shaarli-c6d876bb2afe7e9ec1a64c74e766360e2fa441e0.tar.zst Shaarli-c6d876bb2afe7e9ec1a64c74e766360e2fa441e0.zip |
Set updated date for items in feeds
RSS doesn't support updated date for items, so we use the ATOM extension.
Updated dates also bump the global update
Diffstat (limited to 'tests')
-rw-r--r-- | tests/FeedBuilderTest.php | 14 | ||||
-rw-r--r-- | tests/utils/ReferenceLinkDB.php | 6 |
2 files changed, 15 insertions, 5 deletions
diff --git a/tests/FeedBuilderTest.php b/tests/FeedBuilderTest.php index 460fb0c5..c9ff397d 100644 --- a/tests/FeedBuilderTest.php +++ b/tests/FeedBuilderTest.php | |||
@@ -76,7 +76,7 @@ class FeedBuilderTest extends PHPUnit_Framework_TestCase | |||
76 | // Test headers (RSS) | 76 | // Test headers (RSS) |
77 | $this->assertEquals(self::$RSS_LANGUAGE, $data['language']); | 77 | $this->assertEquals(self::$RSS_LANGUAGE, $data['language']); |
78 | $this->assertEmpty($data['pubsubhub_url']); | 78 | $this->assertEmpty($data['pubsubhub_url']); |
79 | $this->assertRegExp('/Tue, 10 Mar 2015 11:46:51 \+\d{4}/', $data['last_update']); | 79 | $this->assertRegExp('/Wed, 03 Aug 2016 09:30:33 \+\d{4}/', $data['last_update']); |
80 | $this->assertEquals(true, $data['show_dates']); | 80 | $this->assertEquals(true, $data['show_dates']); |
81 | $this->assertEquals('http://host.tld/index.php?do=feed', $data['self_link']); | 81 | $this->assertEquals('http://host.tld/index.php?do=feed', $data['self_link']); |
82 | $this->assertEquals('http://host.tld/', $data['index_url']); | 82 | $this->assertEquals('http://host.tld/', $data['index_url']); |
@@ -88,7 +88,10 @@ class FeedBuilderTest extends PHPUnit_Framework_TestCase | |||
88 | $this->assertEquals('20150310_114651', $link['linkdate']); | 88 | $this->assertEquals('20150310_114651', $link['linkdate']); |
89 | $this->assertEquals('http://host.tld/?WDWyig', $link['guid']); | 89 | $this->assertEquals('http://host.tld/?WDWyig', $link['guid']); |
90 | $this->assertEquals('http://host.tld/?WDWyig', $link['url']); | 90 | $this->assertEquals('http://host.tld/?WDWyig', $link['url']); |
91 | $this->assertRegExp('/Tue, 10 Mar 2015 11:46:51 \+\d{4}/', $link['iso_date']); | 91 | $this->assertRegExp('/Tue, 10 Mar 2015 11:46:51 \+\d{4}/', $link['pub_iso_date']); |
92 | $pub = DateTime::createFromFormat(DateTime::RSS, $link['pub_iso_date']); | ||
93 | $up = DateTime::createFromFormat(DateTime::ATOM, $link['up_iso_date']); | ||
94 | $this->assertEquals($pub, $up); | ||
92 | $this->assertContains('Stallman has a beard', $link['description']); | 95 | $this->assertContains('Stallman has a beard', $link['description']); |
93 | $this->assertContains('Permalink', $link['description']); | 96 | $this->assertContains('Permalink', $link['description']); |
94 | $this->assertContains('http://host.tld/?WDWyig', $link['description']); | 97 | $this->assertContains('http://host.tld/?WDWyig', $link['description']); |
@@ -101,6 +104,9 @@ class FeedBuilderTest extends PHPUnit_Framework_TestCase | |||
101 | // Test multitags. | 104 | // Test multitags. |
102 | $this->assertEquals(5, count($data['links']['20141125_084734']['taglist'])); | 105 | $this->assertEquals(5, count($data['links']['20141125_084734']['taglist'])); |
103 | $this->assertEquals('css', $data['links']['20141125_084734']['taglist'][0]); | 106 | $this->assertEquals('css', $data['links']['20141125_084734']['taglist'][0]); |
107 | |||
108 | // Test update date | ||
109 | $this->assertRegExp('/2016-08-03T09:30:33\+\d{2}:\d{2}/', $data['links']['20150310_114633']['up_iso_date']); | ||
104 | } | 110 | } |
105 | 111 | ||
106 | /** | 112 | /** |
@@ -112,8 +118,10 @@ class FeedBuilderTest extends PHPUnit_Framework_TestCase | |||
112 | $feedBuilder->setLocale(self::$LOCALE); | 118 | $feedBuilder->setLocale(self::$LOCALE); |
113 | $data = $feedBuilder->buildData(); | 119 | $data = $feedBuilder->buildData(); |
114 | $this->assertEquals(ReferenceLinkDB::$NB_LINKS_TOTAL, count($data['links'])); | 120 | $this->assertEquals(ReferenceLinkDB::$NB_LINKS_TOTAL, count($data['links'])); |
121 | $this->assertRegExp('/2016-08-03T09:30:33\+\d{2}:\d{2}/', $data['last_update']); | ||
115 | $link = array_shift($data['links']); | 122 | $link = array_shift($data['links']); |
116 | $this->assertRegExp('/2015-03-10T11:46:51\+\d{2}:+\d{2}/', $link['iso_date']); | 123 | $this->assertRegExp('/2015-03-10T11:46:51\+\d{2}:\d{2}/', $link['pub_iso_date']); |
124 | $this->assertRegExp('/2016-08-03T09:30:33\+\d{2}:\d{2}/', $data['links']['20150310_114633']['up_iso_date']); | ||
117 | } | 125 | } |
118 | 126 | ||
119 | /** | 127 | /** |
diff --git a/tests/utils/ReferenceLinkDB.php b/tests/utils/ReferenceLinkDB.php index fcc7a4f9..937961c8 100644 --- a/tests/utils/ReferenceLinkDB.php +++ b/tests/utils/ReferenceLinkDB.php | |||
@@ -30,7 +30,8 @@ class ReferenceLinkDB | |||
30 | 'Richard Stallman and the Free Software Revolution. Read this. #hashtag', | 30 | 'Richard Stallman and the Free Software Revolution. Read this. #hashtag', |
31 | 0, | 31 | 0, |
32 | '20150310_114633', | 32 | '20150310_114633', |
33 | 'free gnu software stallman -exclude stuff hashtag' | 33 | 'free gnu software stallman -exclude stuff hashtag', |
34 | '20160803_093033' | ||
34 | ); | 35 | ); |
35 | 36 | ||
36 | $this->addLink( | 37 | $this->addLink( |
@@ -82,7 +83,7 @@ class ReferenceLinkDB | |||
82 | /** | 83 | /** |
83 | * Adds a new link | 84 | * Adds a new link |
84 | */ | 85 | */ |
85 | protected function addLink($title, $url, $description, $private, $date, $tags) | 86 | protected function addLink($title, $url, $description, $private, $date, $tags, $updated = '') |
86 | { | 87 | { |
87 | $link = array( | 88 | $link = array( |
88 | 'title' => $title, | 89 | 'title' => $title, |
@@ -91,6 +92,7 @@ class ReferenceLinkDB | |||
91 | 'private' => $private, | 92 | 'private' => $private, |
92 | 'linkdate' => $date, | 93 | 'linkdate' => $date, |
93 | 'tags' => $tags, | 94 | 'tags' => $tags, |
95 | 'updated' => $updated, | ||
94 | ); | 96 | ); |
95 | $this->_links[$date] = $link; | 97 | $this->_links[$date] = $link; |
96 | 98 | ||