/*******************************************************************************
* Copyright (c) 2002-2006 Innoopract Informationssysteme GmbH.
* 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:
* Innoopract Informationssysteme GmbH - initial API and implementation
******************************************************************************/
package com.w4t;
import junit.framework.TestCase;
import com.w4t.dhtml.*;
/** <p>Tests functionalities in com.w4tWebComponent.</p>
*/
public class WebComponent_Test extends TestCase {
public WebComponent_Test( final String name ) {
super( name );
}
protected void setUp() throws Exception {
W4TFixture.setUp();
W4TFixture.createContext();
}
protected void tearDown() throws Exception {
W4TFixture.tearDown();
W4TFixture.removeContext();
}
// testing methods
//////////////////
public void testSetName() throws Exception {
WebButton target = new WebButton();
assertEquals( target.getName(), "" );
target.setName( "Test1" );
assertEquals( target.getName(), "Test1" );
target.setName( "test" );
assertEquals( target.getName(), "test" );
// empty String is not accepted
target.setName( "" );
assertEquals( target.getName(), "test" );
// no string starting with digit
target.setName( "1Test" );
assertEquals( target.getName(), "test" );
// no string containing special chars
target.setName( "te!st" );
assertEquals( target.getName(), "test" );
// no string with blanks
target.setName( "Test it" );
assertEquals( target.getName(), "test" );
// one-char string
target.setName( "x" );
assertEquals( target.getName(), "x" );
}
public void testGetWebForm() throws Exception {
WebForm form = W4TFixture.getEmptyWebFormInstance();
assertSame( form, form.getWebForm() );
WebButton button = new WebButton();
assertNull( button.getWebForm() );
form.add( button, WebBorderLayout.NORTH );
assertSame( form, button.getWebForm() );
WebContainer container = new WebPanel();
assertNull( container.getWebForm() );
form.add( container, WebBorderLayout.NORTH );
assertSame( form, container.getWebForm() );
WebText text = new WebText();
assertNull( text.getWebForm() );
container.add( text );
assertSame( form, text.getWebForm() );
WebLabel label = new WebLabel();
assertNull( label.getWebForm() );
Decorator decorator = new Decorator( label ) {};
assertNull( label.getWebForm() );
assertNull( decorator.getWebForm() );
container.add( decorator );
assertSame( form, decorator.getWebForm() );
assertSame( form, label.getWebForm() );
TreeView treeView = new TreeView();
assertNull( treeView.getWebForm() );
container.add( treeView );
assertSame( form, treeView.getWebForm() );
TreeNode treeNode1 = new TreeNode();
assertNull( treeNode1.getWebForm() );
treeView.addItem( treeNode1 );
assertSame( form, treeNode1.getWebForm() );
TreeNode treeNode2 = new TreeNode();
assertNull( treeNode2.getWebForm() );
treeNode1.addItem( treeNode2 );
assertSame( form, treeNode2.getWebForm() );
TreeLeaf treeLeaf = new TreeLeaf();
assertNull( treeLeaf.getWebForm() );
treeNode2.addItem( treeLeaf );
assertSame( form, treeLeaf.getWebForm() );
treeLeaf.remove();
assertNull( treeLeaf.getWebForm() );
treeNode1.remove();
assertNull( treeNode1.getWebForm() );
assertNull( treeNode2.getWebForm() );
treeView.remove();
assertNull( treeView.getWebForm() );
decorator.remove();
assertNull( decorator.getWebForm() );
assertNull( label.getWebForm() );
text.remove();
assertNull( text.getWebForm() );
container.remove();
assertNull( container.getWebForm() );
button.remove();
assertNull( button.getWebForm() );
}
public void testGetParent() throws Exception {
WebForm form = W4TFixture.getEmptyWebFormInstance();
assertNull( form.getParent() );
WebButton button = new WebButton();
assertNull( button.getParent() );
form.add( button, WebBorderLayout.NORTH );
assertSame( form, button.getParent() );
WebContainer container = new WebPanel();
assertNull( container.getParent() );
form.add( container, WebBorderLayout.NORTH );
assertSame( form, container.getParent() );
WebText text = new WebText();
assertNull( text.getParent() );
container.add( text );
assertSame( container, text.getParent() );
WebLabel label = new WebLabel();
assertNull( label.getParent() );
Decorator decorator = new Decorator( label ) {};
assertNull( label.getParent() );
assertNull( decorator.getParent() );
container.add( decorator );
assertSame( container, decorator.getParent() );
assertSame( container, label.getParent() );
TreeView treeView = new TreeView();
assertNull( treeView.getParent() );
container.add( treeView );
assertSame( container, treeView.getParent() );
TreeNode treeNode1 = new TreeNode();
assertNull( treeNode1.getParent() );
treeView.addItem( treeNode1 );
assertSame( container, treeNode1.getParent() );
TreeNode treeNode2 = new TreeNode();
assertNull( treeNode2.getParent() );
treeNode1.addItem( treeNode2 );
assertSame( container, treeNode2.getParent() );
TreeLeaf treeLeaf = new TreeLeaf();
assertNull( treeLeaf.getParent() );
treeNode2.addItem( treeLeaf );
assertSame( container, treeLeaf.getParent() );
treeLeaf.remove();
assertNull( treeLeaf.getParent() );
treeNode1.remove();
assertNull( treeNode1.getParent() );
assertNull( treeNode2.getParent() );
treeView.remove();
assertNull( treeView.getParent() );
decorator.remove();
assertNull( decorator.getParent() );
assertNull( label.getParent() );
text.remove();
assertNull( text.getParent() );
container.remove();
assertNull( container.getParent() );
button.remove();
assertNull( button.getParent() );
treeNode2.addItem( treeLeaf );
container.add( treeView );
treeView.addItem( treeNode1 );
assertSame( container, treeView.getParent() );
assertSame( container, treeNode1.getParent() );
assertSame( container, treeNode2.getParent() );
assertSame( container, treeLeaf.getParent() );
container.add( decorator );
assertSame( container, decorator.getParent() );
assertSame( container, label.getParent() );
container.remove( decorator );
assertNull( decorator.getParent() );
assertNull( label.getParent() );
container.remove( treeView );
assertNull( treeView.getParent() );
assertNull( treeNode1.getParent() );
assertNull( treeNode2.getParent() );
assertNull( treeLeaf.getParent() );
container.add( treeView );
treeView.addItem( treeNode1 );
treeView.removeAllItems();
assertSame( container, treeView.getParent() );
}
public void testEnablement() throws Exception {
WebContainer container = new WebPanel();
assertTrue( container.isEnabled() );
WebButton button = new WebButton();
assertTrue( button.isEnabled() );
container.add( button );
container.setEnabled( false );
assertFalse( container.isEnabled() );
assertFalse( button.isEnabled() );
button.remove();
assertTrue( button.isEnabled() );
Decorator decorator = new Decorator( button ) {};
assertTrue( decorator.isEnabled() );
assertTrue( button.isEnabled() );
container.add( decorator );
assertFalse( decorator.isEnabled() );
assertFalse( button.isEnabled() );
TreeView treeView = new TreeView();
TreeNode treeNode1 = new TreeNode();
treeView.addItem( treeNode1 );
TreeNode treeNode2 = new TreeNode();
treeNode1.addItem( treeNode2 );
TreeLeaf treeLeaf = new TreeLeaf();
treeNode2.addItem( treeLeaf );
assertTrue( treeView.isEnabled() );
assertTrue( treeNode1.isEnabled() );
assertTrue( treeNode2.isEnabled() );
assertTrue( treeLeaf.isEnabled() );
treeView.setEnabled( false );
assertFalse( treeView.isEnabled() );
assertFalse( treeNode1.isEnabled() );
assertFalse( treeNode2.isEnabled() );
assertFalse( treeLeaf.isEnabled() );
treeView.setEnabled( true );
container.add( treeView );
assertFalse( treeView.isEnabled() );
assertFalse( treeNode1.isEnabled() );
assertFalse( treeNode2.isEnabled() );
assertFalse( treeLeaf.isEnabled() );
}
public void testVisibility() throws Exception {
WebContainer container = new WebPanel();
assertTrue( container.isVisible() );
WebButton button = new WebButton();
assertTrue( button.isVisible() );
container.add( button );
container.setVisible( false );
assertFalse( container.isVisible() );
assertFalse( button.isVisible() );
button.remove();
assertTrue( button.isVisible() );
Decorator decorator = new Decorator( button ) {};
assertTrue( decorator.isVisible() );
assertTrue( button.isVisible() );
container.add( decorator );
assertFalse( decorator.isVisible() );
assertFalse( button.isVisible() );
TreeView treeView = new TreeView();
TreeNode treeNode1 = new TreeNode();
treeView.addItem( treeNode1 );
TreeNode treeNode2 = new TreeNode();
treeNode1.addItem( treeNode2 );
TreeLeaf treeLeaf = new TreeLeaf();
treeNode2.addItem( treeLeaf );
assertTrue( treeView.isVisible() );
assertTrue( treeNode1.isVisible() );
assertTrue( treeNode2.isVisible() );
assertTrue( treeLeaf.isVisible() );
treeView.setVisible( false );
assertFalse( treeView.isVisible() );
assertFalse( treeNode1.isVisible() );
assertFalse( treeNode2.isVisible() );
assertFalse( treeLeaf.isVisible() );
treeView.setVisible( true );
container.add( treeView );
assertFalse( treeView.isVisible() );
assertFalse( treeNode1.isVisible() );
assertFalse( treeNode2.isVisible() );
assertFalse( treeLeaf.isVisible() );
}
}