2 namespace Shaarli\Plugin\Pubsubhubbub
;
4 use Shaarli\Config\ConfigManager
;
5 use Shaarli\Plugin\PluginManager
;
6 use Shaarli\Render\TemplatePage
;
8 require_once 'plugins/pubsubhubbub/pubsubhubbub.php';
11 * Class PluginPubsubhubbubTest
12 * Unit test for the pubsubhubbub plugin
14 class PluginPubsubhubbubTest
extends \PHPUnit\Framework\TestCase
17 * @var string Config file path (without extension).
19 protected static $configFile = 'tests/utils/config/configJson';
24 public function setUp()
26 PluginManager
::$PLUGINS_PATH = 'plugins';
30 * Test render_feed hook with an RSS feed.
32 public function testPubSubRssRenderFeed()
34 $hub = 'http://domain.hub';
35 $conf = new ConfigManager(self
::$configFile);
36 $conf->set('plugins.PUBSUBHUB_URL', $hub);
37 $data['_PAGE_'] = TemplatePage
::FEED_RSS
;
39 $data = hook_pubsubhubbub_render_feed($data, $conf);
40 $expected = '<atom:link rel="hub" href="'. $hub .'" />';
41 $this->assertEquals($expected, $data['feed_plugins_header'][0]);
45 * Test render_feed hook with an ATOM feed.
47 public function testPubSubAtomRenderFeed()
49 $hub = 'http://domain.hub';
50 $conf = new ConfigManager(self
::$configFile);
51 $conf->set('plugins.PUBSUBHUB_URL', $hub);
52 $data['_PAGE_'] = TemplatePage
::FEED_ATOM
;
54 $data = hook_pubsubhubbub_render_feed($data, $conf);
55 $expected = '<link rel="hub" href="'. $hub .'" />';
56 $this->assertEquals($expected, $data['feed_plugins_header'][0]);