package com.google.gwt.maps.client.placelib; /* * #%L * GWT Maps API V3 - Core API * %% * Copyright (C) 2011 - 2012 GWT Maps API V3 * %% * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * #L% */ import com.google.gwt.dom.client.Element; import com.google.gwt.maps.client.AbstractMapsGWTTestHelper; import com.google.gwt.maps.client.LoadApi.LoadLibrary; import com.google.gwt.maps.client.base.LatLng; import com.google.gwt.maps.client.base.LatLngBounds; import com.google.gwt.maps.client.events.place.PlaceChangeMapEvent; import com.google.gwt.maps.client.events.place.PlaceChangeMapHandler; import com.google.gwt.maps.client.placeslib.Autocomplete; import com.google.gwt.maps.client.placeslib.AutocompleteOptions; import com.google.gwt.maps.client.placeslib.AutocompleteType; import com.google.gwt.maps.client.placeslib.PlaceResult; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.RootPanel; public class AutocompleteGwtTest extends AbstractMapsGWTTestHelper { @Override public LoadLibrary[] getLibraries() { return new LoadLibrary[] { LoadLibrary.PLACES }; } @SuppressWarnings("unused") public void testUse() { asyncLibTest(new Runnable() { @Override public void run() { HTML html = new HTML(); Element htmlElement = html.getElement(); AutocompleteOptions options = AutocompleteOptions.newInstance(); Autocomplete o = Autocomplete.newInstance(htmlElement, options); finishTest(); } }); } public void testBounds() { asyncLibTest(new Runnable() { @Override public void run() { HTML tb = new HTML(); Element textBoxElement = tb.getElement(); AutocompleteOptions options = AutocompleteOptions.newInstance(); LatLng sw = LatLng.newInstance(-31.203405d, 125.244141d); LatLng ne = LatLng.newInstance(-25.363882d, 131.044922d); LatLngBounds left = LatLngBounds.newInstance(sw, ne); options.setBounds(left); Autocomplete o = Autocomplete.newInstance(textBoxElement, options); assertEquals(left.getToString(), o.getBounds().getToString()); LatLng sw2 = LatLng.newInstance(-32.203405d, 125.244141d); LatLng ne2 = LatLng.newInstance(-26.363882d, 131.044922d); LatLngBounds left2 = LatLngBounds.newInstance(sw2, ne2); o.setBounds(left2); assertEquals(left2.getToString(), o.getBounds().getToString()); finishTest(); } }); } @SuppressWarnings("unused") public void testPlace() { asyncLibTest(new Runnable() { @Override public void run() { HTML html = new HTML(); RootPanel.get().add(html); Element htmlElement = html.getElement(); AutocompleteOptions options = AutocompleteOptions.newInstance(); LatLng sw = LatLng.newInstance(-33.8902, 151.1759); LatLng ne = LatLng.newInstance(-33.8474, 151.2631); LatLngBounds left = LatLngBounds.newInstance(sw, ne); options.setBounds(left); final Autocomplete o = Autocomplete.newInstance(htmlElement, options); o.addPlaceChangeHandler(new PlaceChangeMapHandler() { @Override public void onEvent(PlaceChangeMapEvent event) { PlaceResult placeresult = o.getPlace(); // TODO use trigger? // finishTest(); } }); finishTest(); } }); } public void testTypes() { asyncLibTest(new Runnable() { @Override public void run() { HTML tb = new HTML(); Element textBoxElement = tb.getElement(); AutocompleteOptions options = AutocompleteOptions.newInstance(); AutocompleteType[] types = new AutocompleteType[2]; types[0] = AutocompleteType.ESTABLISHMENT; types[1] = AutocompleteType.GEOCODE; options.setTypes(types); Autocomplete o = Autocomplete.newInstance(textBoxElement, options); o.setTypes(types); // TODO maybe call it good just that it works? finishTest(); } }); } }