define('PHPUnit_MAIN_METHOD', 'Horde_Feed_AllTests::main');
}
-require_once 'PHPUnit/Framework/TestSuite.php';
+require_once 'PHPUnit/Framework.php';
require_once 'PHPUnit/TextUI/TestRunner.php';
-class Horde_Feed_AllTests {
-
+class Horde_Feed_AllTests
+{
public static function main()
{
PHPUnit_TextUI_TestRunner::run(self::suite());
public static function suite()
{
+ if (!spl_autoload_functions()) {
+ spl_autoload_register(create_function('$class', '$filename = str_replace(array(\'::\', \'_\'), \'/\', $class); include "$filename.php";'));
+ }
+
$suite = new PHPUnit_Framework_TestSuite('Horde Framework - Horde_Feed');
$basedir = dirname(__FILE__);
$this->uri = 'http://example.com/Feed';
}
- public function tearDown()
- {
- Horde_Feed::setHttpClient(new Horde_Http_Client);
- }
-
public function testPost()
{
- $mock = new Horde_Http_Client_Mock;
- $mock->setResponse(new Horde_Http_Client_Response('', fopen(dirname(__FILE__) . '/fixtures/AtomPublishingTest-created-entry.xml', 'r'), array('HTTP/1.1 201')));
- Horde_Feed::setHttpClient($mock);
+ $mock = new Horde_Http_Request_Mock();
+ $mock->setResponse(new Horde_Http_Response_Mock('', fopen(dirname(__FILE__) . '/fixtures/AtomPublishingTest-created-entry.xml', 'r'), array('HTTP/1.1 201')));
+ $httpClient = new Horde_Http_Client(array('request' => $mock));
- $entry = new Horde_Feed_Entry_Atom;
+ $entry = new Horde_Feed_Entry_Atom(null, $httpClient);
- /* Give the entry its initial values. */
+ // Give the entry its initial values.
$entry->title = 'Entry 1';
$entry->content = '1.1';
$entry->content['type'] = 'text';
- /* Do the initial post. The base feed URI is the same as the
- * POST URI, so just supply save() with that. */
+ // Do the initial post. The base feed URI is the same as the
+ // POST URI, so just supply save() with that.
$entry->save($this->uri);
- /* $entry will be filled in with any elements returned by the
- * server (id, updated, link rel="edit", etc). */
+ // $entry will be filled in with any elements returned by the
+ // server (id, updated, link rel="edit", etc).
$this->assertEquals('1', $entry->id(), 'Expected id to be 1');
$this->assertEquals('Entry 1', $entry->title(), 'Expected title to be "Entry 1"');
$this->assertEquals('1.1', $entry->content(), 'Expected content to be "1.1"');
public function testEdit()
{
- $mock = new Horde_Http_Client_Mock;
- $mock->setResponse(new Horde_Http_Client_Response('', fopen(dirname(__FILE__) . '/fixtures/AtomPublishingTest-updated-entry.xml', 'r'), array('HTTP/1.1 200')));
- Horde_Feed::setHttpClient($mock);
+ $mock = new Horde_Http_Request_Mock();
+ $mock->setResponse(new Horde_Http_Response_Mock('', fopen(dirname(__FILE__) . '/fixtures/AtomPublishingTest-updated-entry.xml', 'r'), array('HTTP/1.1 200')));
+ $httpClient = new Horde_Http_Client(array('request' => $mock));
- /* The base feed URI is the same as the POST URI, so just supply the
- * Horde_Feed_Entry_Atom object with that. */
+ // The base feed URI is the same as the POST URI, so just supply the
+ // Horde_Feed_Entry_Atom object with that.
$contents = file_get_contents(dirname(__FILE__) . '/fixtures/AtomPublishingTest-before-update.xml');
- $entry = new Horde_Feed_Entry_Atom($contents, $this->uri);
+ $entry = new Horde_Feed_Entry_Atom($contents, $httpClient);
- /* Initial state. */
+ // Initial state.
$this->assertEquals('2005-05-23T16:26:00-08:00', $entry->updated(), 'Initial state of updated timestamp does not match');
$this->assertEquals('http://example.com/Feed/1/1/', $entry->link('edit'), 'Initial state of edit link does not match');
- /* Just change the entry's properties directly. */
+ // Just change the entry's properties directly.
$entry->content = '1.2';
- /* Then save the changes. */
+ // Then save the changes.
$entry->save();
- /* New state. */
+ // New state.
$this->assertEquals('1.2', $entry->content(), 'Content change did not stick');
$this->assertEquals('2005-05-23T16:27:00-08:00', $entry->updated(), 'New updated link is not correct');
$this->assertEquals('http://example.com/Feed/1/2/', $entry->link('edit'), 'New edit link is not correct');