| /* |
| * Copyright 2010 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 junit.framework.TestCase; |
| |
| import java.util.ArrayList; |
| import java.util.Iterator; |
| import java.util.List; |
| |
| /** |
| * Demonstrates that IsWidget and related interfaces can be used in JRE tests. |
| */ |
| public class IsWidgetTest extends TestCase { |
| interface SomeView extends IsWidget { |
| void blah(); // Empty interface warning be damned |
| } |
| |
| static class SomeViewMock implements SomeView { |
| public Widget asWidget() { |
| throw new UnsupportedOperationException(); |
| } |
| |
| public void blah() { |
| throw new UnsupportedOperationException(); |
| } |
| } |
| |
| static class MockPanel implements HasWidgets.ForIsWidget { |
| List<IsWidget> children = new ArrayList<IsWidget>(); |
| |
| public void add(Widget w) { |
| throw new UnsupportedOperationException(); |
| } |
| |
| public void clear() { |
| children.clear(); |
| } |
| |
| public Iterator<Widget> iterator() { |
| throw new UnsupportedOperationException(); |
| } |
| |
| public boolean remove(Widget w) { |
| throw new UnsupportedOperationException(); |
| } |
| |
| public void add(IsWidget w) { |
| children.add(w); |
| } |
| |
| public boolean remove(IsWidget w) { |
| return children.remove(w); |
| } |
| } |
| |
| static class MockDisplay implements AcceptsOneWidget { |
| IsWidget w; |
| |
| public void setWidget(IsWidget w) { |
| this.w = w; |
| } |
| } |
| |
| public void testIt() { |
| SomeViewMock view = new SomeViewMock(); |
| MockDisplay simple = new MockDisplay(); |
| simple.setWidget(view); |
| assertSame(view, simple.w); |
| |
| SomeViewMock view2 = new SomeViewMock(); |
| MockPanel panel = new MockPanel(); |
| |
| panel.add(view); |
| panel.add(view2); |
| |
| panel.clear(); |
| assertTrue(panel.children.isEmpty()); |
| } |
| } |