/******************************************************************************* * 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.webanchorkit; 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.W4TFixture; import com.w4t.WebAnchor; import com.w4t.ajax.AjaxStatus; public class WebAnchorRenderer_Test extends TestCase { public void testAjaxRenderer() throws Exception { WebAnchor anchor = new WebAnchor(); anchor.setAnchorName( "myName" ); anchor.setDir( "myDir" ); anchor.setEnabled( true ); anchor.setHRef( "10" ); anchor.setLang( "myLang" ); anchor.setName( "myName" ); anchor.setTarget( "myTarget" ); anchor.setTitle( "myTitle" ); HtmlResponseWriter writer = new HtmlResponseWriter(); AjaxStatus ajaxStatus = ( AjaxStatus )anchor.getAdapter( AjaxStatus.class ); ajaxStatus.updateStatus( true ); W4TFixture.fakeBrowser( new Default( true, true ) ); setResponseWriter( writer ); W4TFixture.renderComponent( anchor ); String markup = W4TFixture.getBodyMarkup( writer ); String expected = "<a id=\"p1\" class=\"w4tCsscd1f6403\" " +"dir=\"myDir\" lang=\"myLang\" title=\"myTitle\" " +"href=\"10\" target=\"myTarget\">" +"<span id=\"p2\" class=\"w4tCsscd1f6403\">linkTo...</span></a>"; assertEquals( expected, markup ); // test encoding anchor.setTitle( "T�ddelpip & \"L�rz\"" ); anchor.setLang( "" ); anchor.setDir( "" ); ajaxStatus = ( AjaxStatus )anchor.getAdapter( AjaxStatus.class ); ajaxStatus.updateStatus( true ); writer = new HtmlResponseWriter(); W4TFixture.fakeBrowser( new Default( false, false ) ); setResponseWriter( writer ); W4TFixture.renderComponent( anchor ); markup = W4TFixture.getBodyMarkup( writer ); expected = "<a id=\"p1\" class=\"w4tCsscd1f6403\" " + "title=\"Tüddelpip & "Lörz"\" " + "href=\"10\" target=\"myTarget\">" + "<span class=\"w4tCsscd1f6403\">linkTo...</span></a>"; assertEquals( expected, markup ); } public void testScriptRenderer() throws Exception { WebAnchor anchor = new WebAnchor(); anchor.setAnchorName( "myName" ); anchor.setDir( "myDir" ); anchor.setEnabled( true ); anchor.setHRef( "10" ); anchor.setLang( "myLang" ); anchor.setName( "myName" ); anchor.setTarget( "myTarget" ); anchor.setTitle( "myTitle" ); HtmlResponseWriter writer = new HtmlResponseWriter(); W4TFixture.fakeBrowser( new Ie5up( true, false ) ); setResponseWriter( writer ); W4TFixture.renderComponent( anchor ); String markup = W4TFixture.getBodyMarkup( writer ); String expected = "<a id=\"p1\" class=\"w4tCsscd1f6403\" " +"dir=\"myDir\" lang=\"myLang\" title=\"myTitle\" " +"href=\"10\" target=\"myTarget\">" +"<span id=\"p2\" class=\"w4tCsscd1f6403\">linkTo...</span></a>"; assertEquals( expected, markup ); // test encoding anchor.setTitle( "T�ddelpip & \"L�rz\"" ); anchor.setLang( "" ); anchor.setDir( "" ); writer = new HtmlResponseWriter(); W4TFixture.fakeBrowser( new Default( false, false ) ); setResponseWriter( writer ); W4TFixture.renderComponent( anchor ); markup = W4TFixture.getBodyMarkup( writer ); expected = "<a id=\"p1\" class=\"w4tCsscd1f6403\" " + "title=\"Tüddelpip & "Lörz"\" " + "href=\"10\" target=\"myTarget\">" + "<span class=\"w4tCsscd1f6403\">linkTo...</span></a>"; assertEquals( expected, markup ); } public void testNo_ScriptRenderer() throws Exception { WebAnchor anchor = new WebAnchor(); anchor.setAnchorName( "myName" ); anchor.setDir( "myDir" ); anchor.setEnabled( true ); anchor.setHRef( "10" ); anchor.setLang( "myLang" ); anchor.setName( "myName" ); anchor.setTarget( "myTarget" ); anchor.setTitle( "myTitle" ); HtmlResponseWriter writer = new HtmlResponseWriter(); W4TFixture.fakeBrowser( new Default( false, false ) ); setResponseWriter( writer ); W4TFixture.renderComponent( anchor ); String markup = W4TFixture.getBodyMarkup( writer ); String expected = "<a id=\"p1\" class=\"w4tCsscd1f6403\" " + "dir=\"myDir\" lang=\"myLang\" title=\"myTitle\" " + "href=\"10\" target=\"myTarget\">" + "<span class=\"w4tCsscd1f6403\">linkTo...</span></a>"; assertEquals( expected, markup ); // test encoding anchor.setTitle( "T�ddelpip & \"L�rz\"" ); anchor.setLang( "" ); anchor.setDir( "" ); writer = new HtmlResponseWriter(); W4TFixture.fakeBrowser( new Default( false, false ) ); setResponseWriter( writer ); W4TFixture.renderComponent( anchor ); markup = W4TFixture.getBodyMarkup( writer ); expected = "<a id=\"p1\" class=\"w4tCsscd1f6403\" " + "title=\"Tüddelpip & "Lörz"\" " + "href=\"10\" target=\"myTarget\">" + "<span class=\"w4tCsscd1f6403\">linkTo...</span></a>"; assertEquals( expected, markup ); } protected void setUp() throws Exception { W4TFixture.setUp(); W4TFixture.createContext(); } protected void tearDown() throws Exception { W4TFixture.tearDown(); W4TFixture.removeContext(); } private void setResponseWriter( final HtmlResponseWriter writer ) { ContextProvider.getStateInfo().setResponseWriter( writer ); } }