From: =?utf-8?q?David_Pr=C3=A9vot?= <taffit@debian.org>
Date: Fri, 25 Dec 2020 12:49:06 -0400
Subject: Adapt to recent version of PHPUnit (9)

---
 test/EventManagerAwareTraitTest.php | 17 +++++++++++++++--
 test/EventManagerTest.php           | 25 ++++++++++++++++++++++---
 test/LazyListenerTest.php           | 17 ++++++++++++++++-
 3 files changed, 53 insertions(+), 6 deletions(-)

diff --git a/test/EventManagerAwareTraitTest.php b/test/EventManagerAwareTraitTest.php
index 327af68..65d3008 100644
--- a/test/EventManagerAwareTraitTest.php
+++ b/test/EventManagerAwareTraitTest.php
@@ -13,6 +13,7 @@ use Laminas\EventManager\EventManagerAwareTrait;
 use Laminas\EventManager\EventManagerInterface;
 use LaminasTest\EventManager\TestAsset\MockEventManagerAwareTrait;
 use PHPUnit\Framework\TestCase;
+use ReflectionObject;
 
 class EventManagerAwareTraitTest extends TestCase
 {
@@ -20,13 +21,25 @@ class EventManagerAwareTraitTest extends TestCase
     {
         $object = $this->getObjectForTrait(EventManagerAwareTrait::class);
 
-        self::assertAttributeEquals(null, 'events', $object);
+        $reflector = new ReflectionObject($object);
+        $attribute = $reflector->getProperty('events');
+        $attribute->setAccessible(true);
+        $value = $attribute->getValue($object);
+        $attribute->setAccessible(false);
+
+        self::assertEquals(null, $value);
 
         $eventManager = new EventManager;
 
         $object->setEventManager($eventManager);
 
-        self::assertAttributeEquals($eventManager, 'events', $object);
+        $reflector = new ReflectionObject($object);
+        $attribute = $reflector->getProperty('events');
+        $attribute->setAccessible(true);
+        $value = $attribute->getValue($object);
+        $attribute->setAccessible(false);
+
+        self::assertEquals($eventManager, $value);
     }
 
     public function testGetEventManager()
diff --git a/test/EventManagerTest.php b/test/EventManagerTest.php
index 8ccd054..b2790a0 100644
--- a/test/EventManagerTest.php
+++ b/test/EventManagerTest.php
@@ -16,6 +16,7 @@ use Laminas\EventManager\ResponseCollection;
 use Laminas\EventManager\SharedEventManager;
 use Laminas\EventManager\SharedEventManagerInterface;
 use PHPUnit\Framework\TestCase;
+use ReflectionObject;
 use ReflectionProperty;
 use stdClass;
 
@@ -111,7 +112,13 @@ class EventManagerTest extends TestCase
 
     public function testAttachShouldAddEventIfItDoesNotExist()
     {
-        self::assertAttributeEmpty('events', $this->events);
+        $reflector = new ReflectionObject($this->events);
+        $attribute = $reflector->getProperty('events');
+        $attribute->setAccessible(true);
+        $value = $attribute->getValue($this->events);
+        $attribute->setAccessible(false);
+
+        self::assertEmpty($value);
         $listener = $this->events->attach('test', [$this, __METHOD__]);
         $events = $this->getEventListFromManager($this->events);
         self::assertNotEmpty($events);
@@ -423,7 +430,13 @@ class EventManagerTest extends TestCase
 
     public function testCreatesAnEventPrototypeAtInstantiation()
     {
-        self::assertAttributeInstanceOf(EventInterface::class, 'eventPrototype', $this->events);
+        $reflector = new ReflectionObject($this->events);
+        $attribute = $reflector->getProperty('eventPrototype');
+        $attribute->setAccessible(true);
+        $value = $attribute->getValue($this->events);
+        $attribute->setAccessible(false);
+
+        self::assertInstanceOf(EventInterface::class, $value);
     }
 
     public function testSetEventPrototype()
@@ -431,7 +444,13 @@ class EventManagerTest extends TestCase
         $event = $this->prophesize(EventInterface::class)->reveal();
         $this->events->setEventPrototype($event);
 
-        self::assertAttributeSame($event, 'eventPrototype', $this->events);
+        $reflector = new ReflectionObject($this->events);
+        $attribute = $reflector->getProperty('eventPrototype');
+        $attribute->setAccessible(true);
+        $value = $attribute->getValue($this->events);
+        $attribute->setAccessible(false);
+
+        self::assertSame($event, $value);
     }
 
     public function testSharedManagerClearListenersReturnsFalse()
diff --git a/test/LazyListenerTest.php b/test/LazyListenerTest.php
index f684bb4..01d6d59 100644
--- a/test/LazyListenerTest.php
+++ b/test/LazyListenerTest.php
@@ -14,6 +14,7 @@ use Laminas\EventManager\Exception\InvalidArgumentException;
 use Laminas\EventManager\LazyListener;
 use PHPUnit\Framework\TestCase;
 use Prophecy\Argument;
+use ReflectionObject;
 use stdClass;
 
 class LazyListenerTest extends TestCase
@@ -114,7 +115,21 @@ class LazyListenerTest extends TestCase
      */
     public function testInstatiationSetsListenerMethod($listener)
     {
-        self::assertAttributeEquals('method', 'method', $listener);
+        $reflector = new ReflectionObject($listener);
+
+        do {
+            try {
+                $attribute = $reflector->getProperty('method');
+
+                $attribute->setAccessible(true);
+                $value = $attribute->getValue($listener);
+                $attribute->setAccessible(false);
+
+            } catch (\ReflectionException $e) {
+            }
+	} while ($reflector = $reflector->getParentClass());
+
+        self::assertEquals('method', $value);
     }
 
     public function testLazyListenerActsAsInvokableAroundListenerCreation()
