[richfaces-svn-commits] JBoss Rich Faces SVN: r428 - in trunk/richfaces: drag-drop/src/test/java/org/richfaces/component and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Sat Apr 14 12:11:48 EDT 2007


Author: nbelaevski
Date: 2007-04-14 12:11:48 -0400 (Sat, 14 Apr 2007)
New Revision: 428

Added:
   trunk/richfaces/drag-drop/src/test/java/org/richfaces/component/DragDropTest.java
Removed:
   trunk/richfaces/drag-drop/src/test/java/org/richfaces/component/JSFComponentTest.java
Modified:
   trunk/richfaces/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java
   trunk/richfaces/tree/src/test/java/org/richfaces/component/TreeComponentTest.java
Log:
Tree & Drag-drop unit tests

Modified: trunk/richfaces/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java
===================================================================
--- trunk/richfaces/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java	2007-04-14 15:58:31 UTC (rev 427)
+++ trunk/richfaces/drag-drop/src/main/java/org/richfaces/renderkit/DropzoneRendererContributor.java	2007-04-14 16:11:48 UTC (rev 428)
@@ -49,7 +49,7 @@
  */
 public class DropzoneRendererContributor implements RendererContributor {
 
-	static final String DROP_TARGET_ID = "dropTargetId";
+	public static final String DROP_TARGET_ID = "dropTargetId";
 
 	private static final EventCallback dropEventsCallback = new EventCallback() {
 

Added: trunk/richfaces/drag-drop/src/test/java/org/richfaces/component/DragDropTest.java
===================================================================
--- trunk/richfaces/drag-drop/src/test/java/org/richfaces/component/DragDropTest.java	                        (rev 0)
+++ trunk/richfaces/drag-drop/src/test/java/org/richfaces/component/DragDropTest.java	2007-04-14 16:11:48 UTC (rev 428)
@@ -0,0 +1,211 @@
+package org.richfaces.component;
+ 
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIPanel;
+import javax.faces.component.html.HtmlForm;
+import javax.faces.event.PhaseId;
+
+import org.ajax4jsf.tests.AbstractAjax4JsfTestCase;
+import org.ajax4jsf.tests.MockViewRoot;
+import org.apache.commons.collections.Buffer;
+import org.apache.commons.lang.StringUtils;
+import org.richfaces.renderkit.DraggableRendererContributor;
+import org.richfaces.renderkit.DropzoneRendererContributor;
+
+import com.gargoylesoftware.htmlunit.html.HtmlElement;
+import com.gargoylesoftware.htmlunit.html.HtmlPage;
+import com.gargoylesoftware.htmlunit.html.HtmlScript;
+
+ /**
+  * Unit test for simple Component.
+  */
+public class DragDropTest extends AbstractAjax4JsfTestCase {
+ 
+	private UIDndParam dndparam;
+ 
+	private UIDragIndicator dndindicator;
+
+	private UIDragSupport dragsupport;
+
+	private UIDropSupport dropsupport;
+
+	private UIPanel panel1, panel2;
+
+	private UIComponent form;
+
+	private static Set javaScripts = new HashSet();
+	static {
+		javaScripts.add("prototype.js");
+		javaScripts.add("org.ajax4jsf.framework.ajax.AjaxScript");
+		javaScripts.add("org/richfaces/renderkit/html/scripts/browser_info.js");
+		javaScripts.add("/a4j.res/dnd.js");
+		javaScripts.add("org/richfaces/renderkit/html/scripts/events.js");
+		javaScripts
+				.add("/org/richfaces/renderkit/html/scripts/simple-draggable.js");
+		javaScripts
+				.add("/org/richfaces/renderkit/html/scripts/simple-dropzone.js");
+		javaScripts.add("/org/richfaces/renderkit/html/scripts/json/json.js");
+		javaScripts
+				.add("/org/richfaces/renderkit/html/scripts/dnd/dnd-common.js");
+		javaScripts
+				.add("/org/richfaces/renderkit/html/scripts/dnd/dnd-dropzone.js");
+		javaScripts
+				.add("/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js");
+		javaScripts
+				.add("/org/richfaces/renderkit/html/scripts/drag-indicator.js");
+	}
+	private static Set eventsSet = new HashSet();
+	static {
+		eventsSet.add("org.richfaces.component.html.HtmlDragSupport");
+		eventsSet.add("org.richfaces.component.html.HtmlDropSupport");
+		
+	}
+
+	public DragDropTest(String testName) {
+		super(testName);
+	}
+
+	public void SetUp() throws Exception {
+
+		super.setUp();
+
+		form = new HtmlForm();
+		assertNotNull(form);
+		form.setId("form");
+		facesContext.getViewRoot().getChildren().add(form);
+
+		panel1 = new UIPanel();
+		panel1.setId("panel1");
+
+		panel2 = new UIPanel();
+		panel2.setId("panel2");
+
+		dndparam = (UIDndParam) application
+				.createComponent("org.richfaces.DndParam");
+		dndparam.setId("dndparam");
+
+		dndindicator = (UIDragIndicator) application
+				.createComponent(UIDragIndicator.COMPONENT_TYPE);
+		dndindicator.setId("dndindicator");
+
+		dragsupport = (UIDragSupport) application
+				.createComponent("org.richfaces.DragSupport");
+		dragsupport.setId("dragsupport");
+		dragsupport.setDragType("foto");
+		// panel1.getChildren().add(dragsupport);
+
+		dropsupport = (UIDropSupport) application
+				.createComponent("org.richfaces.DropSupport");
+		dropsupport.setId("dropsupport");
+		dropsupport.setAcceptedTypes("foto");
+		// panel2.getChildren().add(dropsupport);
+
+		form.getChildren().add(panel1);
+		form.getChildren().add(dndindicator);
+		form.getChildren().add(dndparam);
+		form.getChildren().add(dragsupport);
+		form.getChildren().add(dropsupport);
+
+		form.getChildren().add(panel2);
+
+	}
+
+	public void tearDown() throws Exception {
+		super.tearDown();
+
+		this.form = null;
+		this.dndindicator = null;
+		this.dragsupport = null;
+		this.dropsupport = null;
+		this.dndparam = null;
+	}
+
+	/**
+	 * Rigourous Test :-)
+	 */
+	public void testComponent() throws Exception {
+		SetUp();
+		HtmlPage page = renderView();
+		assertNotNull(page);
+
+		HtmlElement htmlDnDIndicator = page.getHtmlElementById(dndindicator
+				.getClientId(facesContext));
+		assertTrue(htmlDnDIndicator.getAttributeValue("class").contains(
+				"drag_indicator"));
+
+		// HtmlElement htmlDnDParam =
+		// page.getHtmlElementById(dndparam.getClientId(facesContext));
+		// assertTrue(htmlDnDParam.getNodeName().equals("script"));
+
+		HtmlElement htmlDragSupport = page.getHtmlElementById(dragsupport
+				.getClientId(facesContext));
+		assertTrue(htmlDragSupport.getNodeName().equals("script"));
+		assertTrue(dragsupport.getDragType().equals("foto"));
+
+		HtmlElement htmlDropSupport = page.getHtmlElementById(dropsupport
+				.getClientId(facesContext));
+		assertTrue(htmlDropSupport.getNodeName().equals("script"));
+		assertTrue(dropsupport.getAcceptedTypes().equals("foto"));
+	}
+
+	public void testScript() throws Exception {
+		SetUp();
+		HtmlPage page = renderView();
+		assertNotNull(page);
+		List scripts = page.getDocumentElement().getHtmlElementsByTagName(
+				"script");
+		System.out.println(page.asXml());
+		for (Iterator it = scripts.iterator(); it.hasNext();) {
+			HtmlScript item = (HtmlScript) it.next();
+			String srcAttr = item.getSrcAttribute();
+
+			if (StringUtils.isNotBlank(srcAttr)) {
+				boolean found = false;
+				for (Iterator srcIt = javaScripts.iterator(); srcIt.hasNext();) {
+					String src = (String) srcIt.next();
+
+					found = srcAttr.contains(src);
+					if (found) {
+						break;
+					}
+				}
+
+				assertTrue(found);
+			}
+		}
+
+	}
+
+	public void testDecode() throws Exception {
+
+		SetUp();
+		externalContext.addRequestParameterMap(DraggableRendererContributor.DRAG_SOURCE_ID, dragsupport.getClientId(facesContext));
+		externalContext.addRequestParameterMap(DropzoneRendererContributor.DROP_TARGET_ID, dropsupport.getClientId(facesContext));
+
+		dragsupport.decode(facesContext);
+		dropsupport.decode(facesContext);
+	
+		MockViewRoot root = (MockViewRoot) facesContext.getViewRoot();
+		Buffer queue = root.getEventsQueue(facesContext, PhaseId.ANY_PHASE);
+		assertNotNull(queue);
+		Object[] events = queue.toArray();
+		for(int i=0;i< events.length;i++)
+		{	
+			boolean found = false;
+			for (Iterator srcIt = eventsSet.iterator(); srcIt.hasNext();) {
+				String src = (String) srcIt.next();
+				found = events[i].toString().contains(src);
+				if (found) {
+					break;
+				}
+			}
+			assertTrue(found);			
+		}
+
+	}
+ }

Deleted: trunk/richfaces/drag-drop/src/test/java/org/richfaces/component/JSFComponentTest.java
===================================================================
--- trunk/richfaces/drag-drop/src/test/java/org/richfaces/component/JSFComponentTest.java	2007-04-14 15:58:31 UTC (rev 427)
+++ trunk/richfaces/drag-drop/src/test/java/org/richfaces/component/JSFComponentTest.java	2007-04-14 16:11:48 UTC (rev 428)
@@ -1,53 +0,0 @@
-/**
- * License Agreement.
- *
- *  JBoss RichFaces 3.0 - Ajax4jsf Component Library
- *
- * 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.richfaces.component;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-import javax.faces.component.UIComponent;
-
-/**
- * Unit test for simple Component.
- */
-public class JSFComponentTest 
-    extends TestCase
-{
-    /**
-     * Create the test case
-     *
-     * @param testName name of the test case
-     */
-    public JSFComponentTest( String testName )
-    {
-        super( testName );
-    }
-
-
-    /**
-     * Rigourous Test :-)
-     */
-    public void testComponent()
-    {
-        assertTrue( true );
-    }
-}

Modified: trunk/richfaces/tree/src/test/java/org/richfaces/component/TreeComponentTest.java
===================================================================
--- trunk/richfaces/tree/src/test/java/org/richfaces/component/TreeComponentTest.java	2007-04-14 15:58:31 UTC (rev 427)
+++ trunk/richfaces/tree/src/test/java/org/richfaces/component/TreeComponentTest.java	2007-04-14 16:11:48 UTC (rev 428)
@@ -28,16 +28,13 @@
 import java.util.Set;
 
 import javax.faces.component.UICommand;
-import javax.faces.component.UIComponent;
 import javax.faces.component.UIForm;
 import javax.faces.component.UIInput;
 import javax.faces.component.UIOutput;
-import javax.faces.component.UIViewRoot;
 import javax.faces.component.html.HtmlCommandLink;
 import javax.faces.component.html.HtmlForm;
 import javax.faces.context.FacesContext;
 import javax.faces.event.AbortProcessingException;
-import javax.faces.event.FacesEvent;
 import javax.faces.event.PhaseId;
 import javax.servlet.http.HttpServletResponse;
 
@@ -56,14 +53,11 @@
 import org.richfaces.component.events.NodeSelectedEvent;
 import org.richfaces.component.events.NodeSelectedListener;
 import org.richfaces.component.state.events.ExpandAllCommandEvent;
-import org.richfaces.component.state.events.TreeStateCommandEvent;
 import org.richfaces.component.xml.XmlTreeDataBuilder;
 import org.xml.sax.InputSource;
 
-import com.gargoylesoftware.htmlunit.KeyValuePair;
 import com.gargoylesoftware.htmlunit.Page;
-import com.gargoylesoftware.htmlunit.html.HtmlAnchor;
-import com.gargoylesoftware.htmlunit.html.HtmlInput;
+import com.gargoylesoftware.htmlunit.html.HtmlElement;
 import com.gargoylesoftware.htmlunit.html.HtmlLink;
 import com.gargoylesoftware.htmlunit.html.HtmlPage;
 import com.gargoylesoftware.htmlunit.html.HtmlScript;
@@ -72,19 +66,19 @@
  * Unit test for simple Component.
  */
 public class TreeComponentTest 
-    extends AbstractAjax4JsfTestCase
+extends AbstractAjax4JsfTestCase
 {
-    private static Set javaScripts = new HashSet();
+	private static Set javaScripts = new HashSet();
 
-    static {
+	static {
 		javaScripts.add("/org/richfaces/renderkit/html/scripts/json/json.js");
-        javaScripts.add("prototype.js");
-        javaScripts.add("dnd.js");
+		javaScripts.add("prototype.js");
+		javaScripts.add("dnd.js");
 		javaScripts.add("/org/richfaces/renderkit/html/scripts/dnd/dnd-common.js");
 		javaScripts.add("/org/richfaces/renderkit/html/scripts/dnd/dnd-draggable.js");
 		javaScripts.add("/org/richfaces/renderkit/html/scripts/dnd/dnd-dropzone.js");
 
-		
+
 		javaScripts.add("/org/ajax4jsf/framework/ajax/scripts/AJAX.js");
 		javaScripts.add("/org/ajax4jsf/renderkit/html/scripts/form.js");
 		javaScripts.add("/org/richfaces/renderkit/html/scripts/events.js");
@@ -93,39 +87,39 @@
 		javaScripts.add("/org/richfaces/renderkit/html/scripts/tree-item.js");
 		javaScripts.add("/org/richfaces/renderkit/html/scripts/tree-item-dnd.js");
 		javaScripts.add("/org/richfaces/renderkit/html/scripts/drag-indicator.js");		
-		
-    }
 
-    private static Set cssStyles = new HashSet();
+	}
 
-    static {
-    	cssStyles.add("/org/richfaces/renderkit/html/css/dragIndicator.xcss");
-    	cssStyles.add("/org/richfaces/renderkit/html/css/tree.xcss");
-    }
+	private static Set cssStyles = new HashSet();
 
-    private UICommand command = null;
+	static {
+		cssStyles.add("/org/richfaces/renderkit/html/css/dragIndicator.xcss");
+		cssStyles.add("/org/richfaces/renderkit/html/css/tree.xcss");
+	}
+
+	private UICommand command = null;
 	private UIInput input = null;
 	private UIForm form = null;
 	private UITree tree = null;
 	private UITreeNode treeNode = null;
-	
-    /**
-     * Create the test case
-     *
-     * @param testName name of the test case
-     */
-    public TreeComponentTest( String testName )
-    {
-        super( testName );
-    }
 
-    public void setUp() throws Exception {
+	/**
+	 * Create the test case
+	 *
+	 * @param testName name of the test case
+	 */
+	public TreeComponentTest( String testName )
+	{
+		super( testName );
+	}
+
+	public void setUp() throws Exception {
 		super.setUp();
-		
+
 		form = new HtmlForm();
-		
+
 		facesContext.getViewRoot().getChildren().add(form);
-		
+
 		input = new UIInput() {
 			public void decode(FacesContext context) {
 				// TODO Auto-generated method stub
@@ -133,159 +127,204 @@
 			}
 		};
 		input.setId("input");
-		
+
 		form.getChildren().add(input);
 
 		command = new HtmlCommandLink();
 		command.setId("command");
-		
+
 		form.getChildren().add(command);
 
 		tree = (UITree) application.createComponent(UITree.COMPONENT_TYPE);
-		
+
 		tree.setValue(
 				XmlTreeDataBuilder.build(
 						new InputSource(
 								this.getClass().
 								getResourceAsStream("/org/richfaces/component/xml/XmlTreeDataBuilderTest.xml")
-								)));
-		
+						)));
+
 		form.getChildren().add(tree);
 		tree.queueExpandAll();
 
 		treeNode = (UITreeNode) application.createComponent(UITreeNode.COMPONENT_TYPE);
 		treeNode.setType("node");
-    
+
 		tree.getChildren().add(treeNode);
-    }
+	}
 
-    public void tearDown() throws Exception {
+	public void tearDown() throws Exception {
 		super.tearDown();
-		
+
 		this.input = null;
 		this.form = null;
 		this.command = null;
 		this.tree = null;
 		this.treeNode = null;
-    }
+	}
 
 	/**
-     * Rigourous Test :-)
+	 * Rigourous Test :-)
 	 * @throws Exception 
-     */
-    public void testComponent() throws Exception
-    {
-    	HtmlPage renderedView = renderView();
-    	//System.out.println(renderedView.getWebResponse().getContentAsString());
-/*    	
+	 */
+	public void testComponent() throws Exception
+	{
+		HtmlPage renderedView = renderView();
+		//System.out.println(renderedView.getWebResponse().getContentAsString());
+		/*    	
     	HtmlInput htmlInput = (HtmlInput) renderedView.getHtmlElementById(input.getClientId(facesContext));
     	htmlInput.setValueAttribute("testInput");
-    	
+
     	HtmlAnchor htmlLink = (HtmlAnchor) renderedView.getHtmlElementById(command.getClientId(facesContext));
     	htmlLink.click();
 
     	List lastParameters = this.webConnection.getLastParameters();
     	for (Iterator iterator = lastParameters.iterator(); iterator.hasNext();) {
 			KeyValuePair keyValue = (KeyValuePair) iterator.next();
-			
+
 			externalContext.addRequestParameterMap((String) keyValue.getKey(), (String) keyValue.getValue());
 		}
-    	
+
     	UIViewRoot root = facesContext.getViewRoot();
     	root.processDecodes(facesContext);
     	root.processValidators(facesContext);
     	root.processUpdates(facesContext);
     	root.processApplication(facesContext);
-    	
+
     	renderedView = renderView();
-*/
-    }
-    
-    public void testRenderStyle() throws Exception {
-        HtmlPage page = renderView();
-        assertNotNull(page);
-        List styles = page.getDocumentElement().getHtmlElementsByTagName("link");
-        for (Iterator it = styles.iterator(); it.hasNext();) {
-        	HtmlLink item = (HtmlLink) it.next();
-            String srcAttr = item.getHrefAttribute();
+		 */
+	}
 
-            if (StringUtils.isNotBlank(srcAttr)) {
-                boolean found = false;
-                for (Iterator srcIt = cssStyles.iterator(); srcIt.hasNext();) {
-                    String src = (String) srcIt.next();
+	public void testRenderStyle() throws Exception {
+		HtmlPage page = renderView();
+		assertNotNull(page);
+		List styles = page.getDocumentElement().getHtmlElementsByTagName("link");
+		for (Iterator it = styles.iterator(); it.hasNext();) {
+			HtmlLink item = (HtmlLink) it.next();
+			String srcAttr = item.getHrefAttribute();
 
-                    found = srcAttr.contains(src);
-                    if (found) {
-                        break;
-                    }
-                }
+			if (StringUtils.isNotBlank(srcAttr)) {
+				boolean found = false;
+				for (Iterator srcIt = cssStyles.iterator(); srcIt.hasNext();) {
+					String src = (String) srcIt.next();
 
-                assertTrue(found);
-            }
-        }
-    }
-    
-    public void testRenderScript() throws Exception {
-        HtmlPage page = renderView();
-        assertNotNull(page);
-        List scripts = page.getDocumentElement().getHtmlElementsByTagName("script");
-        for (Iterator it = scripts.iterator(); it.hasNext();) {
-            HtmlScript item = (HtmlScript) it.next();
-            String srcAttr = item.getSrcAttribute();
+					found = srcAttr.contains(src);
+					if (found) {
+						break;
+					}
+				}
 
-            if (StringUtils.isNotBlank(srcAttr)) {
-                boolean found = false;
-                for (Iterator srcIt = javaScripts.iterator(); srcIt.hasNext();) {
-                    String src = (String) srcIt.next();
+				assertTrue(found);
+			}
+		}
+	}
 
-                    found = srcAttr.contains(src);
-                    if (found) {
-                        break;
-                    }
-                }
+	public void testRenderScript() throws Exception {
+		HtmlPage page = renderView();
+		assertNotNull(page);
+		List scripts = page.getDocumentElement().getHtmlElementsByTagName("script");
+		for (Iterator it = scripts.iterator(); it.hasNext();) {
+			HtmlScript item = (HtmlScript) it.next();
+			String srcAttr = item.getSrcAttribute();
 
-                assertTrue(found);
-            }
-        }
-    }
+			if (StringUtils.isNotBlank(srcAttr)) {
+				boolean found = false;
+				for (Iterator srcIt = javaScripts.iterator(); srcIt.hasNext();) {
+					String src = (String) srcIt.next();
 
-    public void testRenderImages() throws Exception {
-    	renderView();
-    	InternetResourceBuilder builder = ResourceBuilderImpl.getInstance();
-    	InternetResource resource = builder.getResource("org/richfaces/renderkit/html/css/tree.xcss");
-    	assertNotNull(resource);
-    	String uri = "http:" + resource.getUri(facesContext, null);
-    	Page page = webClient.getPage(uri);
-    	assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
+					found = srcAttr.contains(src);
+					if (found) {
+						break;
+					}
+				}
 
-    	String[] resources = new String[] {
-    			"org.richfaces.renderkit.html.images.TreeLineCollapsedImage",
-    			"org.richfaces.renderkit.html.images.TreeLineExpandedImage",
-    			"org.richfaces.renderkit.html.images.TreeLineImage",
-    			"org.richfaces.renderkit.html.images.TreeLineLastImage",
-    			"org.richfaces.renderkit.html.images.TreeLineNodeImage",
-    			"org.richfaces.renderkit.html.images.TreeMinusImage",	
-    			"org.richfaces.renderkit.html.images.TreePlusImage"	
-    	};
-    	
-    	for (int i = 0; i < resources.length; i++) {
-        	resource = builder.getResource(resources[i]);
-        	assertNotNull(resource);
-        	uri = "http:" + resource.getUri(facesContext, null);
-        	page = webClient.getPage(uri);
-        	assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
-        	ImageInfo info = new ImageInfo();
-        	info.setInput(page.getWebResponse().getContentAsStream());
-        	//image recognizable?
-        	assertTrue(info.check());
-        	assertEquals(ImageInfo.FORMAT_GIF, info.getFormat());
+				assertTrue(found);
+			}
 		}
-    }
-    
-    public void testProcess() {
-    }
+	}
 
+	public void testRenderImages() throws Exception {
+		renderView();
+		InternetResourceBuilder builder = ResourceBuilderImpl.getInstance();
+		InternetResource resource = builder.getResource("org/richfaces/renderkit/html/css/tree.xcss");
+		assertNotNull(resource);
+		String uri = "http:" + resource.getUri(facesContext, null);
+		Page page = webClient.getPage(uri);
+		assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
 
+		String[] resources = new String[] {
+				"org.richfaces.renderkit.html.images.TreeLineCollapsedImage",
+				"org.richfaces.renderkit.html.images.TreeLineExpandedImage",
+				"org.richfaces.renderkit.html.images.TreeLineImage",
+				"org.richfaces.renderkit.html.images.TreeLineLastImage",
+				"org.richfaces.renderkit.html.images.TreeLineNodeImage",
+				"org.richfaces.renderkit.html.images.TreeMinusImage",	
+				"org.richfaces.renderkit.html.images.TreePlusImage"	
+		};
+
+		for (int i = 0; i < resources.length; i++) {
+			resource = builder.getResource(resources[i]);
+			assertNotNull(resource);
+			uri = "http:" + resource.getUri(facesContext, null);
+			page = webClient.getPage(uri);
+			assertTrue(page.getWebResponse().getStatusCode() == HttpServletResponse.SC_OK);
+			ImageInfo info = new ImageInfo();
+			info.setInput(page.getWebResponse().getContentAsStream());
+			//image recognizable?
+			assertTrue(info.check());
+			assertEquals(ImageInfo.FORMAT_GIF, info.getFormat());
+		}
+	}
+
+	private static Set styleClasses = new HashSet();
+
+	static {
+		styleClasses.add("dr-tree-h-ic dr-tree-h-ic-line-last");
+		styleClasses.add("dr-tree-h-ic dr-tree-h-ic-line-clp");
+		styleClasses.add("dr-tree-h-text rich-tree-node");
+		styleClasses.add("dr-tree-pointer-cursor");
+		styleClasses.add("");
+	}
+
+	public void testProcess() throws Exception {
+
+		HtmlPage renderedView = renderView();
+
+		HtmlElement htmlTree = renderedView.getHtmlElementById(tree
+				.getClientId(facesContext));
+		htmlTree.getAttributeValue("class").equals("dr-tree rich-tree ");
+
+		// System.out.println(htmlTree.getHtmlElementsByAttribute("class",
+		// "highlightedclass", "selectedclass"));
+
+		List tagNames = new ArrayList();
+		tagNames.add("td");
+		tagNames.add("img");
+		tagNames.add("div");
+		List chldList = htmlTree.getHtmlElementsByTagNames(tagNames);
+		System.out.println(chldList);
+
+		for (Iterator it = chldList.iterator(); it.hasNext();) {
+			HtmlElement element = (HtmlElement) it.next();
+
+			if (!element.getAttributeValue("class").equals("")) {
+				boolean found = false;
+				for (Iterator sCIt = styleClasses.iterator(); sCIt.hasNext();) {
+					String src = (String) sCIt.next();
+					found = element.getAttributeValue("class").contains(src);
+					if (found) {
+						break;
+					}
+				}
+
+				assertTrue(found);
+			}
+			;
+
+		}
+	}
+
+
 	/**
 	 * Test method for {@link org.richfaces.component.UITreeNode#addChangeExpandListener(org.richfaces.component.events.NodeExpandedListener)}.
 	 */
@@ -293,9 +332,9 @@
 		NodeExpandedListener listener = new NodeExpandedListener() {
 
 			public void processExpansion(NodeExpandedEvent nodeExpandedEvent)
-					throws AbortProcessingException {
+			throws AbortProcessingException {
 			}
-			
+
 		};
 		assertTrue(tree.getChangeExpandListeners().length == 0);
 		assertTrue(treeNode.getChangeExpandListeners().length == 0);
@@ -323,9 +362,9 @@
 		NodeSelectedListener listener = new NodeSelectedListener() {
 
 			public void processSelection(NodeSelectedEvent nodeSelectedEvent)
-					throws AbortProcessingException {
+			throws AbortProcessingException {
 			}
-			
+
 		};
 		assertTrue(tree.getNodeSelectListeners().length == 0);
 		assertTrue(treeNode.getNodeSelectListeners().length == 0);
@@ -357,7 +396,7 @@
 		output.getChildren().add(treeNode2);
 		try {
 			treeNode2.getUITree();
-			
+
 			fail();
 		} catch (Exception e) {
 		}
@@ -374,7 +413,7 @@
 
 			public void processDrop(DropEvent event) {
 			}
-			
+
 		};
 		assertTrue(tree.getDropListeners().length == 0);
 		assertTrue(treeNode.getDropListeners().length == 0);
@@ -387,7 +426,7 @@
 
 		assertSame(listener, tree.getDropListeners()[0]);
 		assertSame(listener, treeNode.getDropListeners()[0]);
-	
+
 		tree.removeDropListener(listener);
 		treeNode.removeDropListener(listener);
 
@@ -403,7 +442,7 @@
 
 			public void processDrag(DragEvent event) {
 			}
-			
+
 		};
 		assertTrue(tree.getDragListeners().length == 0);
 		assertTrue(treeNode.getDragListeners().length == 0);
@@ -416,7 +455,7 @@
 
 		assertSame(listener, tree.getDragListeners()[0]);
 		assertSame(listener, treeNode.getDragListeners()[0]);
-	
+
 		tree.removeDragListener(listener);
 		treeNode.removeDragListener(listener);
 
@@ -564,12 +603,12 @@
 		defaultFacet.getChildren().add(input1);
 
 		tree.setNodeFace("node");
-		
+
 		Iterator dataChildren = tree.dataChildren();
 		assertTrue(dataChildren.hasNext());
 		assertSame(treeNode, dataChildren.next());
 		assertFalse(dataChildren.hasNext());
-	
+
 		tree.setNodeFace("");
 		dataChildren = tree.dataChildren();
 		assertTrue(dataChildren.hasNext());
@@ -601,21 +640,21 @@
 	public final void testFixedChildren() {
 		Iterator fixedChildren = tree.fixedChildren();
 		assertFalse(fixedChildren.hasNext());
-		
+
 		UIInput input = new UIInput();
 		UIOutput output = new UIOutput();
 		tree.getFacets().put("facet1", input);
 		tree.getFacets().put("facet2", output);
-	
+
 		fixedChildren = tree.fixedChildren();
 		List children = new ArrayList();
-		
+
 		assertTrue(fixedChildren.hasNext());
 		children.add(fixedChildren.next());
 		assertTrue(fixedChildren.hasNext());
 		children.add(fixedChildren.next());
 		assertFalse(fixedChildren.hasNext());
-		
+
 		assertTrue(children.contains(input));
 		assertTrue(children.contains(output));
 		assertEquals(2, children.size());
@@ -652,17 +691,17 @@
 
 		treeNode.setAjaxSubmitSelection("inherit");
 		assertFalse(treeNode.hasAjaxSubmitSelection());
-		
+
 		tree.setAjaxSubmitSelection(true);
 		assertTrue(tree.isAjaxSubmitSelection() == tree.hasAjaxSubmitSelection());
 		assertTrue(tree.isAjaxSubmitSelection());
-	
+
 		assertTrue(treeNode.hasAjaxSubmitSelection());
-		
+
 		treeNode.setAjaxSubmitSelection("false");
 		assertTrue(tree.isAjaxSubmitSelection());
 		assertFalse(treeNode.hasAjaxSubmitSelection());
-	
+
 		treeNode.setAjaxSubmitSelection(null);
 		treeNode.hasAjaxSubmitSelection();
 		assertTrue(treeNode.hasAjaxSubmitSelection());
@@ -674,7 +713,7 @@
 		try {
 			treeNode.setAjaxSubmitSelection("untrue");
 			treeNode.hasAjaxSubmitSelection();
-			
+
 			fail();
 		} catch (IllegalArgumentException e) {
 		}




More information about the richfaces-svn-commits mailing list