package org.zkoss.zktest.zats.bind.issue; import static org.junit.Assert.assertEquals; import java.util.ArrayList; import java.util.List; import java.util.Set; import org.junit.Test; import org.zkoss.zats.mimic.ComponentAgent; import org.zkoss.zats.mimic.DesktopAgent; import org.zkoss.zats.mimic.operation.MultipleSelectAgent; import org.zkoss.zktest.zats.ZATSTestCase; import org.zkoss.zul.Label; import org.zkoss.zul.Listbox; import org.zkoss.zul.Listitem; public class F00743_2Test extends ZATSTestCase { String getSelectedIndices(ComponentAgent listbox) { Set<Listitem> sels = listbox.as(Listbox.class).getSelectedItems(); ArrayList<Integer> selind = new ArrayList<Integer>(); for (Listitem i : sels) { selind.add(i.getIndex()); } return selind.toString(); } @Test public void test() { DesktopAgent desktop = connect(); ComponentAgent outerbox = desktop.query("#outerbox"); ComponentAgent range = desktop.query("#range"); ComponentAgent clean = desktop.query("#clean"); ComponentAgent select = desktop.query("#select"); ComponentAgent reload = desktop.query("#reload"); ComponentAgent select0 = desktop.query("#select0"); ComponentAgent showselect = desktop.query("#showselect"); List<ComponentAgent> items = outerbox.queryAll("listitem"); items.get(0).as(MultipleSelectAgent.class).select(); items.get(2).as(MultipleSelectAgent.class).select(); showselect.click(); assertEquals("[A, C]", range.as(Label.class).getValue()); clean.click(); assertEquals("[]", getSelectedIndices(outerbox)); showselect.click(); assertEquals("[]", range.as(Label.class).getValue()); items.get(2).as(MultipleSelectAgent.class).select(); items.get(4).as(MultipleSelectAgent.class).select(); showselect.click(); assertEquals("[C, E]", range.as(Label.class).getValue()); select.click(); showselect.click(); assertEquals("[B, D]", range.as(Label.class).getValue()); select0.click(); showselect.click(); assertEquals("[A, B]", range.as(Label.class).getValue()); reload.click(); showselect.click(); assertEquals("[A, B]", range.as(Label.class).getValue()); } }