aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests
diff options
context:
space:
mode:
authorArthurHoaro <arthur@hoa.ro>2016-08-03 09:45:28 +0200
committerArthurHoaro <arthur@hoa.ro>2016-08-03 09:54:57 +0200
commitc6d876bb2afe7e9ec1a64c74e766360e2fa441e0 (patch)
treef1e704d6c937ac6aec8814141cbb2f1e40e5ba88 /tests
parent9646b7da22c4c6f3419bfe51431720dd622374d8 (diff)
downloadShaarli-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.php14
-rw-r--r--tests/utils/ReferenceLinkDB.php6
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