You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by mu...@apache.org on 2007/03/03 06:49:21 UTC

svn commit: r514083 [49/49] - in /struts/struts2/trunk/plugins/dojo: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/struts2/ src/main/java/org/apache/struts2/components/ src/main/java/org/apache/s...

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/Category.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/Category.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/Category.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/Category.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,105 @@
+/*
+ * $Id: Category.java 471756 2006-11-06 15:01:43Z husted $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Used by Tree Component Test. Copied from showcase.
+ */
+public class Category {
+    private static Map<Long, Category> catMap = new HashMap<Long, Category>();
+
+    static {
+        new Category(1, "Root",
+                new Category(2, "Java",
+                        new Category(3, "Web Frameworks",
+                                new Category(4, "Struts"),
+                                new Category(7, "Stripes"),
+                                new Category(8, "Rife")),
+                        new Category(9, "Persistence",
+                                new Category(10, "iBatis"),
+                                new Category(11, "Hibernate"),
+                                new Category(12, "JDO"),
+                                new Category(13, "JDBC"))),
+                new Category(14, "JavaScript",
+                        new Category(15, "Dojo"),
+                        new Category(16, "Prototype"),
+                        new Category(17, "Scriptaculous"),
+                        new Category(18, "OpenRico"),
+                        new Category(19, "DWR")));
+    }
+
+    public static Category getById(long id) {
+        return catMap.get(id);
+    }
+
+    private long id;
+    private String name;
+    private List<Category> children;
+    private boolean toggle;
+
+    public Category(long id, String name, Category... children) {
+        this.id = id;
+        this.name = name;
+        this.children = new ArrayList<Category>();
+        for (Category child : children) {
+            this.children.add(child);
+        }
+
+        catMap.put(id, this);
+    }
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public List<Category> getChildren() {
+        return children;
+    }
+
+    public void setChildren(List<Category> children) {
+        this.children = children;
+    }
+
+    public void toggle() {
+        toggle = !toggle;
+    }
+
+    public boolean isToggle() {
+        return toggle;
+    }
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/DateTimePickerTagTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/DateTimePickerTagTest.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/DateTimePickerTagTest.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/DateTimePickerTagTest.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,68 @@
+/*
+ * $Id: DateTimePickerTagTest.java 508605 2007-02-16 21:56:50Z musachy $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+
+
+/**
+ */
+public class DateTimePickerTagTest extends AbstractUITagTest {
+
+
+    public void testGenericSimple() throws Exception {
+        AbstractRemoteCallUITag tag = new DivTag();
+        verifyGenericProperties(tag, "simple", new String[]{"value","tabindex","disabled"});
+    }
+
+    public void testGenericXhtml() throws Exception {
+        AbstractRemoteCallUITag tag = new DivTag();
+        verifyGenericProperties(tag, "xhtml", new String[]{"value","tabindex","disabled"});
+    }
+
+    public void testGenericAjax() throws Exception {
+        AbstractRemoteCallUITag tag = new DivTag();
+        verifyGenericProperties(tag, "ajax", new String[]{"value","tabindex","disabled"});
+    }
+
+    public void testSimple() throws Exception {
+        DateTimePickerTag tag = new DateTimePickerTag();
+        tag.setPageContext(pageContext);
+
+        tag.setId("id");
+        tag.setTheme("ajax");
+
+        tag.setAdjustWeeks("true");
+        tag.setDayWidth("b");
+        tag.setDisplayWeeks("true");
+        tag.setEndDate("d");
+        tag.setStartDate("e");
+        tag.setStaticDisplay("false");
+        tag.setWeekStartsOn("g");
+        tag.setName("h");
+        tag.setLanguage("i");
+        tag.setTemplateCssPath("j");
+        tag.doStartTag();
+        tag.doEndTag();
+
+        verify(DateTimePickerTagTest.class.getResource("DateTimePickerTagTest-1.txt"));
+    }
+
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/DivTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/DivTest.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/DivTest.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/DivTest.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,77 @@
+/*
+ * $Id: DivTest.java 511300 2007-02-24 16:41:38Z musachy $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import org.apache.struts2.TestAction;
+
+
+/**
+ */
+public class DivTest extends AbstractUITagTest {
+
+
+    public void testGenericSimple() throws Exception {
+        AbstractRemoteCallUITag tag = new DivTag();
+        verifyGenericProperties(tag, "simple", new String[]{"value","tabindex","disabled"});
+    }
+
+    public void testGenericXhtml() throws Exception {
+        AbstractRemoteCallUITag tag = new DivTag();
+        verifyGenericProperties(tag, "xhtml", new String[]{"value","tabindex","disabled"});
+    }
+
+    public void testGenericAjax() throws Exception {
+        AbstractRemoteCallUITag tag = new DivTag();
+        verifyGenericProperties(tag, "ajax", new String[]{"value","tabindex","disabled"});
+    }
+
+    public void testSimple() throws Exception {
+        TestAction testAction = (TestAction) action;
+        testAction.setFoo("bar");
+
+        DivTag tag = new DivTag();
+        tag.setPageContext(pageContext);
+
+        tag.setId("mylabel");
+        tag.setTheme("ajax");
+        tag.setHref("a");
+        tag.setLoadingText("b");
+        tag.setErrorText("c");
+        tag.setAutoStart("true");
+        tag.setDelay("4000");
+        tag.setUpdateFreq("1000");
+        tag.setListenTopics("g");
+        tag.setStartTimerListenTopics("h");
+        tag.setStopTimerListenTopics("i");
+        tag.setBeforeLoading("j");
+        tag.setAfterLoading("k");
+        tag.setRefreshOnShow("true");
+        tag.setHandler("l");
+        tag.setIndicator("m");
+        tag.setShowLoadingText("true");
+        tag.setSeparateScripts("false");
+        tag.doStartTag();
+        tag.doEndTag();
+
+        verify(DivTest.class.getResource("div-1.txt"));
+    }
+
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpServletRequest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpServletRequest.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpServletRequest.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpServletRequest.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,209 @@
+/*
+ * $Id: StrutsMockHttpServletRequest.java 471756 2006-11-06 15:01:43Z husted $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Vector;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.http.HttpSession;
+
+import junit.framework.AssertionFailedError;
+
+import com.mockobjects.servlet.MockHttpServletRequest;
+
+
+/**
+ * StrutsMockHttpServletRequest
+ *
+ */
+public class StrutsMockHttpServletRequest extends MockHttpServletRequest {
+
+    Locale locale = Locale.US;
+    private Map attributes = new HashMap();
+    private Map parameterMap = new HashMap();
+    private String context = "";
+    private String pathInfo = "";
+    private String queryString;
+    private String requestURI;
+    private String scheme;
+    private String serverName;
+    private int serverPort;
+    private String encoding;
+    private String requestDispatherString;
+
+
+    public void setAttribute(String s, Object o) {
+        attributes.put(s, o);
+    }
+
+    public Object getAttribute(String s) {
+        return attributes.get(s);
+    }
+
+    public Enumeration getAttributeNames() {
+        Vector v = new Vector();
+        v.addAll(attributes.keySet());
+
+        return v.elements();
+    }
+
+    public String getContextPath() {
+        return this.context;
+    }
+
+    public void setLocale(Locale locale) {
+        this.locale = locale;
+    }
+
+    public Locale getLocale() {
+        return locale;
+    }
+
+    public void setCharacterEncoding(String s) {
+        this.encoding = s;
+    }
+
+    public String getCharacterEncoding() {
+        return encoding;
+    }
+
+    public void setParameterMap(Map parameterMap) {
+        this.parameterMap = parameterMap;
+    }
+
+    public Map getParameterMap() {
+        return parameterMap;
+    }
+
+    public String getParameter(String string) {
+        return (String) parameterMap.get(string);
+    }
+
+    public Enumeration getParameterNames() {
+        return Collections.enumeration(parameterMap.keySet());
+    }
+
+    public String[] getParameterValues(String string) {
+        return (String[]) parameterMap.get(string);
+    }
+
+    public String getPathInfo() {
+        return pathInfo;
+    }
+
+    public void setQueryString(String queryString) {
+        this.queryString = queryString;
+    }
+
+    public String getQueryString() {
+        return queryString;
+    }
+
+    public RequestDispatcher getRequestDispatcher(String string) {
+        this.requestDispatherString = string;
+        return super.getRequestDispatcher(string);
+    }
+
+    /**
+     * Get's the source string that was used in the last getRequestDispatcher method call.
+     */
+    public String getRequestDispatherString() {
+        return requestDispatherString;
+    }
+
+    public void setRequestURI(String requestURI) {
+        this.requestURI = requestURI;
+    }
+
+    public String getRequestURI() {
+        return requestURI;
+    }
+
+    public void setScheme(String scheme) {
+        this.scheme = scheme;
+    }
+
+    public String getScheme() {
+        return scheme;
+    }
+
+    public void setServerName(String serverName) {
+        this.serverName = serverName;
+    }
+
+    public String getServerName() {
+        return serverName;
+    }
+
+    public void setServerPort(int serverPort) {
+        this.serverPort = serverPort;
+    }
+
+    public int getServerPort() {
+        return serverPort;
+    }
+
+    public HttpSession getSession() {
+        HttpSession session = null;
+
+        try {
+            session = super.getSession();
+        } catch (AssertionFailedError e) {
+            //ignore
+        }
+
+        if (session == null) {
+            session = new StrutsMockHttpSession();
+            setSession(session);
+        }
+
+        return session;
+    }
+
+    public void setupGetContext(String context) {
+        this.context = context;
+    }
+
+    public void setupGetPathInfo(String pathInfo) {
+        this.pathInfo = pathInfo;
+    }
+
+    public int getRemotePort() {
+        return 0;
+    }
+
+    public String getLocalName() {
+        return null;
+    }
+
+    public String getLocalAddr() {
+        return null;
+    }
+
+    public int getLocalPort() {
+        return 0;
+    }
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpServletResponse.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpServletResponse.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpServletResponse.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpServletResponse.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,98 @@
+/*
+ * $Id: StrutsMockHttpServletResponse.java 490622 2006-12-28 00:55:27Z mrdon $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Locale;
+
+import com.mockobjects.servlet.MockHttpServletResponse;
+
+
+/**
+ * StrutsMockHttpServletResponse
+ *
+ */
+public class StrutsMockHttpServletResponse extends MockHttpServletResponse {
+    private Locale locale;
+    private PrintWriter writer;
+    private int status;
+    private String redirectURL;
+
+    public Locale getLocale() {
+        return locale;
+    }
+
+    public void setLocale(Locale locale) {
+        this.locale = locale;
+    }
+
+    public String getContentType() {
+        return null;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    public PrintWriter getWriter() throws IOException {
+        if (writer == null)
+            return new PrintWriter(new ByteArrayOutputStream());
+        else
+            return writer;
+    }
+
+    public void setCharacterEncoding(String string) {
+        //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    public void setWriter(PrintWriter writer) {
+        this.writer = writer;
+    }
+
+    public String encodeURL(String s) {
+        return s;
+    }
+
+    public String encodeRedirectURL(String s) {
+        return s;
+    }
+
+    public String encodeUrl(String s) {
+        return s;
+    }
+
+    public void setStatus(int i) {
+        this.status = i;
+        super.setStatus(i);
+    }
+
+    public int getStatus() {
+        return status;
+    }
+
+
+    public String getRedirectURL() {
+        return redirectURL;
+    }
+
+    public void sendRedirect(String redirectURL) throws IOException {
+        this.redirectURL = redirectURL;
+        super.sendRedirect(redirectURL);
+    }
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpSession.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpSession.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpSession.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockHttpSession.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,69 @@
+/*
+ * $Id: StrutsMockHttpSession.java 471756 2006-11-06 15:01:43Z husted $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import java.util.Enumeration;
+import java.util.Hashtable;
+
+import com.mockobjects.servlet.MockHttpSession;
+
+
+/**
+ * StrutsMockHttpSession
+ *
+ */
+public class StrutsMockHttpSession extends MockHttpSession {
+
+    Hashtable attributes = new Hashtable();
+
+
+    public void setAttribute(String s, Object o) {
+        attributes.put(s, o);
+    }
+
+    public Object getAttribute(String s) {
+        return attributes.get(s);
+    }
+
+    public Enumeration getAttributeNames() {
+        return attributes.keys();
+    }
+
+    public void setExpectedAttribute(String s, Object o) {
+        throw new UnsupportedOperationException();
+    }
+
+    public void setExpectedRemoveAttribute(String s) {
+        throw new UnsupportedOperationException();
+    }
+
+    public void removeAttribute(String s) {
+        attributes.remove(s);
+    }
+
+    public void setupGetAttribute(String s, Object o) {
+        throw new UnsupportedOperationException();
+    }
+
+    public void setupGetAttributeNames(Enumeration enumeration) {
+        throw new UnsupportedOperationException();
+    }
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockJspWriter.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockJspWriter.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockJspWriter.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockJspWriter.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,170 @@
+/*
+ * $Id: StrutsMockJspWriter.java 471756 2006-11-06 15:01:43Z husted $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import java.io.IOException;
+import java.io.StringWriter;
+
+import javax.servlet.jsp.JspWriter;
+
+
+/**
+ * Unforunately, the MockJspWriter throws a NotImplementedException when any of the Writer methods are invoked and
+ * as you might guess, Velocity uses the Writer methods.  I'velocityEngine subclassed the MockJspWriter for the time being so
+ * that we can do testing on the results until MockJspWriter gets fully implemented.
+ * <p/>
+ * todo replace this once MockJspWriter implements Writer correctly (i.e. doesn't throw NotImplementException)
+ */
+public class StrutsMockJspWriter extends JspWriter {
+    StringWriter writer;
+
+    public StrutsMockJspWriter(StringWriter writer) {
+        super(1024, true);
+        this.writer = writer;
+    }
+
+    public void newLine() throws IOException {
+        writer.write("\n");
+    }
+
+    public void print(boolean b) throws IOException {
+        writer.write(String.valueOf(b));
+    }
+
+    public void print(char c) throws IOException {
+        writer.write(String.valueOf(c));
+    }
+
+    public void print(int i) throws IOException {
+        writer.write(i);
+    }
+
+    public void print(long l) throws IOException {
+        writer.write(String.valueOf(l));
+    }
+
+    public void print(float v) throws IOException {
+        writer.write(String.valueOf(v));
+    }
+
+    public void print(double v) throws IOException {
+        writer.write(String.valueOf(v));
+    }
+
+    public void print(char[] chars) throws IOException {
+        writer.write(chars);
+    }
+
+    public void print(String s) throws IOException {
+        writer.write(s);
+    }
+
+    public void print(Object o) throws IOException {
+        writer.write(o.toString());
+    }
+
+    public void println() throws IOException {
+        writer.write("\n");
+    }
+
+    public void println(boolean b) throws IOException {
+        print(b);
+        println();
+    }
+
+    public void println(char c) throws IOException {
+        print(c);
+        println();
+    }
+
+    public void println(int i) throws IOException {
+        print(i);
+        println();
+    }
+
+    public void println(long l) throws IOException {
+        print(l);
+        println();
+    }
+
+    public void println(float v) throws IOException {
+        print(v);
+        println();
+    }
+
+    public void println(double v) throws IOException {
+        print(v);
+        println();
+    }
+
+    public void println(char[] chars) throws IOException {
+        print(chars);
+        println();
+    }
+
+    public void println(String s) throws IOException {
+        print(s);
+        println();
+    }
+
+    public void println(Object o) throws IOException {
+        print(o);
+        println();
+    }
+
+    public void clear() throws IOException {
+    }
+
+    public void clearBuffer() throws IOException {
+    }
+
+    public void close() throws IOException {
+        writer.close();
+    }
+
+    public int getRemaining() {
+        return 0;
+    }
+
+    public void write(char cbuf[], int off, int len) throws IOException {
+        writer.write(cbuf, off, len);
+    }
+
+    public void write(String str) throws IOException {
+        writer.write(str);
+    }
+
+    public void write(int c) throws IOException {
+        writer.write(c);
+    }
+
+    public void write(char[] cbuf) throws IOException {
+        writer.write(cbuf);
+    }
+
+    public void write(String str, int off, int len) throws IOException {
+        writer.write(str, off, len);
+    }
+
+    public void flush() {
+        writer.flush();
+    }
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockPageContext.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockPageContext.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockPageContext.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockPageContext.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,82 @@
+/*
+ * $Id: StrutsMockPageContext.java 471756 2006-11-06 15:01:43Z husted $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+import com.mockobjects.servlet.MockPageContext;
+
+
+/**
+ */
+public class StrutsMockPageContext extends MockPageContext {
+
+    private Map attributes = new HashMap();
+    private ServletResponse response;
+
+
+    public void setAttribute(String s, Object o) {
+        if ((s == null) || (o == null)) {
+            throw new NullPointerException("PageContext does not accept null attributes");
+        }
+
+        this.attributes.put(s, o);
+    }
+
+    public Object getAttribute(String key) {
+        return attributes.get(key);
+    }
+
+    public Object getAttributes(String key) {
+        return this.attributes.get(key);
+    }
+
+    public void setResponse(ServletResponse response) {
+        this.response = response;
+    }
+
+    public ServletResponse getResponse() {
+        return response;
+    }
+
+    public HttpSession getSession() {
+        HttpSession session = super.getSession();
+
+        if (session == null) {
+            session = ((HttpServletRequest) getRequest()).getSession(true);
+        }
+
+        return session;
+    }
+
+    public Object findAttribute(String s) {
+        return attributes.get(s);
+    }
+
+    public void removeAttribute(String key) {
+        this.attributes.remove(key);
+    }
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockServletContext.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockServletContext.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockServletContext.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/StrutsMockServletContext.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,161 @@
+/*
+ * $Id: StrutsMockServletContext.java 471756 2006-11-06 15:01:43Z husted $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.Collections;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.Servlet;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+
+
+/**
+ * StrutsMockServletContext
+ *
+ */
+public class StrutsMockServletContext implements ServletContext {
+
+    String realPath;
+    String servletInfo;
+    Map initParams = new HashMap();
+    Map attributes = new HashMap();
+    InputStream resourceAsStream;
+
+    public void setInitParameter(String name, String value) {
+        initParams.put(name, value);
+    }
+
+    public void setRealPath(String value) {
+        realPath = value;
+    }
+
+    public String getRealPath(String string) {
+        return realPath;
+    }
+
+    public ServletContext getContext(String s) {
+        return null;
+    }
+
+    public int getMajorVersion() {
+        return 0;
+    }
+
+    public int getMinorVersion() {
+        return 0;
+    }
+
+    public String getMimeType(String s) {
+        return null;
+    }
+
+    public Set getResourcePaths(String s) {
+        return null;
+    }
+
+    public URL getResource(String s) throws MalformedURLException {
+        return null;
+    }
+
+    public InputStream getResourceAsStream(String s) {
+        if (resourceAsStream != null) {
+            return resourceAsStream;
+        }
+        return null;
+    }
+
+    public void setResourceAsStream(InputStream is) {
+        this.resourceAsStream = is;
+    }
+
+    public RequestDispatcher getRequestDispatcher(String s) {
+        return null;
+    }
+
+    public RequestDispatcher getNamedDispatcher(String s) {
+        return null;
+    }
+
+    public Servlet getServlet(String s) throws ServletException {
+        return null;
+    }
+
+    public Enumeration getServlets() {
+        return null;
+    }
+
+    public Enumeration getServletNames() {
+        return null;
+    }
+
+    public void log(String s) {
+    }
+
+    public void log(Exception e, String s) {
+    }
+
+    public void log(String s, Throwable throwable) {
+    }
+
+    public String getServerInfo() {
+        return servletInfo;
+    }
+
+    public String getInitParameter(String s) {
+        return (String) initParams.get(s);
+    }
+
+    public Enumeration getInitParameterNames() {
+        return Collections.enumeration(initParams.keySet());
+    }
+
+    public Object getAttribute(String s) {
+        return attributes.get(s);
+    }
+
+    public Enumeration getAttributeNames() {
+        return Collections.enumeration(attributes.keySet());
+    }
+
+    public void setAttribute(String s, Object o) {
+        attributes.put(s, o);
+    }
+
+    public void removeAttribute(String s) {
+        attributes.remove(s);
+    }
+
+    public String getServletContextName() {
+        return null;
+    }
+
+    public void setServletInfo(String servletInfo) {
+        this.servletInfo = servletInfo;
+    }
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/SubmitAjaxTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/SubmitAjaxTest.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/SubmitAjaxTest.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/SubmitAjaxTest.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,121 @@
+/*
+ * $Id: SubmitAjaxTest.java 508285 2007-02-16 02:42:24Z musachy $
+ *
+ * Copyright 2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+import org.apache.struts2.TestAction;
+
+/**
+ * Test Submit component in "ajax" theme.
+ */
+public class SubmitAjaxTest extends AbstractUITagTest {
+
+    public void testGenericSimple() throws Exception {
+        AbstractRemoteCallUITag tag = new DivTag();
+        verifyGenericProperties(tag, "simple", new String[]{"value","tabindex","disabled"});
+    }
+
+    public void testGenericXhtml() throws Exception {
+        AbstractRemoteCallUITag tag = new DivTag();
+        verifyGenericProperties(tag, "xhtml", new String[]{"value","tabindex","disabled"});
+    }
+
+    public void testGenericAjax() throws Exception {
+        AbstractRemoteCallUITag tag = new DivTag();
+        verifyGenericProperties(tag, "ajax", new String[]{"value","tabindex","disabled"});
+    }
+
+    public void testSubmit() throws Exception {
+        TestAction testAction = (TestAction) action;
+        testAction.setFoo("bar");
+
+        SubmitTag tag = new SubmitTag();
+        tag.setPageContext(pageContext);
+
+        tag.setId("a");
+        tag.setTheme("ajax");
+        tag.setHref("b");
+        tag.setLoadingText("c");
+        tag.setErrorText("d");
+        tag.setListenTopics("e");
+        tag.setPreInvokeJS("f");
+        tag.setOnLoadJS("g");
+        tag.setHandler("h");
+        tag.setType("submit");
+        tag.setLabel("i");
+        tag.setNotifyTopics("k");
+        tag.setIndicator("l");
+        tag.setShowLoadingText("true");
+        tag.doStartTag();
+        tag.doEndTag();
+
+        verify(SubmitAjaxTest.class.getResource("submit-ajax-1.txt"));
+    }
+
+    public void testButton() throws Exception {
+        TestAction testAction = (TestAction) action;
+        testAction.setFoo("bar");
+
+        SubmitTag tag = new SubmitTag();
+        tag.setPageContext(pageContext);
+
+        tag.setId("a");
+        tag.setTheme("ajax");
+        tag.setHref("b");
+        tag.setLoadingText("c");
+        tag.setErrorText("d");
+        tag.setListenTopics("e");
+        tag.setPreInvokeJS("f");
+        tag.setOnLoadJS("g");
+        tag.setHandler("h");
+        tag.setType("button");
+        tag.setLabel("i");
+        tag.setNotifyTopics("k");
+        tag.setIndicator("l");
+        tag.doStartTag();
+        tag.doEndTag();
+
+        verify(SubmitAjaxTest.class.getResource("submit-ajax-2.txt"));
+    }
+
+    public void testImage() throws Exception {
+        TestAction testAction = (TestAction) action;
+        testAction.setFoo("bar");
+
+        SubmitTag tag = new SubmitTag();
+        tag.setPageContext(pageContext);
+
+        tag.setId("a");
+        tag.setTheme("ajax");
+        tag.setHref("b");
+        tag.setLoadingText("c");
+        tag.setErrorText("d");
+        tag.setListenTopics("e");
+        tag.setPreInvokeJS("f");
+        tag.setOnLoadJS("g");
+        tag.setHandler("h");
+        tag.setType("image");
+        tag.setLabel("i");
+        tag.setSrc("j");
+        tag.setNotifyTopics("k");
+        tag.setIndicator("l");
+        tag.doStartTag();
+        tag.doEndTag();
+
+        verify(SubmitAjaxTest.class.getResource("submit-ajax-3.txt"));
+    }
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/TreeTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/TreeTest.java?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/TreeTest.java (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/java/org/apache/struts2/views/jsp/ui/TreeTest.java Fri Mar  2 21:48:54 2007
@@ -0,0 +1,135 @@
+/*
+ * $Id: TreeTest.java 471756 2006-11-06 15:01:43Z husted $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.views.jsp.ui;
+
+
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionSupport;
+
+/**
+ * Test case for Tree component.
+ */
+public class TreeTest extends AbstractUITagTest{
+
+    public void testStaticTree() throws Exception {
+        // Root
+        TreeTag tag = new TreeTag();
+        tag.setShowRootGrid("false");
+        tag.setShowGrid("false");
+        tag.setTemplateCssPath("/struts/tree.css");
+        tag.setTheme("ajax");
+        tag.setPageContext(pageContext);
+        tag.setId("rootId");
+        tag.setLabel("Root");
+        tag.doStartTag();
+
+            // Child 1
+            TreeNodeTag nodeTag1 = new TreeNodeTag();
+            nodeTag1.setTheme("ajax");
+            nodeTag1.setPageContext(pageContext);
+            nodeTag1.setId("child1");
+            nodeTag1.setLabel("Child 1");
+            nodeTag1.doStartTag();
+            nodeTag1.doEndTag();
+
+            // Child 2
+            TreeNodeTag nodeTag2 = new TreeNodeTag();
+            nodeTag2.setTheme("ajax");
+            nodeTag2.setPageContext(pageContext);
+            nodeTag2.setId("child2");
+            nodeTag2.setLabel("Child 2");
+            nodeTag2.doStartTag();
+
+                // Grand Child 1
+                TreeNodeTag gNodeTag1 = new TreeNodeTag();
+                gNodeTag1.setTheme("ajax");
+                gNodeTag1.setPageContext(pageContext);
+                gNodeTag1.setId("gChild1");
+                gNodeTag1.setLabel("Grand Child 1");
+                gNodeTag1.doStartTag();
+                gNodeTag1.doEndTag();
+
+                // Grand Child 2
+                TreeNodeTag gNodeTag2 = new TreeNodeTag();
+                gNodeTag2.setTheme("ajax");
+                gNodeTag2.setPageContext(pageContext);
+                gNodeTag2.setId("gChild2");
+                gNodeTag2.setLabel("Grand Child 2");
+                gNodeTag2.doStartTag();
+                gNodeTag2.doEndTag();
+
+                // Grand Child 3
+                TreeNodeTag gNodeTag3= new TreeNodeTag();
+                gNodeTag3.setTheme("ajax");
+                gNodeTag3.setPageContext(pageContext);
+                gNodeTag3.setId("gChild3");
+                gNodeTag3.setLabel("Grand Child 3");
+                gNodeTag3.doStartTag();
+                gNodeTag3.doEndTag();
+
+            nodeTag2.doEndTag();
+
+
+            // Child 3
+            TreeNodeTag nodeTag3 = new TreeNodeTag();
+            nodeTag3.setTheme("ajax");
+            nodeTag3.setPageContext(pageContext);
+            nodeTag3.setId("child3");
+            nodeTag3.setLabel("Child 4");
+            nodeTag3.doStartTag();
+            nodeTag3.doEndTag();
+
+        tag.doEndTag();
+
+        //System.out.println(writer.toString());
+        verify(TreeTest.class.getResource("tree-1.txt"));
+    }
+
+
+
+    public void testDynamicTree() throws Exception {
+
+        TreeTag tag = new TreeTag();
+        tag.setPageContext(pageContext);
+        tag.setTheme("ajax");
+        tag.setId("myTree");
+        tag.setRootNode("%{myTreeRoot}");
+        tag.setNodeIdProperty("id");
+        tag.setNodeTitleProperty("name");
+        tag.setChildCollectionProperty("children");
+        tag.doStartTag();
+        tag.doEndTag();
+
+        //System.out.println(writer.toString());
+        verify(TreeTest.class.getResource("tree-2.txt"));
+    }
+
+
+    public Action getAction() {
+        return new InternalActionSupport();
+    }
+
+    public static class InternalActionSupport extends ActionSupport {
+        public Category getMyTreeRoot() {
+            return Category.getById(1);
+        }
+    }
+}

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-1.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-1.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-1.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,20 @@
+<input
+ dojoType="struts:ComboBox"
+ id="f"
+ dataUrl="a"
+ forceValidOption="false"
+ searchType="B"
+ autoComplete="true"
+ searchDelay="100"
+ dropdownWidth="10"
+ dropdownHeight="10"
+ name="f"
+ keyName="i"
+ initialValue="g"
+ indicator="h"
+ loadOnType="true"
+ loadMinimum="3"
+ visibleDownArrow="false"
+ buttonSrc="i"
+ templateCssPath="j"
+ dataFieldName="k">

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-2.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-2.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-2.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/Autocompleter-2.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,18 @@
+<select
+ dojoType="struts:ComboBox"
+ id="f"
+ dataUrl="a"
+ forceValidOption="false"
+ searchType="B"
+ autoComplete="true"
+ searchDelay="100"
+ dropdownWidth="10"
+ dropdownHeight="10"
+ name="f"
+ keyName="fKey"
+ buttonSrc="i"
+ templateCssPath="j"
+ >
+ 	<option value="d">d</option>
+ 	<option value="e">e</option>
+</select>

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/DateTimePickerTagTest-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/DateTimePickerTagTest-1.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/DateTimePickerTagTest-1.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/DateTimePickerTagTest-1.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,23 @@
+<tr>
+    <td class="tdLabel"></td>
+    <td>
+    <script type="text/javascript">
+	    dojo.require("dojo.widget.DatePicker");
+	</script>
+    
+    <div dojoType="dropdowndatepicker" 
+         id="id"
+         lang="i"
+         name="dojo.h"
+         inputName="h"
+         displayWeeks="true"
+         adjustWeeks="true"
+         startDate="e"
+         endDate="d"
+         weekStartsOn="g"
+         staticDisplay="false"
+         templateCssPath="j"
+         saveFormat="rfc">
+    </div>
+</td>
+</tr>

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-1.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-1.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-1.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,12 @@
+<script type="text/javascript">
+  dojo.require("dojo.widget.TabContainer");
+  dojo.require("dojo.widget.LinkPane");
+  dojo.require("dojo.widget.ContentPane");
+</script>
+<div
+    dojoType="TabContainer"
+    selectedTab="a"
+    labelPosition="b"
+    closeButton="c"
+    doLayout="true">
+</div>
\ No newline at end of file

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-2.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-2.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-2.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-2.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,9 @@
+<script type="text/javascript">
+  dojo.require("dojo.widget.TabContainer");
+  dojo.require("dojo.widget.LinkPane");
+  dojo.require("dojo.widget.ContentPane");
+</script>
+<div
+    dojoType="TabContainer"
+    doLayout="false">
+</div>
\ No newline at end of file

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-3.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-3.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-3.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-3.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,10 @@
+<script type="text/javascript">
+  dojo.require("dojo.widget.TabContainer");
+  dojo.require("dojo.widget.LinkPane");
+  dojo.require("dojo.widget.ContentPane");
+</script>
+<div
+    dojoType="TabContainer"
+    labelPosition="right-h"
+    doLayout="true">
+</div>
\ No newline at end of file

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-4.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-4.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-4.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/TabbedPanel-4.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,10 @@
+<script type="text/javascript">
+  dojo.require("dojo.widget.TabContainer");
+  dojo.require("dojo.widget.LinkPane");
+  dojo.require("dojo.widget.ContentPane");
+</script>
+<div
+    dojoType="TabContainer"
+    labelPosition="left-h"
+    doLayout="false">
+</div>
\ No newline at end of file

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/div-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/div-1.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/div-1.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/div-1.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,21 @@
+<div
+  dojoType="struts:BindDiv"
+  delay="4000"
+  updateFreq="1000"
+  autoStart="true"
+  startTimerListenTopics="h"
+  stopTimerListenTopics="i"
+  refreshOnShow="true"
+  scriptSeparation="false"
+  id="mylabel"
+  href="a"
+  loadingText="b"
+  errorText="c"
+  listenTopics="g"
+  beforeLoading="j"
+  afterLoading="k"
+  handler="l"
+  indicator="m"
+  showError="true"
+  showLoading="true">
+</div>

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/href-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/href-1.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/href-1.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/href-1.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,16 @@
+<a
+ dojoType="struts:BindAnchor"
+ id="mylink"
+ href="a"
+ loadingText="d"
+ errorText="c"
+ listenTopics="g"
+ notifyTopics="j"
+ beforeLoading="f"
+ afterLoading="e"
+ targets="h"
+ handler="i"
+ indicator="k"
+ showError="true"
+ showLoading="true">
+</a>

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-1.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-1.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-1.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,23 @@
+<tr>
+    <td colspan="2"><div align="right">
+<input
+  type="submit"
+  dojoType="struts:Bind"
+  event="onclick"
+  value="Submit"
+  id="a"
+  label="i"
+  href="b"
+  loadingText="c"
+  errorText="d"
+  listenTopics="e"
+  notifyTopics="k"
+  beforeLoading="f"
+  afterLoading="g"
+  handler="h"
+  indicator="l"
+  showLoading="true"
+  />
+  </div>
+  </td>
+  </tr>

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-2.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-2.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-2.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-2.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,22 @@
+<tr>
+    <td colspan="2"><div align="right">
+<input
+  type="button"
+  dojoType="struts:Bind"
+  event="onclick"
+  id="a"
+  label="i"
+  href="b"
+  loadingText="c"
+  errorText="d"
+  listenTopics="e"
+  notifyTopics="k"
+  beforeLoading="f"
+  afterLoading="g"
+  handler="h"
+  indicator="l"
+  value="i"
+  />
+  </div>
+  </td>
+  </tr>

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-3.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-3.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-3.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/submit-ajax-3.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,24 @@
+<tr>
+    <td colspan="2"><div align="right">
+<input
+  type="image"
+  dojoType="struts:Bind"
+  event="onclick"
+  alt="i"
+  src="j"
+  value="Submit"
+  id="a"
+  label="i"
+  href="b"
+  loadingText="c"
+  errorText="d"
+  listenTopics="e"
+  notifyTopics="k"
+  beforeLoading="f"
+  afterLoading="g"
+  handler="h"
+  indicator="l"
+  />
+  </div>
+  </td>
+  </tr>

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/tree-1.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/tree-1.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/tree-1.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/tree-1.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,42 @@
+<script language="JavaScript" type="text/javascript">
+        <!--
+        dojo.require("dojo.lang.*");
+        dojo.require("dojo.widget.*");
+        dojo.require("dojo.widget.Tree");
+        // dojo.hostenv.writeIncludes();
+        -->
+ </script>
+<div dojoType="Tree"   
+		templateCssPath="/struts/tree.css"
+	showGrid="false"
+	showRootGrid="false"
+    id="rootId"
+    toggle="fade"
+    >
+    <div dojoType="TreeNode" title="Root" id="rootId_root"
+    >
+<div dojoType="TreeNode" 
+	    id="child1"
+    title="Child 1">
+</div>
+<div dojoType="TreeNode" 
+	    id="child2"
+    title="Child 2">
+<div dojoType="TreeNode" 
+	    id="gChild1"
+    title="Grand Child 1">
+</div>
+<div dojoType="TreeNode" 
+	    id="gChild2"
+    title="Grand Child 2">
+</div>
+<div dojoType="TreeNode" 
+	    id="gChild3"
+    title="Grand Child 3">
+</div>
+</div>
+<div dojoType="TreeNode" 
+	    id="child3"
+    title="Child 4">
+</div>
+</div></div>
\ No newline at end of file

Added: struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/tree-2.txt
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/tree-2.txt?view=auto&rev=514083
==============================================================================
--- struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/tree-2.txt (added)
+++ struts/struts2/trunk/plugins/dojo/src/test/resources/org/apache/struts2/views/jsp/ui/tree-2.txt Fri Mar  2 21:48:54 2007
@@ -0,0 +1,64 @@
+<script language="JavaScript" type="text/javascript">
+        <!--
+        dojo.require("dojo.lang.*");
+        dojo.require("dojo.widget.*");
+        dojo.require("dojo.widget.Tree");
+        // dojo.hostenv.writeIncludes();
+        -->
+ </script>
+<div dojoType="Tree"   
+	    id="myTree"
+    toggle="fade"
+    >
+    
+<div dojoType="TreeNode" title="Root" id="1">
+    
+<div dojoType="TreeNode" title="Java" id="2">
+    
+<div dojoType="TreeNode" title="Web Frameworks" id="3">
+    
+<div dojoType="TreeNode" title="Struts" id="4">
+</div>
+    
+<div dojoType="TreeNode" title="Stripes" id="7">
+</div>
+    
+<div dojoType="TreeNode" title="Rife" id="8">
+</div>
+</div>
+    
+<div dojoType="TreeNode" title="Persistence" id="9">
+    
+<div dojoType="TreeNode" title="iBatis" id="10">
+</div>
+    
+<div dojoType="TreeNode" title="Hibernate" id="11">
+</div>
+    
+<div dojoType="TreeNode" title="JDO" id="12">
+</div>
+    
+<div dojoType="TreeNode" title="JDBC" id="13">
+</div>
+</div>
+</div>
+    
+<div dojoType="TreeNode" title="JavaScript" id="14">
+    
+<div dojoType="TreeNode" title="Dojo" id="15">
+</div>
+    
+<div dojoType="TreeNode" title="Prototype" id="16">
+</div>
+    
+<div dojoType="TreeNode" title="Scriptaculous" id="17">
+</div>
+    
+<div dojoType="TreeNode" title="OpenRico" id="18">
+</div>
+    
+<div dojoType="TreeNode" title="DWR" id="19">
+</div>
+</div>
+</div>
+</div>
\ No newline at end of file