2016-08-02 11:55:49 +02:00
|
|
|
<?php
|
2017-03-03 23:06:12 +01:00
|
|
|
use Shaarli\Config\ConfigManager;
|
2016-08-02 11:55:49 +02:00
|
|
|
|
|
|
|
require_once 'plugins/pubsubhubbub/pubsubhubbub.php';
|
|
|
|
require_once 'application/Router.php';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Class PluginPubsubhubbubTest
|
|
|
|
* Unit test for the pubsubhubbub plugin
|
|
|
|
*/
|
|
|
|
class PluginPubsubhubbubTest extends PHPUnit_Framework_TestCase
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @var string Config file path (without extension).
|
|
|
|
*/
|
|
|
|
protected static $configFile = 'tests/utils/config/configJson';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Reset plugin path
|
|
|
|
*/
|
2017-01-05 19:33:06 +01:00
|
|
|
public function setUp()
|
2016-08-02 11:55:49 +02:00
|
|
|
{
|
|
|
|
PluginManager::$PLUGINS_PATH = 'plugins';
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Test render_feed hook with an RSS feed.
|
|
|
|
*/
|
2017-01-05 19:33:06 +01:00
|
|
|
public function testPubSubRssRenderFeed()
|
2016-08-02 11:55:49 +02:00
|
|
|
{
|
|
|
|
$hub = 'http://domain.hub';
|
|
|
|
$conf = new ConfigManager(self::$configFile);
|
|
|
|
$conf->set('plugins.PUBSUBHUB_URL', $hub);
|
|
|
|
$data['_PAGE_'] = Router::$PAGE_FEED_RSS;
|
|
|
|
|
|
|
|
$data = hook_pubsubhubbub_render_feed($data, $conf);
|
|
|
|
$expected = '<atom:link rel="hub" href="'. $hub .'" />';
|
|
|
|
$this->assertEquals($expected, $data['feed_plugins_header'][0]);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Test render_feed hook with an ATOM feed.
|
|
|
|
*/
|
2017-01-05 19:33:06 +01:00
|
|
|
public function testPubSubAtomRenderFeed()
|
2016-08-02 11:55:49 +02:00
|
|
|
{
|
|
|
|
$hub = 'http://domain.hub';
|
|
|
|
$conf = new ConfigManager(self::$configFile);
|
|
|
|
$conf->set('plugins.PUBSUBHUB_URL', $hub);
|
|
|
|
$data['_PAGE_'] = Router::$PAGE_FEED_ATOM;
|
|
|
|
|
|
|
|
$data = hook_pubsubhubbub_render_feed($data, $conf);
|
|
|
|
$expected = '<link rel="hub" href="'. $hub .'" />';
|
|
|
|
$this->assertEquals($expected, $data['feed_plugins_header'][0]);
|
|
|
|
}
|
|
|
|
}
|