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 B01595SelectedItemsTest 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 listbox = desktop.query("listbox"); ComponentAgent lb = desktop.query("#lb"); List<ComponentAgent> items = listbox.queryAll("listitem"); assertEquals(10, items.size()); assertEquals("[]", lb.as(Label.class).getValue()); items.get(2).as(MultipleSelectAgent.class).select(); assertEquals("[2]", lb.as(Label.class).getValue()); items.get(3).as(MultipleSelectAgent.class).select(); items.get(9).as(MultipleSelectAgent.class).select(); assertEquals("[2, 3, 9]", lb.as(Label.class).getValue()); items.get(7).as(MultipleSelectAgent.class).select(); items.get(5).as(MultipleSelectAgent.class).select(); items.get(1).as(MultipleSelectAgent.class).select(); assertEquals("[2, 3, 9, 7, 5, 1]", lb.as(Label.class).getValue()); items.get(5).as(MultipleSelectAgent.class).deselect();; items.get(3).as(MultipleSelectAgent.class).deselect();; items.get(0).as(MultipleSelectAgent.class).select(); assertEquals("[2, 9, 7, 1, 0]", lb.as(Label.class).getValue()); } }