/* * Copyright 2008 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.google.gwt.user.client.ui; import com.google.gwt.dom.client.ButtonElement; import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.logical.shared.ValueChangeHandler; import com.google.gwt.junit.client.GWTTestCase; /** * Tests for {@link SimpleCheckBox}. */ public class SimpleCheckBoxTest extends GWTTestCase { private static class Handler implements ValueChangeHandler<Boolean> { Boolean received = null; @Override public void onValueChange(ValueChangeEvent<Boolean> event) { received = event.getValue(); } } @Override public String getModuleName() { return "com.google.gwt.user.UserTest"; } @SuppressWarnings("deprecation") public void testProperties() { SimpleCheckBox checkbox = new SimpleCheckBox(); checkbox.setName("myName"); assertEquals("myName", checkbox.getName()); checkbox.setTabIndex(42); assertEquals(42, checkbox.getTabIndex()); checkbox.setEnabled(false); assertEquals(false, checkbox.isEnabled()); // Test the 'checked' state across attachment and detachment // (this value has a tendency to get lost on some browsers). checkbox.setChecked(true); assertEquals(true, checkbox.isChecked()); RootPanel.get().add(checkbox); assertEquals(true, checkbox.isChecked()); RootPanel.get().remove(checkbox); assertEquals(true, checkbox.isChecked()); } @SuppressWarnings("deprecation") public void testValueChangeEvent() { SimpleCheckBox cb = new SimpleCheckBox(); Handler h = new Handler(); cb.addValueChangeHandler(h); RootPanel.get().add(cb); cb.setChecked(false); assertNull(h.received); cb.setChecked(true); assertNull(h.received); cb.setValue(false); assertNull(h.received); cb.setValue(true); assertNull(h.received); cb.setValue(true, true); assertNull(h.received); cb.setValue(false, true); assertFalse(h.received); cb.setValue(true, true); assertTrue(h.received); cb.getElement().<ButtonElement> cast().click(); assertFalse(h.received); } }