| /* |
| * 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 com.google.gwt.user.client.ui.SuggestBox.DefaultSuggestionDisplay; |
| import com.google.gwt.user.client.ui.SuggestOracle.Suggestion; |
| |
| import java.util.List; |
| |
| /** |
| * Tests for {@link DefaultSuggestionDisplay}. |
| */ |
| public class DefaultSuggestionDisplayTest extends SuggestionDisplayTestBase { |
| |
| public void testAccessors() { |
| SuggestBox box = createSuggestBox(); |
| DefaultSuggestionDisplay display = (DefaultSuggestionDisplay) box.getSuggestionDisplay(); |
| PopupPanel popup = display.getPopupPanel(); |
| |
| // isAnimationEnabled. |
| assertFalse(display.isAnimationEnabled()); |
| assertFalse(popup.isAnimationEnabled()); |
| display.setAnimationEnabled(true); |
| assertTrue(display.isAnimationEnabled()); |
| assertTrue(popup.isAnimationEnabled()); |
| |
| // isSuggestListShowing. |
| List<Suggestion> suggestions = createSuggestions("test0", "test1", "test2"); |
| assertFalse(display.isSuggestionListShowing()); |
| assertFalse(popup.isShowing()); |
| display.showSuggestions(box, suggestions, false, false, NULL_CALLBACK); |
| assertTrue(display.isSuggestionListShowing()); |
| assertTrue(popup.isShowing()); |
| display.hideSuggestions(); |
| assertFalse(display.isSuggestionListShowing()); |
| assertFalse(popup.isShowing()); |
| } |
| |
| public void testGetCurrentSelectionWhenHidden() { |
| SuggestBox box = createSuggestBox(); |
| DefaultSuggestionDisplay display = (DefaultSuggestionDisplay) box.getSuggestionDisplay(); |
| |
| // Show the suggestions and select the first item. |
| List<Suggestion> suggestions = createSuggestions("test0", "test1", "test2"); |
| display.showSuggestions(box, suggestions, false, true, NULL_CALLBACK); |
| assertTrue(display.isSuggestionListShowing()); |
| assertEquals(suggestions.get(0), display.getCurrentSelection()); |
| |
| // Hide the list and ensure that nothing is selected. |
| display.hideSuggestions(); |
| assertNull(display.getCurrentSelection()); |
| } |
| |
| public void testShowSuggestionsEmpty() { |
| SuggestBox box = createSuggestBox(); |
| DefaultSuggestionDisplay display = (DefaultSuggestionDisplay) box.getSuggestionDisplay(); |
| |
| // Show null suggestions. |
| display.showSuggestions(box, null, false, true, NULL_CALLBACK); |
| assertFalse(display.isSuggestionListShowing()); |
| |
| // Show empty suggestions. |
| List<Suggestion> suggestions = createSuggestions(); |
| display.showSuggestions(box, suggestions, false, true, NULL_CALLBACK); |
| assertFalse(display.isSuggestionListShowing()); |
| } |
| |
| @Override |
| protected DefaultSuggestionDisplay createSuggestionDisplay() { |
| return new DefaultSuggestionDisplay(); |
| } |
| } |