public function testRenderJsContainerBounds() { $map = new Map(); $map->setJavascriptVariable('map'); $map->getBound()->setJavascriptVariable('map_bound'); $map->addGroundOverlay($groundOverlay = new GroundOverlay()); $groundOverlay->getBound()->setJavascriptVariable('ground_overlay_bound'); $groundOverlay->getBound()->getSouthWest()->setJavascriptVariable('ground_overlay_coordinate_south_west'); $groundOverlay->getBound()->getNorthEast()->setJavascriptVariable('ground_overlay_coordinate_north_east'); $map->addRectangle($rectangle = new Rectangle()); $rectangle->getBound()->setJavascriptVariable('rectangle_bound'); $rectangle->getBound()->getSouthWest()->setJavascriptVariable('rectangle_coordinate_south_west'); $rectangle->getBound()->getNorthEast()->setJavascriptVariable('rectangle_coordinate_north_east'); $map->setAutoZoom(true); $expected = <<<EOF map_container.bounds.map_bound = map_bound = new google.maps.LatLngBounds(); map_container.bounds.ground_overlay_bound = ground_overlay_bound = new google.maps.LatLngBounds(ground_overlay_coordinate_south_west, ground_overlay_coordinate_north_east); map_container.bounds.rectangle_bound = rectangle_bound = new google.maps.LatLngBounds(rectangle_coordinate_south_west, rectangle_coordinate_north_east); EOF; $this->assertSame($expected, $this->mapHelper->renderJsContainerBounds($map)); }