/* * This file is part of the Echo Web Application Framework (hereinafter "Echo"). * Copyright (C) 2002-2009 NextApp, Inc. * * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (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.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. */ package nextapp.echo2.app.test; import junit.framework.TestCase; import nextapp.echo2.app.Color; import nextapp.echo2.app.ContentPane; import nextapp.echo2.app.IllegalChildException; import nextapp.echo2.app.Label; import nextapp.echo2.app.SplitPane; import nextapp.echo2.app.WindowPane; /** * Unit test(s) for the <code>nextapp.echo2.app.WindowPane</code> component. */ public class WindowPaneTest extends TestCase { /** * Test receiving input from client. */ public void testInput() { WindowPane windowPane = new WindowPane(); windowPane.add(new Label("a label")); windowPane.setPositionX(TestConstants.EXTENT_100_PX); windowPane.setPositionY(TestConstants.EXTENT_100_PX); windowPane.processInput(WindowPane.PROPERTY_POSITION_X, TestConstants.EXTENT_200_PX); windowPane.processInput(WindowPane.PROPERTY_POSITION_Y, TestConstants.EXTENT_30_PX); assertEquals(TestConstants.EXTENT_200_PX, windowPane.getPositionX()); assertEquals(TestConstants.EXTENT_30_PX, windowPane.getPositionY()); } /** * Attempt to illegally add WindowPane to SplitPane, test for failure. */ public void testInvalidParent() { SplitPane splitPane = new SplitPane(); WindowPane windowPane = new WindowPane(); boolean exceptionThrown = false; try { splitPane.add(windowPane); } catch (IllegalChildException ex) { exceptionThrown = true; } assertTrue(exceptionThrown); } /** * Ensure WindowPane can be legally added to a ContentPane. */ public void testValidParent() { ContentPane contentPane = new ContentPane(); WindowPane windowPane = new WindowPane(); contentPane.add(windowPane); } /** * Attempt to illegally add more than one child, test for failure. */ public void testOverload() { WindowPane windowPane = new WindowPane(); windowPane.add(new Label("one label")); boolean exceptionThrown = false; try { windowPane.add(new Label("one label too many")); } catch (IllegalChildException ex) { exceptionThrown = true; } assertTrue(exceptionThrown); } /** * Test primary constructor. */ public void testPrimaryConstructor() { WindowPane windowPane = new WindowPane("Hello", TestConstants.EXTENT_500_PX, TestConstants.EXTENT_200_PX); assertEquals(TestConstants.EXTENT_500_PX, windowPane.getWidth()); assertEquals(TestConstants.EXTENT_200_PX, windowPane.getHeight()); assertEquals("Hello", windowPane.getTitle()); } /** * Test property accessors and mutators. */ public void testProperties() { WindowPane windowPane = new WindowPane(); windowPane.setBorder(TestConstants.FILL_IMAGE_BORDER); assertEquals(TestConstants.FILL_IMAGE_BORDER, windowPane.getBorder()); windowPane.setHeight(TestConstants.EXTENT_200_PX); assertEquals(TestConstants.EXTENT_200_PX, windowPane.getHeight()); windowPane.setPositionX(TestConstants.EXTENT_100_PX); assertEquals(TestConstants.EXTENT_100_PX, windowPane.getPositionX()); windowPane.setPositionY(TestConstants.EXTENT_30_PX); assertEquals(TestConstants.EXTENT_30_PX, windowPane.getPositionY()); windowPane.setTitle("Title!"); assertEquals("Title!", windowPane.getTitle()); windowPane.setTitleBackground(Color.ORANGE); assertEquals(Color.ORANGE, windowPane.getTitleBackground()); windowPane.setTitleFont(TestConstants.MONOSPACE_12); assertEquals(TestConstants.MONOSPACE_12, windowPane.getTitleFont()); windowPane.setTitleForeground(Color.PINK); assertEquals(Color.PINK, windowPane.getTitleForeground()); windowPane.setWidth(TestConstants.EXTENT_500_PX); assertEquals(TestConstants.EXTENT_500_PX, windowPane.getWidth()); windowPane.setClosable(false); assertFalse(windowPane.isClosable()); } }