package org.geoserver.web.wicket;
import java.util.ArrayList;
import junit.framework.TestCase;
import org.apache.wicket.Component;
import org.apache.wicket.model.Model;
import org.apache.wicket.util.tester.FormTester;
import org.apache.wicket.util.tester.WicketTester;
import org.geoserver.web.ComponentBuilder;
import org.geoserver.web.FormTestPage;
public class KeywordsEditorTest extends TestCase {
WicketTester tester;
ArrayList<String> keywords;
@Override
protected void setUp() throws Exception {
tester = new WicketTester();
keywords = new ArrayList<String>();
keywords.add("one");
keywords.add("two");
keywords.add("three");
tester.startPage(new FormTestPage(new ComponentBuilder() {
public Component buildComponent(String id) {
return new KeywordsEditor(id, new Model(keywords));
}
}));
}
public void testRemove() throws Exception {
// WicketHierarchyPrinter.print(tester.getLastRenderedPage(), true, false);
FormTester ft = tester.newFormTester("form");
ft.selectMultiple("panel:keywords", new int[] {0, 2});
tester.executeAjaxEvent("form:panel:removeKeywords", "onclick");
assertEquals(1, keywords.size());
assertEquals("two", keywords.get(0));
}
public void testAdd() throws Exception {
// WicketHierarchyPrinter.print(tester.getLastRenderedPage(), true, false);
FormTester ft = tester.newFormTester("form");
ft.setValue("panel:newKeyword", "four");
tester.executeAjaxEvent("form:panel:addKeyword", "onclick");
assertEquals(4, keywords.size());
assertEquals("four", keywords.get(3));
}
}