package org.geoserver.web.wicket; import org.apache.wicket.Component; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.util.tester.FormTester; import org.geoserver.web.ComponentBuilder; import org.geoserver.web.FormTestPage; import org.geoserver.web.GeoServerWicketTestSupport; import org.geotools.geometry.jts.ReferencedEnvelope; import org.geotools.referencing.crs.DefaultGeographicCRS; import com.vividsolutions.jts.geom.Envelope; public class EnvelopePanelTest extends GeoServerWicketTestSupport { ReferencedEnvelope e; @Override protected void setUpInternal() throws Exception { super.setUpInternal(); e = new ReferencedEnvelope(-180,180,-90,90, DefaultGeographicCRS.WGS84); tester.startPage(new FormTestPage(new ComponentBuilder() { public Component buildComponent(String id) { return new EnvelopePanel(id, e); } })); } public void test() throws Exception { tester.assertComponent( "form", Form.class ); FormTester ft = tester.newFormTester( "form"); assertEquals( "-180", ft.getTextComponentValue( "panel:minX") ); assertEquals( "-90", ft.getTextComponentValue( "panel:minY") ); assertEquals( "180", ft.getTextComponentValue( "panel:maxX") ); assertEquals( "90", ft.getTextComponentValue( "panel:maxY") ); EnvelopePanel ep = (EnvelopePanel) tester.getComponentFromLastRenderedPage("form:panel"); assertEquals( e, ep.getModelObject() ); ft.setValue( "panel:minX", "-2"); ft.setValue( "panel:minY", "-2"); ft.setValue( "panel:maxX", "2"); ft.setValue( "panel:maxY", "2"); ft.submit(); assertEquals( new Envelope(-2,2,-2,2), ep.getModelObject() ); } }