freemarker-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ddek...@apache.org
Subject [02/12] freemarker git commit: Continued work on TemplateLanguage configuration and new file extensions: Renamed all *.ftl*-s (in tests) to the new file extensions.
Date Thu, 12 Apr 2018 17:17:08 GMT
http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns4.f3ac
----------------------------------------------------------------------
diff --git a/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns4.f3ac b/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns4.f3ac
new file mode 100644
index 0000000..1b7ea1e
--- /dev/null
+++ b/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns4.f3ac
@@ -0,0 +1,70 @@
+<#ftl nsPrefixes = {"x" : "http://x", "y" : "http://y"}>
+<#--
+  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.
+-->
+<#recurse doc >
+
+<#macro book>
+  <html>
+    <head>
+      <title><#recurse .node["x:title"]></title>
+    </head>
+    <body>
+      <h1><#recurse .node["x:title"]></h1>
+      <#recurse>
+    </body>
+  </html>
+</#macro>
+
+<#macro chapter>
+  <h2><#recurse .node["y:title"]></h2>
+  <#recurse>
+</#macro>
+
+<#macro x\:chapter>
+  <h2><#recurse .node["y:title"]></h2>
+  <#recurse>
+</#macro>
+
+<#macro para>
+  <p><#recurse>
+</#macro>
+
+<#macro x\:para>
+  <p><#recurse>
+</#macro>
+
+<#macro y\:para>
+  <p><#recurse>
+</#macro>
+
+<#macro x\:title>
+  <#--
+    We have handled this element imperatively,
+    so we do nothing here.
+  -->
+</#macro>
+
+<#macro y\:title>
+  <#--
+    We have handled this element imperatively,
+    so we do nothing here.
+  -->
+</#macro>
+
+<#macro @text>${.node?html}</#macro>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns4.ftl
----------------------------------------------------------------------
diff --git a/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns4.ftl b/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns4.ftl
deleted file mode 100644
index 1b7ea1e..0000000
--- a/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns4.ftl
+++ /dev/null
@@ -1,70 +0,0 @@
-<#ftl nsPrefixes = {"x" : "http://x", "y" : "http://y"}>
-<#--
-  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.
--->
-<#recurse doc >
-
-<#macro book>
-  <html>
-    <head>
-      <title><#recurse .node["x:title"]></title>
-    </head>
-    <body>
-      <h1><#recurse .node["x:title"]></h1>
-      <#recurse>
-    </body>
-  </html>
-</#macro>
-
-<#macro chapter>
-  <h2><#recurse .node["y:title"]></h2>
-  <#recurse>
-</#macro>
-
-<#macro x\:chapter>
-  <h2><#recurse .node["y:title"]></h2>
-  <#recurse>
-</#macro>
-
-<#macro para>
-  <p><#recurse>
-</#macro>
-
-<#macro x\:para>
-  <p><#recurse>
-</#macro>
-
-<#macro y\:para>
-  <p><#recurse>
-</#macro>
-
-<#macro x\:title>
-  <#--
-    We have handled this element imperatively,
-    so we do nothing here.
-  -->
-</#macro>
-
-<#macro y\:title>
-  <#--
-    We have handled this element imperatively,
-    so we do nothing here.
-  -->
-</#macro>
-
-<#macro @text>${.node?html}</#macro>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns5.f3ac
----------------------------------------------------------------------
diff --git a/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns5.f3ac b/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns5.f3ac
new file mode 100644
index 0000000..de864a8
--- /dev/null
+++ b/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns5.f3ac
@@ -0,0 +1,28 @@
+<#ftl nsPrefixes = {"D": "http://y.com", "xx" : "http://x.com"}>
+<#--
+  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.
+-->
+<#assign r = doc["N:root"]>
+${r["N:t1"][0]!'-'} = No NS
+${r["xx:t2"][0]!'-'} = x NS
+${r["t3"][0]!'-'} = y NS
+${r["xx:t4"][0]!'-'} = x NS
+${r["//t1"][0]!'-'} = No NS
+${r["//t2"][0]!'-'} = -
+${r["//t3"][0]!'-'} = -
+${r["//t4"][0]!'-'} = -

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns5.ftl
----------------------------------------------------------------------
diff --git a/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns5.ftl b/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns5.ftl
deleted file mode 100644
index de864a8..0000000
--- a/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/templates/xmlns5.ftl
+++ /dev/null
@@ -1,28 +0,0 @@
-<#ftl nsPrefixes = {"D": "http://y.com", "xx" : "http://x.com"}>
-<#--
-  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.
--->
-<#assign r = doc["N:root"]>
-${r["N:t1"][0]!'-'} = No NS
-${r["xx:t2"][0]!'-'} = x NS
-${r["t3"][0]!'-'} = y NS
-${r["xx:t4"][0]!'-'} = x NS
-${r["//t1"][0]!'-'} = No NS
-${r["//t2"][0]!'-'} = -
-${r["//t3"][0]!'-'} = -
-${r["//t4"][0]!'-'} = -

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/testcases.xml
----------------------------------------------------------------------
diff --git a/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/testcases.xml b/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/testcases.xml
index 5c32215..c30030f 100644
--- a/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/testcases.xml
+++ b/freemarker-dom/src/test/resources/org/apache/freemarker/dom/templatesuite/testcases.xml
@@ -27,7 +27,7 @@
                expected CDATA #IMPLIED
                noOutput CDATA #IMPLIED
      >
-     <!-- The default of `template` is "${name?keep_before('[#endTN]')}.ftl" -->
+     <!-- The default of `template` is "${name?keep_before('[#endTN]')}.f3ac" -->
      <!-- The default of `expected` is "${name}.txt" -->
      <!-- The default of `noOutput` is false -->
      
@@ -57,9 +57,9 @@ Note that for the incompatibleImprovements setting you can specify a list of ver
    <testCase name="default-xmlns" />
    <testCase name="xml-fragment" />
    <testCase name="xmlns1" />
-   <testCase name="xmlns2" template="xmlns1.ftl"  expected="xmlns1.txt" />
+   <testCase name="xmlns2" template="xmlns1.f3ac"  expected="xmlns1.txt" />
    <testCase name="xmlns3" />
    <testCase name="xmlns4" />
    <testCase name="xmlns5" />
-   <testCase name="xml-ns_prefix-scope" template="xml-ns_prefix-scope-main.ftl" />
+   <testCase name="xml-ns_prefix-scope" template="xml-ns_prefix-scope-main.f3ac" />
 </testCases>

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/WebAppTemplateLoaderTest.java
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/WebAppTemplateLoaderTest.java b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/WebAppTemplateLoaderTest.java
index ecf5049..be15048 100644
--- a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/WebAppTemplateLoaderTest.java
+++ b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/WebAppTemplateLoaderTest.java
@@ -37,7 +37,7 @@ public class WebAppTemplateLoaderTest {
 
     @Test
     public void testTemplateFound() throws Exception {
-        assertThat(createConfiguration().getTemplate("test.ftl").toString(), endsWith("foo"));
+        assertThat(createConfiguration().getTemplate("test.f3ah").toString(), endsWith("foo"));
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
index 860f6bd..bd4a75d 100644
--- a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
+++ b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/jsp/RealServletContainertTest.java
@@ -78,12 +78,12 @@ public class RealServletContainertTest extends WebAppTestCase {
     @Test
     @Ignore  // c:forEach fails because of EL context issues
     public void basicTrivialJSTL() throws Exception {
-        assertOutputsEqual(WEBAPP_BASIC, "tester?view=trivial.jsp", "tester?view=trivial-jstl-@Ignore.ftl");        
+        assertOutputsEqual(WEBAPP_BASIC, "tester?view=trivial.jsp", "tester?view=trivial-jstl-@Ignore.f3ah");        
     }
 
     @Test
     public void basicCustomTags1() throws Exception {
-        assertExpectedEqualsOutput(WEBAPP_BASIC, "customTags1.txt", "tester?view=customTags1.ftl", false);
+        assertExpectedEqualsOutput(WEBAPP_BASIC, "customTags1.txt", "tester?view=customTags1.f3ah", false);
     }
 
     @Test
@@ -91,12 +91,12 @@ public class RealServletContainertTest extends WebAppTestCase {
         restartWebAppIfStarted(WEBAPP_BASIC);  // To clear the application scope attributes
         assertExpectedEqualsOutput(WEBAPP_BASIC, "attributes.txt", "tester"
                 + "?action=" + AllKindOfContainersModel2Action.class.getName()
-                + "&view=attributes.ftl");
+                + "&view=attributes.f3ah");
 
         restartWebAppIfStarted(WEBAPP_BASIC);  // To clear the application scope attributes
         assertExpectedEqualsOutput(WEBAPP_BASIC, "attributes-modernModels.txt", "tester"
                 + "?action=" + AllKindOfContainersModel2Action.class.getName()
-                + "&view=attributes.ftl&viewServlet=freemarker-modernModels");
+                + "&view=attributes.f3ah&viewServlet=freemarker-modernModels");
         // [FM3] Won't need the "modern" servlet as soon as DOW defaults change to recommended values
     }
 
@@ -109,7 +109,7 @@ public class RealServletContainertTest extends WebAppTestCase {
     @Test
     public void basicELFunctionsTagNameClash() throws Exception {
         // System.out.println(getResponseContent(WEBAPP_BASIC, "tester?view=elFunctionsTagNameClash.jsp"));
-        // System.out.println(getResponseContent(WEBAPP_BASIC, "tester?view=elFunctionsTagNameClash.ftl"));
+        // System.out.println(getResponseContent(WEBAPP_BASIC, "tester?view=elFunctionsTagNameClash.f3ah"));
         assertJSPAndFTLOutputEquals(WEBAPP_BASIC, "tester?view=elFunctionsTagNameClash");
     }
     
@@ -117,7 +117,7 @@ public class RealServletContainertTest extends WebAppTestCase {
     public void tldDiscoveryBasic() throws Exception {
         try {
             restartWebAppIfStarted(WEBAPP_TLD_DISCOVERY);
-            assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "test1.txt", "tester?view=test1.ftl");
+            assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "test1.txt", "tester?view=test1.f3ah");
         } finally {
             JspTestFreemarkerServlet.resetToDefaults();
         }
@@ -128,7 +128,7 @@ public class RealServletContainertTest extends WebAppTestCase {
         try {
             restartWebAppIfStarted(WEBAPP_TLD_DISCOVERY);
             assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "test1.txt",
-                    "tester?view=test1.ftl&viewServlet=freemarker-defaultOverride");
+                    "tester?view=test1.f3ah&viewServlet=freemarker-defaultOverride");
         } finally {
             JspTestFreemarkerServlet.resetToDefaults();
         }
@@ -139,7 +139,7 @@ public class RealServletContainertTest extends WebAppTestCase {
         try {
             JspTestFreemarkerServlet.emulateNoJarURLConnections = true;
             restartWebAppIfStarted(WEBAPP_TLD_DISCOVERY);
-            assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "test1.txt", "tester?view=test1.ftl");
+            assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "test1.txt", "tester?view=test1.f3ah");
         } finally {
             JspTestFreemarkerServlet.resetToDefaults();
         }       
@@ -155,7 +155,7 @@ public class RealServletContainertTest extends WebAppTestCase {
                     FreemarkerServlet.SYSTEM_PROPERTY_CLASSPATH_TLDS,
                     "META-INF/tldDiscovery MetaInfTldSources-1.tld");
             restartWebAppIfStarted(WEBAPP_TLD_DISCOVERY);
-            assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "test1.txt", "tester?view=test1.ftl");
+            assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "test1.txt", "tester?view=test1.f3ah");
         } finally {
             JspTestFreemarkerServlet.resetToDefaults();
             System.clearProperty(FreemarkerServlet.SYSTEM_PROPERTY_CLASSPATH_TLDS);
@@ -167,7 +167,7 @@ public class RealServletContainertTest extends WebAppTestCase {
         try {
             System.setProperty(FreemarkerServlet.SYSTEM_PROPERTY_META_INF_TLD_SOURCES, "clear, classpath");
             restartWebAppIfStarted(WEBAPP_TLD_DISCOVERY);
-            assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "test1.txt", "tester?view=test1.ftl");
+            assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "test1.txt", "tester?view=test1.f3ah");
         } finally {
             JspTestFreemarkerServlet.resetToDefaults();
             System.clearProperty(FreemarkerServlet.SYSTEM_PROPERTY_META_INF_TLD_SOURCES);
@@ -185,7 +185,7 @@ public class RealServletContainertTest extends WebAppTestCase {
             System.setProperty(FreemarkerServlet.SYSTEM_PROPERTY_META_INF_TLD_SOURCES, "clear, webInfPerLibJars");
             restartWebAppIfStarted(WEBAPP_TLD_DISCOVERY);
             assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY,
-                    "test-noClasspath.txt", "tester?view=test-noClasspath.ftl");
+                    "test-noClasspath.txt", "tester?view=test-noClasspath.f3ah");
         } finally {
             JspTestFreemarkerServlet.resetToDefaults();
             System.clearProperty(FreemarkerServlet.SYSTEM_PROPERTY_META_INF_TLD_SOURCES);
@@ -194,7 +194,7 @@ public class RealServletContainertTest extends WebAppTestCase {
     
     @Test
     public void tldDiscoveryRelative() throws Exception {
-        assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "subdir/test-rel.txt", "tester?view=subdir/test-rel.ftl");
+        assertExpectedEqualsOutput(WEBAPP_TLD_DISCOVERY, "subdir/test-rel.txt", "tester?view=subdir/test-rel.f3ah");
     }
     
     @Test
@@ -204,77 +204,77 @@ public class RealServletContainertTest extends WebAppTestCase {
         Assert.assertEquals(500, getResponseStatusCode(WEBAPP_ERRORS, "failing-parsetime.jsp"));
         
         Assert.assertEquals(200, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=not-failing.ftl&viewServlet=freemarker-default-dev"));
+                "tester?view=not-failing.f3ah&viewServlet=freemarker-default-dev"));
         Assert.assertEquals(404, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=missing.ftl&viewServlet=freemarker-default-dev"));
+                "tester?view=missing.f3ah&viewServlet=freemarker-default-dev"));
         Assert.assertEquals(200, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=failing-runtime.ftl&viewServlet=freemarker-default-dev"));
+                "tester?view=failing-runtime.f3ah&viewServlet=freemarker-default-dev"));
         Assert.assertEquals(500, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=failing-parsetime.ftlnv&viewServlet=freemarker-default-dev"));
+                "tester?view=failing-parsetime.f3ahnv&viewServlet=freemarker-default-dev"));
         
         Assert.assertEquals(200, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=not-failing.ftl&viewServlet=freemarker-default-prod"));
+                "tester?view=not-failing.f3ah&viewServlet=freemarker-default-prod"));
         Assert.assertEquals(404, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=missing.ftl&viewServlet=freemarker-default-prod"));
+                "tester?view=missing.f3ah&viewServlet=freemarker-default-prod"));
         Assert.assertEquals(500, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=failing-runtime.ftl&viewServlet=freemarker-default-prod"));
+                "tester?view=failing-runtime.f3ah&viewServlet=freemarker-default-prod"));
         Assert.assertEquals(500, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=failing-parsetime.ftlnv&viewServlet=freemarker-default-prod"));
+                "tester?view=failing-parsetime.f3ahnv&viewServlet=freemarker-default-prod"));
         
         Assert.assertEquals(200, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=not-failing.ftl&viewServlet=freemarker-future-prod"));
+                "tester?view=not-failing.f3ah&viewServlet=freemarker-future-prod"));
         Assert.assertEquals(500, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=missing.ftl&viewServlet=freemarker-future-prod"));
+                "tester?view=missing.f3ah&viewServlet=freemarker-future-prod"));
         Assert.assertEquals(500, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=failing-runtime.ftl&viewServlet=freemarker-future-prod"));
+                "tester?view=failing-runtime.f3ah&viewServlet=freemarker-future-prod"));
         Assert.assertEquals(500, getResponseStatusCode(WEBAPP_ERRORS,
-                "tester?view=failing-parsetime.ftlnv&viewServlet=freemarker-future-prod"));
+                "tester?view=failing-parsetime.f3ahnv&viewServlet=freemarker-future-prod"));
     }
     
     @Test
     public void testTemplateLoaderConfig() throws Exception {
         Assert.assertEquals("from /WEB-INF/classes", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-class-root"));
+                "tester?view=test.f3ah&viewServlet=freemarker-class-root"));
         Assert.assertEquals("from WEB-INF/lib/templates.jar/sub", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=sub/test2.ftl&viewServlet=freemarker-class-root"));
+                "tester?view=sub/test2.f3ah&viewServlet=freemarker-class-root"));
         Assert.assertEquals("from /WEB-INF/classes/sub", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-class-sub"));
+                "tester?view=test.f3ah&viewServlet=freemarker-class-sub"));
         Assert.assertEquals("from WEB-INF/lib/templates.jar/sub", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=test2.ftl&viewServlet=freemarker-class-sub"));
+                "tester?view=test2.f3ah&viewServlet=freemarker-class-sub"));
         
         Assert.assertEquals("from /WEB-INF/classes", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-classpath-root"));
+                "tester?view=test.f3ah&viewServlet=freemarker-classpath-root"));
         Assert.assertEquals("from WEB-INF/lib/templates.jar/sub", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=sub/test2.ftl&viewServlet=freemarker-classpath-root"));
+                "tester?view=sub/test2.f3ah&viewServlet=freemarker-classpath-root"));
         Assert.assertEquals("from /WEB-INF/classes/sub", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-classpath-sub"));
+                "tester?view=test.f3ah&viewServlet=freemarker-classpath-sub"));
         Assert.assertEquals("from WEB-INF/lib/templates.jar/sub", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=test2.ftl&viewServlet=freemarker-classpath-sub"));
+                "tester?view=test2.f3ah&viewServlet=freemarker-classpath-sub"));
         
         Assert.assertEquals("from /WEB-INF/templates", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-webinfPerTemplates"));
+                "tester?view=test.f3ah&viewServlet=freemarker-webinfPerTemplates"));
         Assert.assertEquals("from /", getResponseContent(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-contentRoot"));
+                "tester?view=test.f3ah&viewServlet=freemarker-contentRoot"));
     }
     
     @Test
     public void testConfigurationDefaults() throws Exception {
         Assert.assertEquals(200, getResponseStatusCode(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-assertDefaultsFreemarkerServlet"));
+                "tester?view=test.f3ah&viewServlet=freemarker-assertDefaultsFreemarkerServlet"));
         Assert.assertEquals(200, getResponseStatusCode(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-assertCustomizedDefaultsFreemarkerServlet"));
+                "tester?view=test.f3ah&viewServlet=freemarker-assertCustomizedDefaultsFreemarkerServlet"));
         Assert.assertEquals(200, getResponseStatusCode(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-assertObjectWrapperDefaults1FreemarkerServlet"));
+                "tester?view=test.f3ah&viewServlet=freemarker-assertObjectWrapperDefaults1FreemarkerServlet"));
         Assert.assertEquals(200, getResponseStatusCode(WEBAPP_CONFIG,
-                "tester?view=test.ftl&viewServlet=freemarker-assertObjectWrapperDefaults2FreemarkerServlet"));
+                "tester?view=test.f3ah&viewServlet=freemarker-assertObjectWrapperDefaults2FreemarkerServlet"));
     }
     
     @Test
     public void testMultipleLoaders() throws Exception {
-       Assert.assertEquals("In test.ftl",
-               getResponseContent(WEBAPP_MULTIPLE_LOADERS, "tester?view=test.ftl")); 
-       Assert.assertEquals("In classpath-test.ftl",
-               getResponseContent(WEBAPP_MULTIPLE_LOADERS, "tester?view=classpath-test.ftl")); 
+       Assert.assertEquals("In test.f3ah",
+               getResponseContent(WEBAPP_MULTIPLE_LOADERS, "tester?view=test.f3ah")); 
+       Assert.assertEquals("In classpath-test.f3ah",
+               getResponseContent(WEBAPP_MULTIPLE_LOADERS, "tester?view=classpath-test.f3ah")); 
     }
 
     public static class AllKindOfContainersModel2Action extends DefaultModel2TesterAction {

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java
index 01e6072..1980b95 100644
--- a/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java
+++ b/freemarker-servlet/src/test/java/org/apache/freemarker/servlet/test/WebAppTestCase.java
@@ -151,7 +151,7 @@ public class WebAppTestCase {
      *            {@code "tester?view=foo.ftl"}, and then the output of these extended URL-s will be compared.
      */
     protected void assertJSPAndFTLOutputEquals(String webAppName, String webAppRelURLWithoutExt) throws Exception {
-        assertOutputsEqual(webAppName, webAppRelURLWithoutExt + ".jsp", webAppRelURLWithoutExt + ".ftl");
+        assertOutputsEqual(webAppName, webAppRelURLWithoutExt + ".jsp", webAppRelURLWithoutExt + ".f3ah");
     }
 
     protected void assertOutputsEqual(String webAppName, String webAppRelURL1, final String webAppRelURL2)

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/templates/classpath-test.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/templates/classpath-test.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/templates/classpath-test.f3ah
new file mode 100644
index 0000000..64a050d
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/templates/classpath-test.f3ah
@@ -0,0 +1,19 @@
+<#--
+  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.
+-->
+In classpath-test.f3ah
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/templates/classpath-test.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/templates/classpath-test.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/templates/classpath-test.ftl
deleted file mode 100644
index e05c1b3..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/templates/classpath-test.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-<#--
-  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.
--->
-In classpath-test.ftl
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/CONTENTS.txt
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/CONTENTS.txt b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/CONTENTS.txt
index fa1f3ff..a1e9c8e 100644
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/CONTENTS.txt
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/CONTENTS.txt
@@ -19,14 +19,14 @@
  
 // Only the files listed here will be part of the tested Web application deployment! 
 
-attributes.ftl
-customELFunctions1.ftl
+attributes.f3ah
+customELFunctions1.f3ah
 customELFunctions1.jsp
-customTags1.ftl
-elFunctionsTagNameClash.ftl
+customTags1.f3ah
+elFunctionsTagNameClash.f3ah
 elFunctionsTagNameClash.jsp
-trivial-jstl-@Ignore.ftl
-trivial.ftl
+trivial-jstl-@Ignore.f3ah
+trivial.f3ah
 trivial.jsp
 
 WEB-INF/el-function-tag-name-clash.tld

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/WEB-INF/web.xml
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/WEB-INF/web.xml b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/WEB-INF/web.xml
index 3aa634f..a4471ac 100644
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/WEB-INF/web.xml
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/WEB-INF/web.xml
@@ -122,7 +122,7 @@
 
 	<servlet-mapping>
 		<servlet-name>freemarker</servlet-name>
-		<url-pattern>*.ftl</url-pattern>
+		<url-pattern>*.f3ah</url-pattern>
 	</servlet-mapping>
 
     <!-- Prevent the visiting of MVC Views from outside the servlet container. 
@@ -131,7 +131,7 @@
     <security-constraint>
         <web-resource-collection>
             <web-resource-name>FreeMarker MVC Views</web-resource-name>
-            <url-pattern>*.ftl</url-pattern>
+            <url-pattern>*.f3ah</url-pattern>
             <url-pattern>*.jsp</url-pattern>
         </web-resource-collection>
         <auth-constraint>

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/attributes.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/attributes.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/attributes.f3ah
new file mode 100644
index 0000000..89e06ca
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/attributes.f3ah
@@ -0,0 +1,90 @@
+<#--
+  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.
+-->
+<#assign t = JspTaglibs["http://freemarker.org/test/taglibs/test"]>
+
+a1: ${a1!'-'}
+<@t.getAndSet name="a1" value=0 />
+a1: ${a1}
+<@t.getAndSet name="a1" value=1 scope="page" />
+a1: ${a1}
+<@t.getAndSet name="a1" value=2 scope="request" />
+<@t.getAndSet name="a1" value=3 scope="session" />
+<@t.getAndSet name="a1" value=4 scope="application" />
+Request.a1: ${Request.a1}
+Session.a1: ${Session.a1}
+Application.a1: ${Application.a1}
+a1: ${a1}
+<@t.getAndSet name="a1" value=null scope="page" />
+a1: ${a1}
+<@t.getAndSet name="a1" value=null scope="request" />
+a1: ${a1}
+<@t.getAndSet name="a1" value=null scope="session" />
+a1: ${a1}
+<@t.getAndSet name="a1" value=null scope="application" />
+a1: ${a1!'-'}
+
+a2: ${a2!'-'}
+<@t.getAndSet name="a2" value=4 scope="application" />
+a2: ${a2}
+<@t.getAndSet name="a2" value=3 scope="session" />
+a2: ${a2}
+<@t.getAndSet name="a2" value=2 scope="request" />
+a2: ${a2}
+<@t.getAndSet name="a2" value=1 scope="page" />
+a2: ${a2}
+
+<#global a1 = 'G1'>
+${a1}
+<@t.getAndSet name="a1" value='P1' scope="page" />
+${a1}
+
+<#global a2 = 'G2'>
+${a2}
+<@t.getAndSet name="a2" value='P2' scope="page" />
+${a2}
+
+Values created in the template:
+<#global a = 's'>
+String: <@t.attributeInfo name='a' />
+<#global a = 1>
+Number: <@t.attributeInfo name='a' />
+<#global a = true>
+Boolean: <@t.attributeInfo name='a' />
+<#global a = '2014-12-20T18:19+02:00'?dateTime.iso>
+Date-time: <@t.attributeInfo name='a' />
+<#global a = [1, 2, 3]>
+Sequence: <@t.attributeInfo name='a' />
+<#global a = {'a': 1, 'b': 2, 'c': 3}>
+Hash: <@t.attributeInfo name='a' />
+
+Values created in Java:
+<#global a = linkedList>
+LinkedList: <@t.attributeInfo name='a' />
+<#global a = arrayList>
+ArrayList: <@t.attributeInfo name='a' />
+<#global a = myList>
+MyList: <@t.attributeInfo name='a' />
+<#global a = linkedHashMap>
+LinkedHashMap: <@t.attributeInfo name='a' />
+<#global a = treeMap>
+TreeMap: <@t.attributeInfo name='a' />
+<#global a = myMap>
+MyMap: <@t.attributeInfo name='a' />
+<#global a = treeSet>
+TreeSet: <@t.attributeInfo name='a' />

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/attributes.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/attributes.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/attributes.ftl
deleted file mode 100644
index 89e06ca..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/attributes.ftl
+++ /dev/null
@@ -1,90 +0,0 @@
-<#--
-  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.
--->
-<#assign t = JspTaglibs["http://freemarker.org/test/taglibs/test"]>
-
-a1: ${a1!'-'}
-<@t.getAndSet name="a1" value=0 />
-a1: ${a1}
-<@t.getAndSet name="a1" value=1 scope="page" />
-a1: ${a1}
-<@t.getAndSet name="a1" value=2 scope="request" />
-<@t.getAndSet name="a1" value=3 scope="session" />
-<@t.getAndSet name="a1" value=4 scope="application" />
-Request.a1: ${Request.a1}
-Session.a1: ${Session.a1}
-Application.a1: ${Application.a1}
-a1: ${a1}
-<@t.getAndSet name="a1" value=null scope="page" />
-a1: ${a1}
-<@t.getAndSet name="a1" value=null scope="request" />
-a1: ${a1}
-<@t.getAndSet name="a1" value=null scope="session" />
-a1: ${a1}
-<@t.getAndSet name="a1" value=null scope="application" />
-a1: ${a1!'-'}
-
-a2: ${a2!'-'}
-<@t.getAndSet name="a2" value=4 scope="application" />
-a2: ${a2}
-<@t.getAndSet name="a2" value=3 scope="session" />
-a2: ${a2}
-<@t.getAndSet name="a2" value=2 scope="request" />
-a2: ${a2}
-<@t.getAndSet name="a2" value=1 scope="page" />
-a2: ${a2}
-
-<#global a1 = 'G1'>
-${a1}
-<@t.getAndSet name="a1" value='P1' scope="page" />
-${a1}
-
-<#global a2 = 'G2'>
-${a2}
-<@t.getAndSet name="a2" value='P2' scope="page" />
-${a2}
-
-Values created in the template:
-<#global a = 's'>
-String: <@t.attributeInfo name='a' />
-<#global a = 1>
-Number: <@t.attributeInfo name='a' />
-<#global a = true>
-Boolean: <@t.attributeInfo name='a' />
-<#global a = '2014-12-20T18:19+02:00'?dateTime.iso>
-Date-time: <@t.attributeInfo name='a' />
-<#global a = [1, 2, 3]>
-Sequence: <@t.attributeInfo name='a' />
-<#global a = {'a': 1, 'b': 2, 'c': 3}>
-Hash: <@t.attributeInfo name='a' />
-
-Values created in Java:
-<#global a = linkedList>
-LinkedList: <@t.attributeInfo name='a' />
-<#global a = arrayList>
-ArrayList: <@t.attributeInfo name='a' />
-<#global a = myList>
-MyList: <@t.attributeInfo name='a' />
-<#global a = linkedHashMap>
-LinkedHashMap: <@t.attributeInfo name='a' />
-<#global a = treeMap>
-TreeMap: <@t.attributeInfo name='a' />
-<#global a = myMap>
-MyMap: <@t.attributeInfo name='a' />
-<#global a = treeSet>
-TreeSet: <@t.attributeInfo name='a' />

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customELFunctions1.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customELFunctions1.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customELFunctions1.f3ah
new file mode 100644
index 0000000..7e44c32
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customELFunctions1.f3ah
@@ -0,0 +1,30 @@
+<#--
+  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.
+-->
+<#assign ef = JspTaglibs["http://freemarker.org/test/taglibs/el-functions"]>
+
+${ef.reverse("abc")}
+${ef.reverseInt(123)}
+${ef.reverseIntRadix(123, 2)}
+${ef.hypotenuse(3, 4)}
+${ef.sum(ef.testArray())}
+${ef.sum([1, 2, 3])}
+${ef.sum(1, 2, 3)}
+${ef.sum(1)}
+${ef.sumMap(ef.testMap())}
+${ef.sumMap({ 'a': 1?int, 'b': 2?int, 'c': 3?int })}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customELFunctions1.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customELFunctions1.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customELFunctions1.ftl
deleted file mode 100644
index 7e44c32..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customELFunctions1.ftl
+++ /dev/null
@@ -1,30 +0,0 @@
-<#--
-  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.
--->
-<#assign ef = JspTaglibs["http://freemarker.org/test/taglibs/el-functions"]>
-
-${ef.reverse("abc")}
-${ef.reverseInt(123)}
-${ef.reverseIntRadix(123, 2)}
-${ef.hypotenuse(3, 4)}
-${ef.sum(ef.testArray())}
-${ef.sum([1, 2, 3])}
-${ef.sum(1, 2, 3)}
-${ef.sum(1)}
-${ef.sumMap(ef.testMap())}
-${ef.sumMap({ 'a': 1?int, 'b': 2?int, 'c': 3?int })}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customTags1.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customTags1.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customTags1.f3ah
new file mode 100644
index 0000000..0f029b4
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customTags1.f3ah
@@ -0,0 +1,59 @@
+<#--
+  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.
+-->
+<#assign t = JspTaglibs["http://freemarker.org/test/taglibs/test"]>
+
+<!-- Test repeated execution -->
+<@t.testtag repeatCount=3 throwException=false
+>Blah
+</@>
+
+<!-- Test 0-time execution -->
+<@t.testtag repeatCount=0 throwException=false
+>Blah
+</@>
+
+<!-- Test abrupt execution -->
+<@t.testtag repeatCount=0 throwException=true
+>Blah
+</@>
+
+<!-- Test nested execution -->
+<@t.testtag repeatCount=2 throwException=false
+>Outer Blah
+<@t.testtag repeatCount=2 throwException=false
+>Inner Blah
+</@>
+</@>
+
+<!-- Test nested execution with intermittent non-JSP transform -->
+<@t.testtag repeatCount=2 throwException=false>
+Outer Blah
+<#compress>
+<@t.testtag repeatCount=2 throwException=false>
+Inner Blah
+</@>
+</#compress>
+</@>
+
+<@t.simpletag bodyLoopCount=2 name="simpletag1">
+foo
+<@t.simpletag bodyLoopCount=3 name="simpletag2">
+bar
+</@>
+</@>

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customTags1.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customTags1.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customTags1.ftl
deleted file mode 100644
index 0f029b4..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/customTags1.ftl
+++ /dev/null
@@ -1,59 +0,0 @@
-<#--
-  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.
--->
-<#assign t = JspTaglibs["http://freemarker.org/test/taglibs/test"]>
-
-<!-- Test repeated execution -->
-<@t.testtag repeatCount=3 throwException=false
->Blah
-</@>
-
-<!-- Test 0-time execution -->
-<@t.testtag repeatCount=0 throwException=false
->Blah
-</@>
-
-<!-- Test abrupt execution -->
-<@t.testtag repeatCount=0 throwException=true
->Blah
-</@>
-
-<!-- Test nested execution -->
-<@t.testtag repeatCount=2 throwException=false
->Outer Blah
-<@t.testtag repeatCount=2 throwException=false
->Inner Blah
-</@>
-</@>
-
-<!-- Test nested execution with intermittent non-JSP transform -->
-<@t.testtag repeatCount=2 throwException=false>
-Outer Blah
-<#compress>
-<@t.testtag repeatCount=2 throwException=false>
-Inner Blah
-</@>
-</#compress>
-</@>
-
-<@t.simpletag bodyLoopCount=2 name="simpletag1">
-foo
-<@t.simpletag bodyLoopCount=3 name="simpletag2">
-bar
-</@>
-</@>

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/elFunctionsTagNameClash.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/elFunctionsTagNameClash.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/elFunctionsTagNameClash.f3ah
new file mode 100644
index 0000000..8968f26
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/elFunctionsTagNameClash.f3ah
@@ -0,0 +1,25 @@
+<#--
+  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.
+-->
+<#assign t = JspTaglibs["http://freemarker.org/test/taglibs/el-functions-tag-name-clash"]>
+
+${t.foo("abc")}
+<@t.foo />
+
+${t.bar("abc")}
+<@t.bar>abc</@t.bar>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/elFunctionsTagNameClash.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/elFunctionsTagNameClash.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/elFunctionsTagNameClash.ftl
deleted file mode 100644
index 8968f26..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/elFunctionsTagNameClash.ftl
+++ /dev/null
@@ -1,25 +0,0 @@
-<#--
-  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.
--->
-<#assign t = JspTaglibs["http://freemarker.org/test/taglibs/el-functions-tag-name-clash"]>
-
-${t.foo("abc")}
-<@t.foo />
-
-${t.bar("abc")}
-<@t.bar>abc</@t.bar>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial-jstl-@Ignore.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial-jstl-@Ignore.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial-jstl-@Ignore.f3ah
new file mode 100644
index 0000000..c37e72a
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial-jstl-@Ignore.f3ah
@@ -0,0 +1,48 @@
+<#--
+  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.
+-->
+<#-- @Ignore: c:forEach fails because of EL context issues -->
+
+<#assign
+    c = JspTaglibs["http://java.sun.com/jsp/jstl/core"]
+    fn = JspTaglibs["http://java.sun.com/jsp/jstl/functions"]
+>
+
+${n + 1}
+
+<#-- JSTL: -->
+<#-- You should NOT call JSTL from FTL, but here we use them for testing taglib JSP compatibility: -->
+
+<@c.if test=t>
+  True
+</@c.if>
+
+<@c.choose>
+  <@c.when test = n == 123>
+      Do this
+  </@c.when>
+  <@c.otherwise>
+      Do that
+  </@c.otherwise>
+</@c.choose>
+
+<@c.forEach var="i" items=ls>
+- ${i}
+</@c.forEach>
+
+[${fn.trim(" foo ")}]

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial-jstl-@Ignore.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial-jstl-@Ignore.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial-jstl-@Ignore.ftl
deleted file mode 100644
index c37e72a..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial-jstl-@Ignore.ftl
+++ /dev/null
@@ -1,48 +0,0 @@
-<#--
-  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.
--->
-<#-- @Ignore: c:forEach fails because of EL context issues -->
-
-<#assign
-    c = JspTaglibs["http://java.sun.com/jsp/jstl/core"]
-    fn = JspTaglibs["http://java.sun.com/jsp/jstl/functions"]
->
-
-${n + 1}
-
-<#-- JSTL: -->
-<#-- You should NOT call JSTL from FTL, but here we use them for testing taglib JSP compatibility: -->
-
-<@c.if test=t>
-  True
-</@c.if>
-
-<@c.choose>
-  <@c.when test = n == 123>
-      Do this
-  </@c.when>
-  <@c.otherwise>
-      Do that
-  </@c.otherwise>
-</@c.choose>
-
-<@c.forEach var="i" items=ls>
-- ${i}
-</@c.forEach>
-
-[${fn.trim(" foo ")}]

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial.f3ah
new file mode 100644
index 0000000..b86e023
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial.f3ah
@@ -0,0 +1,37 @@
+<#--
+  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.
+-->
+${n + 1}
+
+<#-- Instead of JSTL: -->
+
+<#if t>
+  True
+</#if>
+
+<#if n == 123>
+  Do this
+<#else>
+  Do that
+</#if>
+
+<#list ls as i>
+- ${i}
+</#list>
+
+[${" foo "?trim}]

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial.ftl
deleted file mode 100644
index b86e023..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/basic/trivial.ftl
+++ /dev/null
@@ -1,37 +0,0 @@
-<#--
-  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.
--->
-${n + 1}
-
-<#-- Instead of JSTL: -->
-
-<#if t>
-  True
-</#if>
-
-<#if n == 123>
-  Do this
-<#else>
-  Do that
-</#if>
-
-<#list ls as i>
-- ${i}
-</#list>
-
-[${" foo "?trim}]

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/CONTENTS.txt
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/CONTENTS.txt b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/CONTENTS.txt
index 0116375..3c690a6 100644
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/CONTENTS.txt
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/CONTENTS.txt
@@ -19,15 +19,15 @@
  
 // Only the files listed here will be part of the tested Web application deployment! 
 
-test.ftl
+test.f3ah
 
 WEB-INF/web.xml
 
-WEB-INF/classes/test.ftl
+WEB-INF/classes/test.f3ah
 
-WEB-INF/classes/sub/test.ftl
+WEB-INF/classes/sub/test.f3ah
 
-WEB-INF/lib/templates.jar/sub/test2.ftl
+WEB-INF/lib/templates.jar/sub/test2.f3ah
 /org/apache/freemarker/servlet/jsp/webapps/config/WebappLocalFreemarkerServlet.class -> WEB-INF/lib/WebappLocalFreemarkerServlet.jar/org/apache/freemarker/servlet/jsp/webapps/config/WebappLocalFreemarkerServlet.class
 
-WEB-INF/templates/test.ftl
+WEB-INF/templates/test.f3ah

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/sub/test.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/sub/test.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/sub/test.f3ah
new file mode 100644
index 0000000..96a022a
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/sub/test.f3ah
@@ -0,0 +1,19 @@
+<#--
+  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.
+-->
+from /WEB-INF/classes/sub
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/sub/test.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/sub/test.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/sub/test.ftl
deleted file mode 100644
index 96a022a..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/sub/test.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-<#--
-  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.
--->
-from /WEB-INF/classes/sub
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/test.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/test.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/test.f3ah
new file mode 100644
index 0000000..c0a0444
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/test.f3ah
@@ -0,0 +1,19 @@
+<#--
+  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.
+-->
+from /WEB-INF/classes
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/test.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/test.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/test.ftl
deleted file mode 100644
index c0a0444..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/classes/test.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-<#--
-  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.
--->
-from /WEB-INF/classes
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/lib/templates.jar/sub/test2.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/lib/templates.jar/sub/test2.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/lib/templates.jar/sub/test2.f3ah
new file mode 100644
index 0000000..67feac0
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/lib/templates.jar/sub/test2.f3ah
@@ -0,0 +1,19 @@
+<#--
+  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.
+-->
+from WEB-INF/lib/templates.jar/sub
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/lib/templates.jar/sub/test2.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/lib/templates.jar/sub/test2.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/lib/templates.jar/sub/test2.ftl
deleted file mode 100644
index 67feac0..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/lib/templates.jar/sub/test2.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-<#--
-  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.
--->
-from WEB-INF/lib/templates.jar/sub
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/templates/test.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/templates/test.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/templates/test.f3ah
new file mode 100644
index 0000000..a46f12a
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/templates/test.f3ah
@@ -0,0 +1,19 @@
+<#--
+  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.
+-->
+from /WEB-INF/templates
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/templates/test.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/templates/test.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/templates/test.ftl
deleted file mode 100644
index a46f12a..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/WEB-INF/templates/test.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-<#--
-  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.
--->
-from /WEB-INF/templates
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/test.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/test.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/test.f3ah
new file mode 100644
index 0000000..1852b69
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/test.f3ah
@@ -0,0 +1,19 @@
+<#--
+  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.
+-->
+from /
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/test.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/test.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/test.ftl
deleted file mode 100644
index 1852b69..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/config/test.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-<#--
-  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.
--->
-from /
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/CONTENTS.txt
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/CONTENTS.txt b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/CONTENTS.txt
index fe48ca4..7fdb3f5 100644
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/CONTENTS.txt
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/CONTENTS.txt
@@ -19,10 +19,10 @@
  
 // Only the files listed here will be part of the tested Web application deployment! 
 
-failing-parsetime.ftlnv
+failing-parsetime.f3ahnv
 failing-parsetime.jsp
-failing-runtime.ftl
+failing-runtime.f3ah
 failing-runtime.jsp
-not-failing.ftl
+not-failing.f3ah
 
 WEB-INF/web.xml
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-parsetime.f3ahnv
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-parsetime.f3ahnv b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-parsetime.f3ahnv
new file mode 100644
index 0000000..d0ecbe4
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-parsetime.f3ahnv
@@ -0,0 +1,20 @@
+<#--
+  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.
+-->
+
+${'x'?noSuchBuiltin}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-parsetime.ftlnv
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-parsetime.ftlnv b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-parsetime.ftlnv
deleted file mode 100644
index d0ecbe4..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-parsetime.ftlnv
+++ /dev/null
@@ -1,20 +0,0 @@
-<#--
-  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.
--->
-
-${'x'?noSuchBuiltin}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-runtime.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-runtime.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-runtime.f3ah
new file mode 100644
index 0000000..a65d9be
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-runtime.f3ah
@@ -0,0 +1,26 @@
+<#--
+  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.
+-->
+<#--
+<#attempt>
+  ${noSuchVariableInAttempt}
+<#recover>
+  foo
+</#attempt>
+-->
+${noSuchVariable}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-runtime.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-runtime.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-runtime.ftl
deleted file mode 100644
index a65d9be..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/failing-runtime.ftl
+++ /dev/null
@@ -1,26 +0,0 @@
-<#--
-  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.
--->
-<#--
-<#attempt>
-  ${noSuchVariableInAttempt}
-<#recover>
-  foo
-</#attempt>
--->
-${noSuchVariable}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/not-failing.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/not-failing.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/not-failing.f3ah
new file mode 100644
index 0000000..06ebbcc
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/not-failing.f3ah
@@ -0,0 +1,19 @@
+<#--
+  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.
+-->
+foo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/not-failing.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/not-failing.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/not-failing.ftl
deleted file mode 100644
index 06ebbcc..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/errors/not-failing.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-<#--
-  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.
--->
-foo
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/CONTENTS.txt
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/CONTENTS.txt b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/CONTENTS.txt
index 27016ef..09f1e3a 100644
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/CONTENTS.txt
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/CONTENTS.txt
@@ -21,4 +21,4 @@
 
 WEB-INF/web.xml
 
-WEB-INF/templates/test.ftl
+WEB-INF/templates/test.f3ah

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/WEB-INF/templates/test.f3ah
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/WEB-INF/templates/test.f3ah b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/WEB-INF/templates/test.f3ah
new file mode 100644
index 0000000..39bc891
--- /dev/null
+++ b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/WEB-INF/templates/test.f3ah
@@ -0,0 +1,19 @@
+<#--
+  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.
+-->
+In test.f3ah
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/freemarker/blob/81b48221/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/WEB-INF/templates/test.ftl
----------------------------------------------------------------------
diff --git a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/WEB-INF/templates/test.ftl b/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/WEB-INF/templates/test.ftl
deleted file mode 100644
index 3dda3db..0000000
--- a/freemarker-servlet/src/test/resources/org/apache/freemarker/servlet/jsp/webapps/multipleLoaders/WEB-INF/templates/test.ftl
+++ /dev/null
@@ -1,19 +0,0 @@
-<#--
-  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.
--->
-In test.ftl
\ No newline at end of file


Mime
View raw message