Example #1
0
 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);
 }
Example #2
0
 public function testEventNamespacedUnbind()
 {
     $user = new Mock\User();
     $c = 0;
     $user->attach('click', function ($sender, $e) use(&$c) {
         $c++;
     });
     $user->attach('click.myNamespace', function ($sender, $e) use(&$c) {
         $c++;
     });
     $user->detach('click.myNamespace');
     $user->setState('click');
     $this->assertEquals(1, $c);
 }
Example #3
0
 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);
 }