You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by nb...@apache.org on 2008/07/01 02:50:46 UTC

svn commit: r672964 - in /velocity/engine/trunk: src/test/org/apache/velocity/test/issues/ test/issues/velocity-537/ test/issues/velocity-537/compare/ test/issues/velocity-537/templates/ test/issues/velocity-580/ test/issues/velocity-580/compare/ test/...

Author: nbubna
Date: Mon Jun 30 17:50:45 2008
New Revision: 672964

URL: http://svn.apache.org/viewvc?rev=672964&view=rev
Log:
unit tests (currently failing) for VELOCITY-580 and VELOCITY-537 (to help others investigate)

Added:
    velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity537TestCase.java   (with props)
    velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity580TestCase.java   (with props)
    velocity/engine/trunk/test/issues/velocity-537/
    velocity/engine/trunk/test/issues/velocity-537/compare/
    velocity/engine/trunk/test/issues/velocity-537/compare/velocity537.vm.cmp   (with props)
    velocity/engine/trunk/test/issues/velocity-537/templates/
    velocity/engine/trunk/test/issues/velocity-537/templates/velocity537.vm   (with props)
    velocity/engine/trunk/test/issues/velocity-580/
    velocity/engine/trunk/test/issues/velocity-580/compare/
    velocity/engine/trunk/test/issues/velocity-580/compare/velocity580.vm.cmp   (with props)
    velocity/engine/trunk/test/issues/velocity-580/templates/
    velocity/engine/trunk/test/issues/velocity-580/templates/velocity580.vm   (with props)

Added: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity537TestCase.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity537TestCase.java?rev=672964&view=auto
==============================================================================
--- velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity537TestCase.java (added)
+++ velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity537TestCase.java Mon Jun 30 17:50:45 2008
@@ -0,0 +1,114 @@
+package org.apache.velocity.test.issues;
+
+/*
+ * 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.
+ */
+
+import java.io.BufferedWriter;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.apache.velocity.runtime.RuntimeSingleton;
+import org.apache.velocity.runtime.log.NullLogChute;
+import org.apache.velocity.test.BaseTestCase;
+
+/**
+ * Test Case for <a href="https://issues.apache.org/jira/browse/VELOCITY-537">Velocity Issue 537</a>.
+ */
+public class Velocity537TestCase extends BaseTestCase
+{
+    /**
+     * Comparison file extension.
+     */
+    private static final String CMP_FILE_EXT    = "cmp";
+
+    /**
+     * Comparison file extension.
+     */
+    private static final String RESULT_FILE_EXT = "res";
+
+    /**
+     * Results relative to the build directory.
+     */
+    private static final String RESULTS_DIR     = TEST_RESULT_DIR + "/issues/velocity-537";
+
+    /**
+     * Template Directory
+     */
+    private static final String TEMPLATE_DIR    = TEST_COMPARE_DIR + "/issues/velocity-537/templates";
+
+    /**
+     * Results relative to the build directory.
+     */
+    private static final String COMPARE_DIR     = TEST_COMPARE_DIR + "/issues/velocity-537/compare";
+
+    public Velocity537TestCase(final String name) throws Exception
+    {
+        super(name);
+    }
+
+    public static Test suite()
+    {
+        return new TestSuite(Velocity537TestCase.class);
+    }
+
+    public void setUp() throws Exception
+    {
+
+        assureResultsDirectoryExists(RESULTS_DIR);
+
+        Velocity.addProperty(Velocity.FILE_RESOURCE_LOADER_PATH, TEMPLATE_DIR);
+
+        Velocity.setProperty(Velocity.RUNTIME_LOG_LOGSYSTEM_CLASS, NullLogChute.class.getName());
+
+        Velocity.init();
+    }
+
+    public void testVelocity537() throws Exception
+    {
+        executeTest("velocity537.vm");
+    }
+
+    protected Template executeTest(final String templateName) throws Exception
+    {
+        Template template = RuntimeSingleton.getTemplate(templateName);
+
+        FileOutputStream fos = new FileOutputStream(getFileName(RESULTS_DIR, templateName, RESULT_FILE_EXT));
+
+        Writer writer = new BufferedWriter(new OutputStreamWriter(fos));
+
+        VelocityContext context = new VelocityContext();
+
+        template.merge(context, writer);
+        writer.flush();
+        writer.close();
+
+        if (!isMatch(RESULTS_DIR, COMPARE_DIR, templateName, RESULT_FILE_EXT, CMP_FILE_EXT))
+        {
+            // just to be useful, output the output in the fail message
+            StringWriter out = new StringWriter();
+            template.merge(context, out);
+
+            String compare = getFileContents(COMPARE_DIR, templateName, CMP_FILE_EXT);
+
+            fail("Output incorrect for Template: " + templateName + ": \""+out+"\""+
+                 "; it did not match: \""+compare+"\"");
+        }
+
+        return template;
+    }
+}

Propchange: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity537TestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity537TestCase.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity537TestCase.java
------------------------------------------------------------------------------
    svn:keywords = Revision

Propchange: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity537TestCase.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity580TestCase.java
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity580TestCase.java?rev=672964&view=auto
==============================================================================
--- velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity580TestCase.java (added)
+++ velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity580TestCase.java Mon Jun 30 17:50:45 2008
@@ -0,0 +1,114 @@
+package org.apache.velocity.test.issues;
+
+/*
+ * 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.
+ */
+
+import java.io.BufferedWriter;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.io.StringWriter;
+import java.io.Writer;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.velocity.Template;
+import org.apache.velocity.VelocityContext;
+import org.apache.velocity.app.Velocity;
+import org.apache.velocity.runtime.RuntimeSingleton;
+import org.apache.velocity.runtime.log.NullLogChute;
+import org.apache.velocity.test.BaseTestCase;
+
+/**
+ * Test Case for <a href="https://issues.apache.org/jira/browse/VELOCITY-580">Velocity Issue 580</a>.
+ */
+public class Velocity580TestCase extends BaseTestCase
+{
+    /**
+     * Comparison file extension.
+     */
+    private static final String CMP_FILE_EXT    = "cmp";
+
+    /**
+     * Comparison file extension.
+     */
+    private static final String RESULT_FILE_EXT = "res";
+
+    /**
+     * Results relative to the build directory.
+     */
+    private static final String RESULTS_DIR     = TEST_RESULT_DIR + "/issues/velocity-580";
+
+    /**
+     * Template Directory
+     */
+    private static final String TEMPLATE_DIR    = TEST_COMPARE_DIR + "/issues/velocity-580/templates";
+
+    /**
+     * Results relative to the build directory.
+     */
+    private static final String COMPARE_DIR     = TEST_COMPARE_DIR + "/issues/velocity-580/compare";
+
+    public Velocity580TestCase(final String name) throws Exception
+    {
+        super(name);
+    }
+
+    public static Test suite()
+    {
+        return new TestSuite(Velocity580TestCase.class);
+    }
+
+    public void setUp() throws Exception
+    {
+
+        assureResultsDirectoryExists(RESULTS_DIR);
+
+        Velocity.addProperty(Velocity.FILE_RESOURCE_LOADER_PATH, TEMPLATE_DIR);
+
+        Velocity.setProperty(Velocity.RUNTIME_LOG_LOGSYSTEM_CLASS, NullLogChute.class.getName());
+
+        Velocity.init();
+    }
+
+    public void testVelocity580() throws Exception
+    {
+        executeTest("velocity580.vm");
+    }
+
+    protected Template executeTest(final String templateName) throws Exception
+    {
+        Template template = RuntimeSingleton.getTemplate(templateName);
+
+        FileOutputStream fos = new FileOutputStream(getFileName(RESULTS_DIR, templateName, RESULT_FILE_EXT));
+
+        Writer writer = new BufferedWriter(new OutputStreamWriter(fos));
+
+        VelocityContext context = new VelocityContext();
+
+        template.merge(context, writer);
+        writer.flush();
+        writer.close();
+
+        if (!isMatch(RESULTS_DIR, COMPARE_DIR, templateName, RESULT_FILE_EXT, CMP_FILE_EXT))
+        {
+            // just to be useful, output the output in the fail message
+            StringWriter out = new StringWriter();
+            template.merge(context, out);
+
+            String compare = getFileContents(COMPARE_DIR, templateName, CMP_FILE_EXT);
+
+            fail("Output incorrect for Template: " + templateName + ": \""+out+"\""+
+                 "; it did not match: \""+compare+"\"");
+        }
+
+        return template;
+    }
+}

Propchange: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity580TestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity580TestCase.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity580TestCase.java
------------------------------------------------------------------------------
    svn:keywords = Revision

Propchange: velocity/engine/trunk/src/test/org/apache/velocity/test/issues/Velocity580TestCase.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: velocity/engine/trunk/test/issues/velocity-537/compare/velocity537.vm.cmp
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/test/issues/velocity-537/compare/velocity537.vm.cmp?rev=672964&view=auto
==============================================================================
    (empty)

Propchange: velocity/engine/trunk/test/issues/velocity-537/compare/velocity537.vm.cmp
------------------------------------------------------------------------------
    svn:executable = *

Added: velocity/engine/trunk/test/issues/velocity-537/templates/velocity537.vm
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/test/issues/velocity-537/templates/velocity537.vm?rev=672964&view=auto
==============================================================================
--- velocity/engine/trunk/test/issues/velocity-537/templates/velocity537.vm (added)
+++ velocity/engine/trunk/test/issues/velocity-537/templates/velocity537.vm Mon Jun 30 17:50:45 2008
@@ -0,0 +1,3 @@
+#macro( test )#*
+*##end
+#test()
\ No newline at end of file

Propchange: velocity/engine/trunk/test/issues/velocity-537/templates/velocity537.vm
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/engine/trunk/test/issues/velocity-537/templates/velocity537.vm
------------------------------------------------------------------------------
    svn:executable = *

Propchange: velocity/engine/trunk/test/issues/velocity-537/templates/velocity537.vm
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: velocity/engine/trunk/test/issues/velocity-580/compare/velocity580.vm.cmp
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/test/issues/velocity-580/compare/velocity580.vm.cmp?rev=672964&view=auto
==============================================================================
--- velocity/engine/trunk/test/issues/velocity-580/compare/velocity580.vm.cmp (added)
+++ velocity/engine/trunk/test/issues/velocity-580/compare/velocity580.vm.cmp Mon Jun 30 17:50:45 2008
@@ -0,0 +1 @@
+beforeafter

Propchange: velocity/engine/trunk/test/issues/velocity-580/compare/velocity580.vm.cmp
------------------------------------------------------------------------------
    svn:executable = *

Added: velocity/engine/trunk/test/issues/velocity-580/templates/velocity580.vm
URL: http://svn.apache.org/viewvc/velocity/engine/trunk/test/issues/velocity-580/templates/velocity580.vm?rev=672964&view=auto
==============================================================================
--- velocity/engine/trunk/test/issues/velocity-580/templates/velocity580.vm (added)
+++ velocity/engine/trunk/test/issues/velocity-580/templates/velocity580.vm Mon Jun 30 17:50:45 2008
@@ -0,0 +1,5 @@
+#macro(someMacro )
+before#*
+    *#after
+#end
+#someMacro()

Propchange: velocity/engine/trunk/test/issues/velocity-580/templates/velocity580.vm
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: velocity/engine/trunk/test/issues/velocity-580/templates/velocity580.vm
------------------------------------------------------------------------------
    svn:executable = *

Propchange: velocity/engine/trunk/test/issues/velocity-580/templates/velocity580.vm
------------------------------------------------------------------------------
    svn:mime-type = text/plain