Esempio n. 1
0
 public function testOn()
 {
     $emitter = new Emitter();
     $emitter->on('foo', function ($a, $b) {
         $this->assertSame('a', $a);
         $this->assertSame('b', $b);
     });
     $emitter->emit('foo', 'a', 'b');
 }
Esempio n. 2
0
 /**
  * Makes this mapping to a multiple.
  *
  * @param Mapping $mapping The mapping object
  *
  * @return Mapping
  */
 public function multiple(Mapping $proto)
 {
     $emitter = new Emitter();
     $mapping = new Mapping($emitter, $proto->getExtensions());
     $emitter->on(Events::APPLY, function (Data $data) use($mapping, $proto) {
         if (null === $data->getInput()) {
             $data->setInput([]);
         }
         $this->resize($mapping, $proto, $data->getInput());
     });
     $emitter->on(Events::UNAPPLY, function (Data $data) use($mapping, $proto) {
         $this->resize($mapping, $proto, $data->getInput());
     });
     return $mapping;
 }