PluginPubsubhubbubTest.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. use Shaarli\Config\ConfigManager;
  3. require_once 'plugins/pubsubhubbub/pubsubhubbub.php';
  4. require_once 'application/Router.php';
  5. /**
  6. * Class PluginPubsubhubbubTest
  7. * Unit test for the pubsubhubbub plugin
  8. */
  9. class PluginPubsubhubbubTest extends PHPUnit_Framework_TestCase
  10. {
  11. /**
  12. * @var string Config file path (without extension).
  13. */
  14. protected static $configFile = 'tests/utils/config/configJson';
  15. /**
  16. * Reset plugin path
  17. */
  18. public function setUp()
  19. {
  20. PluginManager::$PLUGINS_PATH = 'plugins';
  21. }
  22. /**
  23. * Test render_feed hook with an RSS feed.
  24. */
  25. public function testPubSubRssRenderFeed()
  26. {
  27. $hub = 'http://domain.hub';
  28. $conf = new ConfigManager(self::$configFile);
  29. $conf->set('plugins.PUBSUBHUB_URL', $hub);
  30. $data['_PAGE_'] = Router::$PAGE_FEED_RSS;
  31. $data = hook_pubsubhubbub_render_feed($data, $conf);
  32. $expected = '<atom:link rel="hub" href="'. $hub .'" />';
  33. $this->assertEquals($expected, $data['feed_plugins_header'][0]);
  34. }
  35. /**
  36. * Test render_feed hook with an ATOM feed.
  37. */
  38. public function testPubSubAtomRenderFeed()
  39. {
  40. $hub = 'http://domain.hub';
  41. $conf = new ConfigManager(self::$configFile);
  42. $conf->set('plugins.PUBSUBHUB_URL', $hub);
  43. $data['_PAGE_'] = Router::$PAGE_FEED_ATOM;
  44. $data = hook_pubsubhubbub_render_feed($data, $conf);
  45. $expected = '<link rel="hub" href="'. $hub .'" />';
  46. $this->assertEquals($expected, $data['feed_plugins_header'][0]);
  47. }
  48. }