Example #1
0
  @Test
  public void testSelect() {
    Select<String> select = new Select<>("name", KEYS);

    assertSame(KEYS, select.getKeyList());
    assertEquals(0, select.getRows());
    select.setRows(1);
    assertEquals(1, select.getRows());
    assertSame(select, select.toFocusControl());

    assertFalse(select.useOptionGroups());
    select.setUseOptionGroups(true);
    assertTrue(select.useOptionGroups());

    select.setUseOptionGroups(false);
    assertFalse(select.useOptionGroups());

    assertEquals(-1, select.getSelectedIndex());
    assertEquals(null, select.getSelectedText());

    when(request.getParameter(select.getName())).thenReturn(null);
    assertTrue(select.read(request));
    select.setRequired(true);
    assertFalse(select.read(request));
    when(request.getParameter(select.getName())).thenReturn("a");
    assertTrue(select.read(request));
    assertEquals("a", select.getValue());
    when(request.getParameter(select.getName())).thenReturn("x");
    assertFalse(select.read(request));
    assertNull(select.getValue());
    assertEquals("x", select.getErrorValue());

    Select<String> select2 = new Select<>("name2", KeyLists.<String>empty());
    assertOut(select2, "<select name='name2'>\n\t<option value=''></option>\n</select>");
    select2.removeDefaultOption();
    select2.setDisabled();
    select2.setRows(2);
    assertOut(select2, "<select name='name2' size='2' disabled>\n</select>");
  }