function testPrototypeExtension() { $user = new Mock\User(); $customer = new Mock\Customer(); $c = 0; Mock\User::isAllowed(function () use(&$c) { $c++; }); prototypr\Manager::extend($customer, $user); $customer->isAllowed(); $this->assertEquals(1, $c); }
function testObjectCallEvent() { $user = new Mock\User(); $c = 0; $user->magery('call', 'isAllowed', function () use(&$c) { $c++; return true; }); $result = $user->isAllowed(); $this->assertEquals($result, true); $this->assertEquals(1, $c); }