/******************************************************************************* * 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.webflowlayoutkit; import junit.framework.TestCase; import org.eclipse.rwt.internal.browser.Default; import org.eclipse.rwt.internal.browser.Ie5up; import org.eclipse.rwt.internal.lifecycle.HtmlResponseWriter; import org.eclipse.rwt.internal.service.ContextProvider; import com.w4t.*; import com.w4t.ajax.AjaxStatus; /** * <p> * Tests the rendering of org.eclipse.rap.WebFlowLayout. * </p> */ public class WebFlowLayout_Test extends TestCase { public void test_Ajax() throws Exception { WebPanel panel = new WebPanel(); WebFlowLayout layout = new WebFlowLayout(); panel.setWebLayout( layout ); WebLabel lbl1 = new WebLabel( "lbl1" ); WebLabel lbl2 = new WebLabel( "lbl2" ); WebLabel lbl3 = new WebLabel( "lbl3" ); WebLabel lbl4 = new WebLabel( "lbl4" ); WebLabel lbl5 = new WebLabel( "lbl5" ); panel.add( lbl1 ); panel.add( lbl2 ); panel.add( lbl3 ); panel.add( lbl4 ); panel.add( lbl5 ); layout.setAlign( "10" ); layout.setBorder( "1" ); layout.setCellpadding( "10" ); layout.setCellspacing( "5" ); layout.setHeight( "15" ); layout.setWidth( "7" ); W4TFixture.fakeBrowser( new Default ( true, true ) ); AjaxStatus ajaxStatus = ( AjaxStatus )panel.getAdapter( AjaxStatus.class ); ajaxStatus.updateStatus( true ); HtmlResponseWriter writer = new HtmlResponseWriter(); setResponseWriter( writer ); W4TFixture.renderComponent( panel ); String markup = W4TFixture.getBodyMarkup( writer ); String expected = "<table width=\"7\" height=\"15\" cellspacing=\"5\" " + "cellpadding=\"10\" border=\"1\" align=\"10\" id=\"p1\">" + "<tr><td>" + "<span id=\"p2\" class=\"w4tCsscd1f6403\">lbl1</span>" + "<span id=\"p3\" class=\"w4tCsscd1f6403\">lbl2</span>" + "<span id=\"p4\" class=\"w4tCsscd1f6403\">lbl3</span>" + "<span id=\"p5\" class=\"w4tCsscd1f6403\">lbl4</span>" + "<span id=\"p6\" class=\"w4tCsscd1f6403\">lbl5</span>" + "</td></tr></table>"; assertEquals( expected, markup ); } public void test_Script() throws Exception { WebPanel panel = new WebPanel(); WebFlowLayout layout = new WebFlowLayout(); panel.setWebLayout( layout ); WebLabel lbl1 = new WebLabel( "lbl1" ); WebLabel lbl2 = new WebLabel( "lbl2" ); WebLabel lbl3 = new WebLabel( "lbl3" ); WebLabel lbl4 = new WebLabel( "lbl4" ); WebLabel lbl5 = new WebLabel( "lbl5" ); panel.add( lbl1 ); panel.add( lbl2 ); panel.add( lbl3 ); panel.add( lbl4 ); panel.add( lbl5 ); panel.setDesignTime( false ); layout.setAlign( "10" ); layout.setBorder( "1" ); layout.setCellpadding( "10" ); layout.setCellspacing( "5" ); layout.setHeight( "15" ); layout.setWidth( "7" ); W4TFixture.fakeBrowser( new Ie5up ( true, false ) ); HtmlResponseWriter writer = new HtmlResponseWriter(); setResponseWriter( writer ); W4TFixture.renderComponent( panel ); String markup = W4TFixture.getBodyMarkup( writer ); String expected = "<table width=\"7\" height=\"15\" cellspacing=\"5\" " + "cellpadding=\"10\" border=\"1\" align=\"10\" id=\"p1\">" + "<tr><td>" + "<span id=\"p2\" class=\"w4tCsscd1f6403\">lbl1</span>" + "<span id=\"p3\" class=\"w4tCsscd1f6403\">lbl2</span>" + "<span id=\"p4\" class=\"w4tCsscd1f6403\">lbl3</span>" + "<span id=\"p5\" class=\"w4tCsscd1f6403\">lbl4</span>" + "<span id=\"p6\" class=\"w4tCsscd1f6403\">lbl5</span>" + "</td></tr></table>"; assertEquals( expected, markup ); } public void test_No_Script() throws Exception { WebPanel panel = new WebPanel(); WebFlowLayout layout = new WebFlowLayout(); panel.setWebLayout( layout ); WebLabel lbl1 = new WebLabel( "lbl1" ); WebLabel lbl2 = new WebLabel( "lbl2" ); WebLabel lbl3 = new WebLabel( "lbl3" ); WebLabel lbl4 = new WebLabel( "lbl4" ); WebLabel lbl5 = new WebLabel( "lbl5" ); panel.add( lbl1 ); panel.add( lbl2 ); panel.add( lbl3 ); panel.add( lbl4 ); panel.add( lbl5 ); panel.setDesignTime( false ); layout.setAlign( "10" ); layout.setBorder( "1" ); layout.setCellpadding( "10" ); layout.setCellspacing( "5" ); layout.setHeight( "15" ); layout.setWidth( "7" ); W4TFixture.fakeBrowser( new Default ( false, false ) ); HtmlResponseWriter writer = new HtmlResponseWriter(); setResponseWriter( writer ); W4TFixture.renderComponent( panel ); String markup = W4TFixture.getBodyMarkup( writer ); String expected = "<table width=\"7\" height=\"15\" cellspacing=\"5\" " + "cellpadding=\"10\" border=\"1\" align=\"10\" id=\"p1\">" + "<tr><td>" + "<span class=\"w4tCsscd1f6403\">lbl1</span>" + "<span class=\"w4tCsscd1f6403\">lbl2</span>" + "<span class=\"w4tCsscd1f6403\">lbl3</span>" + "<span class=\"w4tCsscd1f6403\">lbl4</span>" + "<span class=\"w4tCsscd1f6403\">lbl5</span>" + "</td></tr></table>"; assertEquals( expected, markup ); } protected void setUp() throws Exception { W4TFixture.setUp(); W4TFixture.createContext(); } protected void tearDown() throws Exception { W4TFixture.removeContext(); W4TFixture.tearDown(); } private void setResponseWriter( final HtmlResponseWriter writer ) { ContextProvider.getStateInfo().setResponseWriter( writer ); } }