/******************************************************************************* * Copyright (c) 2009, 2015 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 org.eclipse.swt.widgets; import static org.eclipse.rap.rwt.testfixture.internal.TestUtil.createImage; import static org.junit.Assert.*; import java.io.IOException; import org.eclipse.rap.rwt.testfixture.TestContext; import org.eclipse.rap.rwt.testfixture.internal.Fixture; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.internal.widgets.MenuHolder; import org.junit.Before; import org.junit.Rule; import org.junit.Test; public class Decorations_Test { @Rule public TestContext context = new TestContext(); private Display display; private Decorations shell; @Before public void setUp() { display = new Display(); shell = new Shell( display ); } @Test public void testSetImages() { try { shell.setImages( null ); fail( "null not allowed" ); } catch ( IllegalArgumentException e ) { // expected } try { shell.setImages( new Image[]{ null } ); fail( "null not allowed" ); } catch ( IllegalArgumentException e ) { // expected } } @Test public void testGetImages() throws IOException { assertNotNull( shell.getImages() ); assertEquals( 0, shell.getImages().length ); Image image1 = createImage( display, Fixture.IMAGE1 ); Image image2 = createImage( display, Fixture.IMAGE2 ); shell.setImages( new Image[]{ image1, image2 } ); Image[] images = shell.getImages(); assertEquals( 2, images.length ); assertEquals( image1, images[0] ); assertEquals( image2, images[1] ); } @Test public void testSetImage() throws IOException { assertNull( shell.getImage() ); Image image = createImage( display, Fixture.IMAGE1 ); shell.setImage( image ); assertEquals( image, shell.getImage() ); } @Test public void testDefaultButtonFocusOutListener() { ( ( Shell )shell ).open(); Button defaultButton = new Button( shell, SWT.PUSH ); Button pushButton = new Button( shell, SWT.PUSH ); Button checkButton = new Button( shell, SWT.CHECK ); shell.setDefaultButton( defaultButton ); assertFalse( defaultButton.isListening( SWT.FocusOut ) ); pushButton.setFocus(); assertTrue( pushButton.isListening( SWT.FocusOut ) ); checkButton.setFocus(); assertFalse( defaultButton.isListening( SWT.FocusOut ) ); assertFalse( pushButton.isListening( SWT.FocusOut ) ); } @Test public void testIsReparentable() { Decorations decorations = new Shell( display ); assertFalse( decorations.isReparentable() ); } @Test public void testGetAdapter_returnsMenuHolder() { Object menuHolder1 = shell.getAdapter( MenuHolder.class ); Object menuHolder2 = shell.getAdapter( MenuHolder.class ); assertNotNull( menuHolder1 ); assertSame( menuHolder1, menuHolder2 ); } }