Package org.fest.swing.test.awt

Source Code of org.fest.swing.test.awt.ToolkitStub

/*
* Created on Mar 22, 2008
*
* 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.
*
* Copyright @2008-2013 the original author or authors.
*/
package org.fest.swing.test.awt;

import static org.fest.util.Maps.newHashMap;
import static org.mockito.Mockito.spy;

import java.awt.Button;
import java.awt.Canvas;
import java.awt.Checkbox;
import java.awt.CheckboxMenuItem;
import java.awt.Choice;
import java.awt.Desktop;
import java.awt.Dialog;
import java.awt.Dialog.ModalExclusionType;
import java.awt.Dialog.ModalityType;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.FileDialog;
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.Insets;
import java.awt.Label;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.Panel;
import java.awt.PopupMenu;
import java.awt.PrintJob;
import java.awt.ScrollPane;
import java.awt.Scrollbar;
import java.awt.TextArea;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.datatransfer.Clipboard;
import java.awt.dnd.DragGestureEvent;
import java.awt.dnd.InvalidDnDOperationException;
import java.awt.dnd.peer.DragSourceContextPeer;
import java.awt.event.AWTEventListener;
import java.awt.font.TextAttribute;
import java.awt.im.InputMethodHighlight;
import java.awt.image.ColorModel;
import java.awt.image.ImageObserver;
import java.awt.image.ImageProducer;
import java.awt.peer.ButtonPeer;
import java.awt.peer.CanvasPeer;
import java.awt.peer.CheckboxMenuItemPeer;
import java.awt.peer.CheckboxPeer;
import java.awt.peer.ChoicePeer;
import java.awt.peer.DesktopPeer;
import java.awt.peer.DialogPeer;
import java.awt.peer.FileDialogPeer;
import java.awt.peer.FontPeer;
import java.awt.peer.FramePeer;
import java.awt.peer.LabelPeer;
import java.awt.peer.ListPeer;
import java.awt.peer.MenuBarPeer;
import java.awt.peer.MenuItemPeer;
import java.awt.peer.MenuPeer;
import java.awt.peer.PanelPeer;
import java.awt.peer.PopupMenuPeer;
import java.awt.peer.ScrollPanePeer;
import java.awt.peer.ScrollbarPeer;
import java.awt.peer.TextAreaPeer;
import java.awt.peer.TextFieldPeer;
import java.awt.peer.WindowPeer;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Properties;

/**
* @author Alex Ruiz
*/
public class ToolkitStub extends Toolkit {
  private Map<AWTEventListener, Long> eventListeners;
  private EventQueue eventQueue;

  static ToolkitStub createNew() {
    return createNew(new EventQueue());
  }

  static ToolkitStub createNew(EventQueue eventQueue) {
    ToolkitStub stub = spy(new ToolkitStub());
    stub.eventQueue(eventQueue);
    stub.eventListeners = newHashMap();
    return stub;
  }

  public ToolkitStub() {}

  public void eventQueue(EventQueue newEventQueue) {
    eventQueue = newEventQueue;
  }

  @Override
  public void addAWTEventListener(AWTEventListener listener, long eventMask) {
    eventListeners().put(listener, eventMask);
  }

  @Override
  public void removeAWTEventListener(AWTEventListener listener) {
    eventListeners().remove(listener);
  }

  public <T extends AWTEventListener> List<T> eventListenersUnderEventMask(long eventMask, Class<T> type) {
    List<T> listeners = new ArrayList<T>();
    for (AWTEventListener listener : eventListeners().keySet()) {
      if (!type.isInstance(listener)) {
        continue;
      }
      long keyEvent = eventListeners().get(listener);
      if (keyEvent != eventMask) {
        continue;
      }
      listeners.add(type.cast(listener));
    }
    return listeners;
  }

  public boolean contains(AWTEventListener listener, long eventMask) {
    if (!eventListeners.containsKey(listener)) {
      return false;
    }
    long storedMask = eventListeners.get(listener);
    return storedMask == eventMask;
  }

  @Override
  protected EventQueue getSystemEventQueueImpl() {
    return eventQueue;
  }

  private Map<AWTEventListener, Long> eventListeners() {
    return eventListeners;
  }

  @Override
  public Insets getScreenInsets(GraphicsConfiguration gc) throws HeadlessException {
    return new Insets(0, 0, 0, 0);
  }

  @Override
  public void beep() {
    throw new UnsupportedOperationException();
  }

  @Override
  public int checkImage(Image image, int width, int height, ImageObserver observer) {
    throw new UnsupportedOperationException();
  }

  @Override
  protected ButtonPeer createButton(Button target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected CanvasPeer createCanvas(Canvas target) {
    throw new UnsupportedOperationException();
  }

  @Override
  protected CheckboxPeer createCheckbox(Checkbox target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected ChoicePeer createChoice(Choice target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected DesktopPeer createDesktopPeer(Desktop target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected DialogPeer createDialog(Dialog target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected FileDialogPeer createFileDialog(FileDialog target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected FramePeer createFrame(Frame target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  public Image createImage(String filename) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Image createImage(URL url) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Image createImage(ImageProducer producer) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Image createImage(byte[] imagedata, int imageoffset, int imagelength) {
    throw new UnsupportedOperationException();
  }

  @Override
  protected LabelPeer createLabel(Label target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected ListPeer createList(java.awt.List target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected MenuPeer createMenu(Menu target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected MenuBarPeer createMenuBar(MenuBar target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected MenuItemPeer createMenuItem(MenuItem target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected PanelPeer createPanel(Panel target) {
    throw new UnsupportedOperationException();
  }

  @Override
  protected PopupMenuPeer createPopupMenu(PopupMenu target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected ScrollPanePeer createScrollPane(ScrollPane target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected ScrollbarPeer createScrollbar(Scrollbar target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected TextAreaPeer createTextArea(TextArea target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected TextFieldPeer createTextField(TextField target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  protected WindowPeer createWindow(Window target) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  public ColorModel getColorModel() throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override @Deprecated
  public String[] getFontList() {
    throw new UnsupportedOperationException();
  }

  @Override @Deprecated
  public FontMetrics getFontMetrics(Font font) {
    throw new UnsupportedOperationException();
  }

  @Override @Deprecated
  protected FontPeer getFontPeer(String name, int style) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Image getImage(String filename) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Image getImage(URL url) {
    throw new UnsupportedOperationException();
  }

  @Override
  public PrintJob getPrintJob(Frame frame, String jobtitle, Properties props) {
    throw new UnsupportedOperationException();
  }

  @Override
  public int getScreenResolution() throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  public Dimension getScreenSize() throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  public Clipboard getSystemClipboard() throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  public boolean isModalExclusionTypeSupported(ModalExclusionType modalExclusionType) {
    throw new UnsupportedOperationException();
  }

  @Override
  public boolean isModalityTypeSupported(ModalityType modalityType) {
    throw new UnsupportedOperationException();
  }

  @Override
  public Map<TextAttribute, ?> mapInputMethodHighlight(InputMethodHighlight highlight) throws HeadlessException {
    throw new UnsupportedOperationException();
  }

  @Override
  public boolean prepareImage(Image image, int width, int height, ImageObserver observer) {
    throw new UnsupportedOperationException();
  }

  @Override
  public void sync() {
    throw new UnsupportedOperationException();
  }
}
TOP

Related Classes of org.fest.swing.test.awt.ToolkitStub

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.