Package org.ajax4jsf.renderkit.html

Source Code of org.ajax4jsf.renderkit.html.MediaOutputRendererTest

/**
* License Agreement.
*
* Rich Faces - Natural Ajax for Java Server Faces (JSF)
*
* Copyright (C) 2007 Exadel, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License version 2.1 as published by the Free Software Foundation.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
*/

package org.ajax4jsf.renderkit.html;

import javax.faces.FacesException;
import javax.faces.component.UIForm;
import javax.faces.component.UIParameter;
import javax.faces.component.html.HtmlForm;

import org.ajax4jsf.component.UIMediaOutput;
import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;

import com.gargoylesoftware.htmlunit.html.HtmlElement;
import com.gargoylesoftware.htmlunit.html.HtmlPage;

public class MediaOutputRendererTest extends AbstractAjax4JsfTestCase {
  UIForm form = null;
  UIMediaOutput media1 = null;
  UIMediaOutput media2 = null;
  UIMediaOutput media3 = null;
  UIMediaOutput media4 = null;
  UIMediaOutput media5 = null;

  public MediaOutputRendererTest(String name) {
    super(name);
  }
 
  public void setUp() throws Exception {
    super.setUp();
   
    application.addComponent("org.ajax4jsf.MMedia", "org.ajax4jsf.component.html.MediaOutput");
   
    form = new HtmlForm();
      form.setId("form");
      facesContext.getViewRoot().getChildren().add(form);
     
      media1 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
      media1.setId("media1");
      media1.setElement("a");
      media1.setUriAttribute("href");
      form.getChildren().add(media1);
     
      media2 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
      media2.setId("media2");
      media2.setElement("img");
      media2.setUriAttribute("src");
      media2.getAttributes().put("alt", "Generated value");
      form.getChildren().add(media2);
     
      media3 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
      media3.setId("media3");
      media3.setElement("object");
      media3.setUriAttribute("data");
      form.getChildren().add(media3);
     
      media4 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
      media4.setId("media4");
      media4.setElement("a");
      UIParameter param = new UIParameter();
      param.setName("name");
      param.setValue("value");
      media4.getChildren().add(param);
      form.getChildren().add(media4);
     
      media5 = (UIMediaOutput)application.createComponent(UIMediaOutput.COMPONENT_TYPE);
      media5.setId("media5");
  }
 
  public void tearDown() throws Exception {
    super.tearDown();
   
    media1 = null;
    media2 = null;
    media3 = null;
    media4 = null;
    media5 = null;
    form = null;
  }
 
  public void testRender() throws Exception {
    HtmlPage page = renderView();
    assertNotNull(page);
    System.out.println(page.asXml());
   
    HtmlElement a = page.getHtmlElementById(media1.getClientId(facesContext));
    assertNotNull(a);
    assertEquals("a", a.getTagName());
    String href = a.getAttributeValue("href");
    assertNotNull(href);
   
    HtmlElement img = page.getHtmlElementById(media2.getClientId(facesContext));
    assertNotNull(img);
    assertEquals("img", img.getTagName());
    String src = img.getAttributeValue("src");
    assertNotNull(src);
   
    HtmlElement object = page.getHtmlElementById(media3.getClientId(facesContext));
    assertNotNull(object);
    assertEquals("object", object.getTagName());
    String data = object.getAttributeValue("data");
    assertNotNull(data);
   
    // Rendering without uriAttribute
    HtmlElement a2 = page.getHtmlElementById(media4.getClientId(facesContext));
    assertNotNull(a2);
    assertEquals("a", a2.getTagName());
    String href2 = a2.getAttributeValue("href");
    assertNotNull(href2);
    assertTrue(href2.endsWith("name=value"));
  }
 
  public void testRenderWithoutElement() throws Exception {
    form.getChildren().add(media5);
    try {
      renderView();
      assertTrue("'element' is undefined but exception was not thrown", false);
    } catch (FacesException e) {
     
    }
  }

}
TOP

Related Classes of org.ajax4jsf.renderkit.html.MediaOutputRendererTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.