/**
  * Checks the render method
  */
 public function testRender()
 {
     $eventManagerTest = new EventManager();
     $domEventTest = new Event();
     $domEventTest->setInstance('instance');
     $domEventTest->setEventName('event_name');
     $domEventTest->setHandle('handle');
     $domEventTest->setCapture(true);
     $eventManagerTest->addDomEvent($domEventTest);
     $domEventOnceTest = new Event();
     $domEventOnceTest->setInstance('instance');
     $domEventOnceTest->setEventName('event_name');
     $domEventOnceTest->setHandle('handle');
     $domEventOnceTest->setCapture(true);
     $eventManagerTest->addDomEventOnce($domEventOnceTest);
     $eventTest = new Event();
     $eventTest->setInstance('instance');
     $eventTest->setEventName('event_name');
     $eventTest->setHandle('handle');
     $eventManagerTest->addEvent($eventTest);
     $eventOnceTest = new Event();
     $eventOnceTest->setInstance('instance');
     $eventOnceTest->setEventName('event_name');
     $eventOnceTest->setHandle('handle');
     $eventManagerTest->addEventOnce($eventOnceTest);
     $this->assertEquals(self::$eventManagerHelper->render($eventManagerTest), 'var ' . $domEventTest->getJavascriptVariable() . ' = google.maps.event.addDomListener(instance, "event_name", handle, true);' . PHP_EOL . 'var ' . $domEventOnceTest->getJavascriptVariable() . ' = google.maps.event.addDomListenerOnce(instance, "event_name", handle, true);' . PHP_EOL . 'var ' . $eventTest->getJavascriptVariable() . ' = google.maps.event.addListener(instance, "event_name", handle);' . PHP_EOL . 'var ' . $eventOnceTest->getJavascriptVariable() . ' = google.maps.event.addListenerOnce(instance, "event_name", handle);' . PHP_EOL);
 }
 /**
  * Checks the render event once method
  */
 public function testRenderEventOnce()
 {
     $eventTest = new Event();
     $eventTest->setInstance('instance');
     $eventTest->setEventName('event_name');
     $eventTest->setHandle('handle');
     $this->assertEquals(self::$eventHelper->renderEventOnce($eventTest), 'var ' . $eventTest->getJavascriptVariable() . ' = google.maps.event.addListenerOnce(instance, "event_name", handle);' . PHP_EOL);
 }
 /**
  * Renders the map javascript markers
  *
  * @param Ivory\GoogleMapBundle\Model\Map $map
  * @return string HTML output
  */
 public function renderMarkers(Map $map)
 {
     $html = array();
     foreach ($map->getMarkers() as $marker) {
         $html[] = $this->markerHelper->render($marker, $map);
         if ($marker->hasInfoWindow() && $marker->getInfoWindow()->isAutoOpen()) {
             $event = new Event();
             $event->setInstance($marker->getJavascriptVariable());
             $event->setEventName($marker->getInfoWindow()->getOpenEvent());
             $event->setHandle(sprintf('function(){for(var info_window in closable_info_windows){closable_info_windows[info_window].close();}%s}', str_replace(PHP_EOL, '', $this->infoWindowHelper->renderOpen($marker->getInfoWindow(), $map, $marker))));
             $map->getEventManager()->addEvent($event);
         }
     }
     return implode('', $html);
 }
 /**
  * Checks the events once getter & setter
  */
 public function testEventsOnce()
 {
     $eventOnceTest = new Event();
     $eventOnceTest->setInstance('instance');
     $eventOnceTest->setEventName('event_name');
     $eventOnceTest->setHandle('handle');
     $eventOnceTest->setCapture(true);
     self::$eventManager->addEventOnce($eventOnceTest);
     $eventsOnce = self::$eventManager->getEventsOnce();
     $this->assertEquals($eventsOnce[0]->getInstance(), 'instance');
     $this->assertEquals($eventsOnce[0]->getEventName(), 'event_name');
     $this->assertEquals($eventsOnce[0]->getHandle(), 'handle');
     $this->assertTrue($eventsOnce[0]->isCapture());
 }
 /**
  * Create an event
  */
 public function __construct()
 {
     parent::__construct();
 }
 /**
  * Renders the javascript event once
  *
  * @param Ivory\GoogleMapBundle\Model\Events\Event $eventOnce
  * @return string HTML output
  */
 public function renderEventOnce(Event $eventOnce)
 {
     return sprintf('var %s = google.maps.event.addListenerOnce(%s, "%s", %s);' . PHP_EOL, $eventOnce->getJavascriptVariable(), $eventOnce->getInstance(), $eventOnce->getEventName(), $eventOnce->getHandle());
 }