1
0
mirror of https://github.com/guzzle/guzzle.git synced 2025-02-25 18:43:22 +01:00
guzzle/tests/Guzzle/Tests/Common/EventTest.php
Michael Dowling c0dc85de35 Breaking / Potentially breaking changes:
1. Adopting a marker interface for Guzzle exceptions.
        A. All exceptions emitted from Guzzle are now wrapped with a Guzzle namespaced exception.
        B. Guzzle\Common\GuzzleExceptionInterface was renamed to Guzzle\Common\GuzzleException
        C. Guzzle\Common\ExceptionCollection was renamed to Guzzle\Common\Exception\ExceptionCollection
    2. Using Header objects for Request and Response objects
        A. When you call $request->getHeader('X'), you will get back a Guzzle\Http\Message\Header object that contains all of the headers that case insensitively match.  This object can be cast to a string or iterated like an array.  You can pass true in the second argument to retrieve the header as a string.
        B. Removing the old Guzzle\Common\Collection based searching arguments from most of the request and response header methods.  All retrievals are case-insensitive and return Header objects.
    3. Changing the two headers added by the cache plugin to just one header with key and ttl.
    4. Changing Guzzle\Http\Message\Response::factory() to fromMessage().
    5. Removing the NullObject return value from ServiceDescriptions and instead simply returning null

New Features / enhancements:

    1. Adding Guzzle\Http\Message\AbstractMessage::addHeaders()
    2. Making it simpler to create service descriptions using a unified factory method that delegates to other factories.
    3. Better handling of ports and hosts in Guzzle\Http\Url

Note: This is a noisy diff because I'm removing trailing whitespace and adding a new line at the end of each source file.
2012-04-22 00:17:49 -07:00

63 lines
1.5 KiB
PHP

<?php
namespace Guzzle\Tests\Common;
use Guzzle\Common\Event;
class EventTest extends \Guzzle\Tests\GuzzleTestCase
{
/**
* @return Event
*/
private function getEvent()
{
return new Event(array(
'test' => '123',
'other' => '456',
'event' => 'test.notify'
));
}
/**
* @covers Guzzle\Common\Event::__construct
*/
public function testAllowsParameterInjection()
{
$event = new Event(array(
'test' => '123'
));
$this->assertEquals('123', $event['test']);
}
/**
* @covers Guzzle\Common\Event::offsetGet
* @covers Guzzle\Common\Event::offsetSet
* @covers Guzzle\Common\Event::offsetUnset
* @covers Guzzle\Common\Event::offsetExists
*/
public function testImplementsArrayAccess()
{
$event = $this->getEvent();
$this->assertEquals('123', $event['test']);
$this->assertNull($event['foobar']);
$this->assertTrue($event->offsetExists('test'));
$this->assertFalse($event->offsetExists('foobar'));
unset($event['test']);
$this->assertFalse($event->offsetExists('test'));
$event['test'] = 'new';
$this->assertEquals('new', $event['test']);
}
/**
* @covers Guzzle\Common\Event::getIterator
*/
public function testImplementsIteratorAggregate()
{
$event = $this->getEvent();
$this->assertInstanceOf('ArrayIterator', $event->getIterator());
}
}