summaryrefslogtreecommitdiff
path: root/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php')
-rw-r--r--vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php65
1 files changed, 65 insertions, 0 deletions
diff --git a/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php b/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php
new file mode 100644
index 0000000..11e22eb
--- /dev/null
+++ b/vendor/guzzle/guzzle/tests/Guzzle/Tests/Mock/MockObserver.php
@@ -0,0 +1,65 @@
+<?php
+
+namespace Guzzle\Tests\Mock;
+
+use Guzzle\Common\Event;
+use Symfony\Component\EventDispatcher\EventSubscriberInterface;
+
+class MockObserver implements \Countable, EventSubscriberInterface
+{
+ public $events = array();
+
+ public static function getSubscribedEvents()
+ {
+ return array();
+ }
+
+ public function has($eventName)
+ {
+ foreach ($this->events as $event) {
+ if ($event->getName() == $eventName) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public function getLastEvent()
+ {
+ return end($this->events);
+ }
+
+ public function count()
+ {
+ return count($this->events);
+ }
+
+ public function getGrouped()
+ {
+ $events = array();
+ foreach ($this->events as $event) {
+ if (!isset($events[$event->getName()])) {
+ $events[$event->getName()] = array();
+ }
+ $events[$event->getName()][] = $event;
+ }
+
+ return $events;
+ }
+
+ public function getData($event, $key, $occurrence = 0)
+ {
+ $grouped = $this->getGrouped();
+ if (isset($grouped[$event])) {
+ return $grouped[$event][$occurrence][$key];
+ }
+
+ return null;
+ }
+
+ public function update(Event $event)
+ {
+ $this->events[] = $event;
+ }
+}