Browse Source

Add deprecation warnings to event/filesystem.

Update tests and add deprecation decorators where the new methods have
tests.
Mark Story 8 years ago
parent
commit
dce82efd44

+ 16 - 0
src/Event/Event.php

@@ -92,6 +92,11 @@ class Event
      */
     public function __get($attribute)
     {
+        $method = 'get' . ucfirst($attribute);
+        deprecationWarning(
+            "Event::${$attribute} is deprecated. " .
+            "Use Event::{$method}() instead."
+        );
         if ($attribute === 'name' || $attribute === 'subject') {
             return $this->{$attribute}();
         }
@@ -113,6 +118,11 @@ class Event
      */
     public function __set($attribute, $value)
     {
+        $method = 'set' . ucfirst($attribute);
+        deprecationWarning(
+            "Event::${$attribute} is deprecated. " .
+            "Use Event::{$method}() instead."
+        );
         if ($attribute === 'data') {
             $this->_data = (array)$value;
         }
@@ -129,6 +139,8 @@ class Event
      */
     public function name()
     {
+        deprecationWarning('Event::name() is deprecated. Use Event::getName() instead.');
+
         return $this->_name;
     }
 
@@ -150,6 +162,8 @@ class Event
      */
     public function subject()
     {
+        deprecationWarning('Event::subject() is deprecated. Use Event::getSubject() instead.');
+
         return $this->_subject;
     }
 
@@ -191,6 +205,8 @@ class Event
      */
     public function result()
     {
+        deprecationWarning('Event::result() is deprecated. Use Event::getResult() instead.');
+
         return $this->result;
     }
 

+ 4 - 0
src/Event/EventDispatcherTrait.php

@@ -47,6 +47,10 @@ trait EventDispatcherTrait
      */
     public function eventManager(EventManager $eventManager = null)
     {
+        deprecationWarning(
+            'EventDispatcherTrait::eventManager() is deprecated. ' .
+            'Use EventDispatcherTrait::setEventManager()/getEventManager() instead.'
+        );
         if ($eventManager !== null) {
             $this->setEventManager($eventManager);
         }

+ 2 - 0
src/Event/EventManager.php

@@ -114,6 +114,7 @@ class EventManager
      */
     public function attach($callable, $eventKey = null, array $options = [])
     {
+        deprecationWarning('EventManager::attach() is deprecated. Use EventManager::on() instead.');
         if ($eventKey === null) {
             $this->on($callable);
 
@@ -249,6 +250,7 @@ class EventManager
      */
     public function detach($callable, $eventKey = null)
     {
+        deprecationWarning('EventManager::detach() is deprecated. Use EventManager::off() instead.');
         if ($eventKey === null) {
             $this->off($callable);
 

+ 1 - 0
src/Filesystem/Folder.php

@@ -410,6 +410,7 @@ class Folder
      */
     public function inCakePath($path = '')
     {
+        deprecationWarning('Folder::inCakePath() is deprecated. Use Folder::inPath() instead.');
         $dir = substr(Folder::slashTerm(ROOT), 0, -1);
         $newdir = $dir . $path;
 

+ 6 - 4
tests/TestCase/Event/EventDispatcherTraitTest.php

@@ -52,15 +52,17 @@ class EventDispatcherTraitTest extends TestCase
     /**
      * testEventManager
      *
+     * @group deprecated
      * @return void
      */
     public function testEventManager()
     {
-        $eventManager = new EventManager();
-
-        $this->subject->eventManager($eventManager);
+        $this->deprecated(function () {
+            $eventManager = new EventManager();
+            $this->subject->eventManager($eventManager);
 
-        $this->assertSame($eventManager, $this->subject->eventManager());
+            $this->assertSame($eventManager, $this->subject->eventManager());
+        });
     }
 
     /**

+ 99 - 87
tests/TestCase/Event/EventManagerTest.php

@@ -98,57 +98,63 @@ class EventManagerTest extends TestCase
     /**
      * Tests the attach() method for a single event key in multiple queues
      *
+     * @group deprecated
      * @return void
      */
     public function testAttachListeners()
     {
-        $manager = new EventManager();
-        $manager->attach('fakeFunction', 'fake.event');
-        $expected = [
-            ['callable' => 'fakeFunction']
-        ];
-        $this->assertEquals($expected, $manager->listeners('fake.event'));
-
-        $manager->attach('fakeFunction2', 'fake.event');
-        $expected[] = ['callable' => 'fakeFunction2'];
-        $this->assertEquals($expected, $manager->listeners('fake.event'));
-
-        $manager->attach('inQ5', 'fake.event', ['priority' => 5]);
-        $manager->attach('inQ1', 'fake.event', ['priority' => 1]);
-        $manager->attach('otherInQ5', 'fake.event', ['priority' => 5]);
-
-        $expected = array_merge(
-            [
-                ['callable' => 'inQ1'],
-                ['callable' => 'inQ5'],
-                ['callable' => 'otherInQ5']
-            ],
-            $expected
-        );
-        $this->assertEquals($expected, $manager->listeners('fake.event'));
+        $this->deprecated(function () {
+            $manager = new EventManager();
+            $manager->attach('fakeFunction', 'fake.event');
+            $expected = [
+                ['callable' => 'fakeFunction']
+            ];
+            $this->assertEquals($expected, $manager->listeners('fake.event'));
+
+            $manager->attach('fakeFunction2', 'fake.event');
+            $expected[] = ['callable' => 'fakeFunction2'];
+            $this->assertEquals($expected, $manager->listeners('fake.event'));
+
+            $manager->attach('inQ5', 'fake.event', ['priority' => 5]);
+            $manager->attach('inQ1', 'fake.event', ['priority' => 1]);
+            $manager->attach('otherInQ5', 'fake.event', ['priority' => 5]);
+
+            $expected = array_merge(
+                [
+                    ['callable' => 'inQ1'],
+                    ['callable' => 'inQ5'],
+                    ['callable' => 'otherInQ5']
+                ],
+                $expected
+            );
+            $this->assertEquals($expected, $manager->listeners('fake.event'));
+        });
     }
 
     /**
      * Tests the attach() method for multiple event key in multiple queues
      *
+     * @group deprecated
      * @return void
      */
     public function testAttachMultipleEventKeys()
     {
-        $manager = new EventManager();
-        $manager->attach('fakeFunction', 'fake.event');
-        $manager->attach('fakeFunction2', 'another.event');
-        $manager->attach('fakeFunction3', 'another.event', ['priority' => 1]);
-        $expected = [
-            ['callable' => 'fakeFunction']
-        ];
-        $this->assertEquals($expected, $manager->listeners('fake.event'));
-
-        $expected = [
-            ['callable' => 'fakeFunction3'],
-            ['callable' => 'fakeFunction2']
-        ];
-        $this->assertEquals($expected, $manager->listeners('another.event'));
+        $this->deprecated(function () {
+            $manager = new EventManager();
+            $manager->attach('fakeFunction', 'fake.event');
+            $manager->attach('fakeFunction2', 'another.event');
+            $manager->attach('fakeFunction3', 'another.event', ['priority' => 1]);
+            $expected = [
+                ['callable' => 'fakeFunction']
+            ];
+            $this->assertEquals($expected, $manager->listeners('fake.event'));
+
+            $expected = [
+                ['callable' => 'fakeFunction3'],
+                ['callable' => 'fakeFunction2']
+            ];
+            $this->assertEquals($expected, $manager->listeners('another.event'));
+        });
     }
 
     /**
@@ -159,10 +165,10 @@ class EventManagerTest extends TestCase
     public function testMatchingListeners()
     {
         $manager = new EventManager();
-        $manager->attach('fakeFunction1', 'fake.event');
-        $manager->attach('fakeFunction2', 'real.event');
-        $manager->attach('fakeFunction3', 'test.event');
-        $manager->attach('fakeFunction4', 'event.test');
+        $manager->on('fake.event', 'fakeFunction1');
+        $manager->on('real.event', 'fakeFunction2');
+        $manager->on('test.event', 'fakeFunction3');
+        $manager->on('event.test', 'fakeFunction4');
 
         $this->assertArrayHasKey('fake.event', $manager->matchingListeners('fake.event'));
         $this->assertArrayHasKey('real.event', $manager->matchingListeners('real.event'));
@@ -316,46 +322,52 @@ class EventManagerTest extends TestCase
     /**
      * Tests detaching an event from a event key queue
      *
+     * @group deprecated
      * @return void
      */
     public function testDetach()
     {
-        $manager = new EventManager();
-        $manager->attach(['AClass', 'aMethod'], 'fake.event');
-        $manager->attach(['AClass', 'anotherMethod'], 'another.event');
-        $manager->attach('fakeFunction', 'another.event', ['priority' => 1]);
+        $this->deprecated(function () {
+            $manager = new EventManager();
+            $manager->attach(['AClass', 'aMethod'], 'fake.event');
+            $manager->attach(['AClass', 'anotherMethod'], 'another.event');
+            $manager->attach('fakeFunction', 'another.event', ['priority' => 1]);
 
-        $manager->detach(['AClass', 'aMethod'], 'fake.event');
-        $this->assertEquals([], $manager->listeners('fake.event'));
+            $manager->detach(['AClass', 'aMethod'], 'fake.event');
+            $this->assertEquals([], $manager->listeners('fake.event'));
 
-        $manager->detach(['AClass', 'anotherMethod'], 'another.event');
-        $expected = [
-            ['callable' => 'fakeFunction']
-        ];
-        $this->assertEquals($expected, $manager->listeners('another.event'));
+            $manager->detach(['AClass', 'anotherMethod'], 'another.event');
+            $expected = [
+                ['callable' => 'fakeFunction']
+            ];
+            $this->assertEquals($expected, $manager->listeners('another.event'));
 
-        $manager->detach('fakeFunction', 'another.event');
-        $this->assertEquals([], $manager->listeners('another.event'));
+            $manager->detach('fakeFunction', 'another.event');
+            $this->assertEquals([], $manager->listeners('another.event'));
+        });
     }
 
     /**
      * Tests detaching an event from all event queues
      *
+     * @group deprecated
      * @return void
      */
     public function testDetachFromAll()
     {
-        $manager = new EventManager();
-        $manager->attach(['AClass', 'aMethod'], 'fake.event');
-        $manager->attach(['AClass', 'aMethod'], 'another.event');
-        $manager->attach('fakeFunction', 'another.event', ['priority' => 1]);
-
-        $manager->detach(['AClass', 'aMethod']);
-        $expected = [
-            ['callable' => 'fakeFunction']
-        ];
-        $this->assertEquals($expected, $manager->listeners('another.event'));
-        $this->assertEquals([], $manager->listeners('fake.event'));
+        $this->deprecated(function () {
+            $manager = new EventManager();
+            $manager->attach(['AClass', 'aMethod'], 'fake.event');
+            $manager->attach(['AClass', 'aMethod'], 'another.event');
+            $manager->attach('fakeFunction', 'another.event', ['priority' => 1]);
+
+            $manager->detach(['AClass', 'aMethod']);
+            $expected = [
+                ['callable' => 'fakeFunction']
+            ];
+            $this->assertEquals($expected, $manager->listeners('another.event'));
+            $this->assertEquals([], $manager->listeners('fake.event'));
+        });
     }
 
     /**
@@ -371,8 +383,8 @@ class EventManagerTest extends TestCase
             ->getMock();
         $anotherListener = $this->getMockBuilder(__NAMESPACE__ . '\EventTestListener')
             ->getMock();
-        $manager->attach([$listener, 'listenerFunction'], 'fake.event');
-        $manager->attach([$anotherListener, 'listenerFunction'], 'fake.event');
+        $manager->on('fake.event', [$listener, 'listenerFunction']);
+        $manager->on('fake.event', [$anotherListener, 'listenerFunction']);
         $event = new Event('fake.event');
 
         $listener->expects($this->once())->method('listenerFunction')->with($event);
@@ -389,7 +401,7 @@ class EventManagerTest extends TestCase
     {
         $manager = new EventManager();
         $listener = new EventTestListener;
-        $manager->attach([$listener, 'listenerFunction'], 'fake.event');
+        $manager->on('fake.event', [$listener, 'listenerFunction']);
         $event = 'fake.event';
         $manager->dispatch($event);
 
@@ -410,8 +422,8 @@ class EventManagerTest extends TestCase
             ->getMock();
         $anotherListener = $this->getMockBuilder(__NAMESPACE__ . '\EventTestListener')
             ->getMock();
-        $manager->attach([$listener, 'listenerFunction'], 'fake.event');
-        $manager->attach([$anotherListener, 'listenerFunction'], 'fake.event');
+        $manager->on('fake.event', [$listener, 'listenerFunction']);
+        $manager->on('fake.event', [$anotherListener, 'listenerFunction']);
         $event = new Event('fake.event');
 
         $listener->expects($this->at(0))->method('listenerFunction')
@@ -438,8 +450,8 @@ class EventManagerTest extends TestCase
             ->getMock();
         $anotherListener = $this->getMockBuilder(__NAMESPACE__ . '\EventTestListener')
             ->getMock();
-        $manager->attach([$listener, 'listenerFunction'], 'fake.event');
-        $manager->attach([$anotherListener, 'listenerFunction'], 'fake.event');
+        $manager->on('fake.event', [$listener, 'listenerFunction']);
+        $manager->on('fake.event', [$anotherListener, 'listenerFunction']);
         $event = new Event('fake.event');
 
         $listener->expects($this->at(0))->method('listenerFunction')
@@ -461,8 +473,8 @@ class EventManagerTest extends TestCase
     {
         $manager = new EventManager();
         $listener = new EventTestListener;
-        $manager->attach([$listener, 'listenerFunction'], 'fake.event');
-        $manager->attach([$listener, 'secondListenerFunction'], 'fake.event', ['priority' => 5]);
+        $manager->on('fake.event', [$listener, 'listenerFunction']);
+        $manager->on('fake.event', ['priority' => 5], [$listener, 'secondListenerFunction']);
         $event = new Event('fake.event');
         $manager->dispatch($event);
 
@@ -477,13 +489,13 @@ class EventManagerTest extends TestCase
      * @triggers fake.event
      * @triggers another.event $this, array(some => data)
      */
-    public function testAttachSubscriber()
+    public function testOnSubscriber()
     {
         $manager = new EventManager();
         $listener = $this->getMockBuilder(__NAMESPACE__ . '\CustomTestEventListenerInterface')
             ->setMethods(['secondListenerFunction'])
             ->getMock();
-        $manager->attach($listener);
+        $manager->on($listener);
 
         $event = new Event('fake.event');
         $manager->dispatch($event);
@@ -504,13 +516,13 @@ class EventManagerTest extends TestCase
      * @return void
      * @triggers multiple.handlers
      */
-    public function testAttachSubscriberMultiple()
+    public function testOnSubscriberMultiple()
     {
         $manager = new EventManager();
         $listener = $this->getMockBuilder(__NAMESPACE__ . '\CustomTestEventListenerInterface')
             ->setMethods(['listenerFunction', 'thirdListenerFunction'])
             ->getMock();
-        $manager->attach($listener);
+        $manager->on($listener);
         $event = new Event('multiple.handlers');
         $listener->expects($this->once())
             ->method('listenerFunction')
@@ -532,7 +544,7 @@ class EventManagerTest extends TestCase
         $listener = $this->getMockBuilder(__NAMESPACE__ . '\CustomTestEventListenerInterface')
             ->setMethods(['secondListenerFunction'])
             ->getMock();
-        $manager->attach($listener);
+        $manager->on($listener);
         $expected = [
             ['callable' => [$listener, 'secondListenerFunction']]
         ];
@@ -541,7 +553,7 @@ class EventManagerTest extends TestCase
             ['callable' => [$listener, 'listenerFunction']]
         ];
         $this->assertEquals($expected, $manager->listeners('fake.event'));
-        $manager->detach($listener);
+        $manager->off($listener);
         $this->assertEquals([], $manager->listeners('fake.event'));
         $this->assertEquals([], $manager->listeners('another.event'));
     }
@@ -598,9 +610,9 @@ class EventManagerTest extends TestCase
                 ->with('fake.event')
                 ->will($this->returnValue([]));
 
-        $manager->attach([$listener, 'listenerFunction'], 'fake.event');
-        $manager->attach([$listener, 'stopListener'], 'fake.event', ['priority' => 8]);
-        $manager->attach([$listener, 'secondListenerFunction'], 'fake.event', ['priority' => 5]);
+        $manager->on('fake.event', [$listener, 'listenerFunction']);
+        $manager->on('fake.event', ['priority' => 8], [$listener, 'stopListener']);
+        $manager->on('fake.event', ['priority' => 5], [$listener, 'secondListenerFunction']);
         $event = new Event('fake.event');
         $manager->dispatch($event);
 
@@ -632,8 +644,8 @@ class EventManagerTest extends TestCase
                     ]]
                 ));
 
-        $manager->attach([$listener, 'listenerFunction'], 'fake.event');
-        $manager->attach([$listener, 'thirdListenerFunction'], 'fake.event', ['priority' => 15]);
+        $manager->on('fake.event', [$listener, 'listenerFunction']);
+        $manager->on('fake.event', ['priority' => 15], [$listener, 'thirdListenerFunction']);
 
         $manager->dispatch($event);
 
@@ -665,7 +677,7 @@ class EventManagerTest extends TestCase
                     ]]
                 ));
 
-        $manager->attach([$listener, 'secondListenerFunction'], 'fake.event');
+        $manager->on('fake.event', [$listener, 'secondListenerFunction']);
 
         $manager->dispatch($event);
 

+ 0 - 4
tests/TestCase/Event/EventTest.php

@@ -38,7 +38,6 @@ class EventTest extends TestCase
     {
         $event = new Event('fake.event');
         $this->assertEquals('fake.event', $event->getName());
-        $this->assertEquals('fake.event', $event->getName());
     }
 
     /**
@@ -52,7 +51,6 @@ class EventTest extends TestCase
     {
         $event = new Event('fake.event', $this);
         $this->assertSame($this, $event->getSubject());
-        $this->assertSame($this, $event->getSubject());
 
         $event = new Event('fake.event');
         $this->assertNull($event->getSubject());
@@ -82,7 +80,6 @@ class EventTest extends TestCase
     {
         $event = new Event('fake.event', $this, ['some' => 'data']);
         $this->assertEquals(['some' => 'data'], $event->getData());
-        $this->assertEquals(['some' => 'data'], $event->getData());
 
         $this->assertEquals('data', $event->getData('some'));
         $this->assertNull($event->getData('undef'));
@@ -99,7 +96,6 @@ class EventTest extends TestCase
         $data = new ArrayObject(['some' => 'data']);
         $event = new Event('fake.event', $this, $data);
         $this->assertEquals(['some' => 'data'], $event->getData());
-        $this->assertEquals(['some' => 'data'], $event->getData());
 
         $this->assertEquals('data', $event->getData('some'));
         $this->assertNull($event->getData('undef'));

+ 16 - 13
tests/TestCase/Filesystem/FolderTest.php

@@ -720,25 +720,28 @@ class FolderTest extends TestCase
     /**
      * testInCakePath method
      *
+     * @group deprecated
      * @return void
      */
     public function testInCakePath()
     {
-        $Folder = new Folder();
-        $Folder->cd(ROOT);
-        $path = 'C:\\path\\to\\file';
-        $result = $Folder->inCakePath($path);
-        $this->assertFalse($result);
+        $this->deprecated(function () {
+            $Folder = new Folder();
+            $Folder->cd(ROOT);
+            $path = 'C:\\path\\to\\file';
+            $result = $Folder->inCakePath($path);
+            $this->assertFalse($result);
 
-        $path = ROOT;
-        $Folder->cd(ROOT);
-        $result = $Folder->inCakePath($path);
-        $this->assertFalse($result);
+            $path = ROOT;
+            $Folder->cd(ROOT);
+            $result = $Folder->inCakePath($path);
+            $this->assertFalse($result);
 
-        $path = DS . 'config';
-        $Folder->cd(ROOT . DS . 'config');
-        $result = $Folder->inCakePath($path);
-        $this->assertTrue($result);
+            $path = DS . 'config';
+            $Folder->cd(ROOT . DS . 'config');
+            $result = $Folder->inCakePath($path);
+            $this->assertTrue($result);
+        });
     }
 
     /**