/******************************************************************************* * Copyright (c) 2014 EclipseSource and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * EclipseSource - initial API and implementation ******************************************************************************/ package com.eclipsesource.tabris.internal; import static org.mockito.Mockito.inOrder; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.mockito.InOrder; import com.eclipsesource.tabris.test.util.TabrisEnvironment; import com.eclipsesource.tabris.widgets.RefreshComposite; import com.eclipsesource.tabris.widgets.RefreshListener; @SuppressWarnings("restriction") public class RefreshCompositeOperationHandlerTest { @Rule public TabrisEnvironment environment = new TabrisEnvironment(); private Shell shell; @Before public void setUp() { shell = new Shell( new Display() ); } @Test public void testNotifiesNoRefreshListenerForOtherEvent() { RefreshComposite composite = new RefreshComposite( shell, SWT.NONE ); RefreshListener listener = mock( RefreshListener.class ); composite.addRefreshListener( listener ); RefreshCompositeOperationHandler handler = new RefreshCompositeOperationHandler( composite ); handler.handleNotify( "FocusIn", null ); verify( listener, never() ).refresh(); } @Test public void testNotifiesRefreshListener() { RefreshComposite composite = new RefreshComposite( shell, SWT.NONE ); RefreshListener listener = mock( RefreshListener.class ); composite.addRefreshListener( listener ); RefreshCompositeOperationHandler handler = new RefreshCompositeOperationHandler( composite ); handler.handleNotify( "Refresh", null ); verify( listener ).refresh(); } @Test public void testNotifiesRefreshListeners() { RefreshComposite composite = new RefreshComposite( shell, SWT.NONE ); RefreshListener listener = mock( RefreshListener.class ); RefreshListener listener2 = mock( RefreshListener.class ); composite.addRefreshListener( listener ); composite.addRefreshListener( listener2 ); RefreshCompositeOperationHandler handler = new RefreshCompositeOperationHandler( composite ); handler.handleNotify( "Refresh", null ); InOrder order = inOrder( listener, listener2 ); order.verify( listener ).refresh(); order.verify( listener2 ).refresh(); } }