[richfaces-svn-commits] JBoss Rich Faces SVN: r2911 - trunk/ui/core/src/test/java/org/ajax4jsf/renderkit/html.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Sep 12 13:58:02 EDT 2007


Author: sergeyhalipov
Date: 2007-09-12 13:58:02 -0400 (Wed, 12 Sep 2007)
New Revision: 2911

Added:
   trunk/ui/core/src/test/java/org/ajax4jsf/renderkit/html/MediaOutputRendererTest.java
Log:
JUnit tests for MediaOutputRenderer class.

Added: trunk/ui/core/src/test/java/org/ajax4jsf/renderkit/html/MediaOutputRendererTest.java
===================================================================
--- trunk/ui/core/src/test/java/org/ajax4jsf/renderkit/html/MediaOutputRendererTest.java	                        (rev 0)
+++ trunk/ui/core/src/test/java/org/ajax4jsf/renderkit/html/MediaOutputRendererTest.java	2007-09-12 17:58:02 UTC (rev 2911)
@@ -0,0 +1,140 @@
+/**
+ * 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");
+    	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) {
+			
+		}
+	}
+
+}




More information about the richfaces-svn-commits mailing list