public function testRenderJsContainerSizes()
    {
        $map = new Map();
        $map->setJavascriptVariable('map');
        $map->addInfoWindow($mapInfoWindow = new InfoWindow());
        $mapInfoWindow->setPixelOffset(1, 2);
        $mapInfoWindow->getPixelOffset()->setJavascriptVariable('map_info_winfow_pixel_offset');
        $map->addMarker($marker = new Marker());
        $marker->setInfoWindow($markerInfoWindow = new InfoWindow());
        $markerInfoWindow->setPixelOffset(1, 2);
        $markerInfoWindow->getPixelOffset()->setJavascriptVariable('marker_info_window_pixel_offset');
        $marker->setIcon('url');
        $marker->getIcon()->setSize(1, 2);
        $marker->getIcon()->getSize()->setJavascriptVariable('marker_icon_size');
        $marker->getIcon()->setScaledSize(1, 2);
        $marker->getIcon()->getScaledSize()->setJavascriptVariable('marker_icon_scaled_size');
        $marker->setShadow('url');
        $marker->getShadow()->setSize(1, 2);
        $marker->getShadow()->getSize()->setJavascriptVariable('marker_shadow_size');
        $marker->getShadow()->setScaledSize(1, 2);
        $marker->getShadow()->getScaledSize()->setJavascriptVariable('marker_shadow_scaled_size');
        $expected = <<<EOF
map_container.sizes.map_info_winfow_pixel_offset = map_info_winfow_pixel_offset = new google.maps.Size(1, 2);
map_container.sizes.marker_info_window_pixel_offset = marker_info_window_pixel_offset = new google.maps.Size(1, 2);
map_container.sizes.marker_icon_size = marker_icon_size = new google.maps.Size(1, 2);
map_container.sizes.marker_icon_scaled_size = marker_icon_scaled_size = new google.maps.Size(1, 2);
map_container.sizes.marker_shadow_size = marker_shadow_size = new google.maps.Size(1, 2);
map_container.sizes.marker_shadow_scaled_size = marker_shadow_scaled_size = new google.maps.Size(1, 2);

EOF;
        $this->assertSame($expected, $this->mapHelper->renderJsContainerSizes($map));
    }