From dc09453a77f33c4dfdff306321ce93cf5fbd2d57 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 8 Feb 2010 11:06:03 -0800 Subject: First steps on converting FeedSub into the pub/sub basis for OStatus communications: * renamed FeedSub plugin to OStatus * now setting avatar on subscriptions * general fixes for subscription * integrated PuSH hub to handle only user timelines on canonical ID url; sends updates directly * set $config['feedsub']['nohub'] = true to test w/ foreign feeds that don't have hubs (won't actually receive updates though) * a few bits of code documentation * HMAC support for verified distributions (safest if sub setup is on HTTPS) And a couple core changes: * minimizing HTML output for exceptions in API requests to aid in debugging * fix for rel=self link in apitimelineuser when id given This does not not yet include any of the individual subscription management (Salmon notifications for sub/unsub, etc) nor a nice UI for user subscriptions. Needs some further cleanup to treat posts as status updates instead of link references. --- plugins/OStatus/tests/FeedDiscoveryTest.php | 111 ++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 plugins/OStatus/tests/FeedDiscoveryTest.php (limited to 'plugins/OStatus/tests/FeedDiscoveryTest.php') diff --git a/plugins/OStatus/tests/FeedDiscoveryTest.php b/plugins/OStatus/tests/FeedDiscoveryTest.php new file mode 100644 index 000000000..1c5249701 --- /dev/null +++ b/plugins/OStatus/tests/FeedDiscoveryTest.php @@ -0,0 +1,111 @@ +discoverFromHTML($url, $html); + $this->assertEquals($expected, $url); + } + + static public function provider() + { + $sampleHeader = << + + + + + +leŭksman + + + + + + + + + + + + + + + + + + + + + +END; + return array( + array('http://example.com/', + '', + 'http://example.com/feed/rss'), + array('http://example.com/atom', + '', + 'http://example.com/feed/atom'), + array('http://example.com/empty', + '', + false), + array('http://example.com/tagsoup', + '
',
+                           'http://example.com/feed/rss'),
+                     array('http://example.com/relative/link2',
+                           '',
+                           'http://example.com/feed/rss'),
+                     array('http://example.com/relative/link3',
+                           '',
+                           'http://example.com/feed/rss'),
+                     array('http://example.com/base/link1',
+                           '',
+                           'http://target.example.com/feed/rss'),
+                     array('http://example.com/base/link2',
+                           '',
+                           'http://target.example.com/feed/rss'),
+                     array('http://example.com/base/link3',
+                           '',
+                           'http://target.example.com/feed/rss'),
+                     // Trick question! There's a  but no href on it
+                     array('http://example.com/relative/fauxbase',
+                           '',
+                           'http://example.com/feed/rss'),
+                     // Actual WordPress blog header example
+                     array('http://leuksman.com/log/',
+                           $sampleHeader,
+                           'http://leuksman.com/log/feed/'));
+    }
+}
-- 
cgit v1.2.3-54-g00ecf