FREEMARKER-54: More setting tests through ConfigurationFactoryBean

Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/99c3c0cb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/99c3c0cb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/99c3c0cb

Branch: refs/heads/3
Commit: 99c3c0cb45cf500a0fc914332a88f78e17c9d5e6
Parents: 2783387
Author: Woonsan Ko <woon...@apache.org>
Authored: Thu Jun 15 23:15:08 2017 -0400
Committer: Woonsan Ko <woon...@apache.org>
Committed: Thu Jun 15 23:15:08 2017 -0400

----------------------------------------------------------------------
 .../spring/ConfigurationFactoryBean.java        |  1 +
 .../spring/ConfigurationFactoryBeanTest.java    | 46 ++++++++++++++++++--
 2 files changed, 44 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99c3c0cb/freemarker-spring/src/main/java/org/apache/freemarker/spring/ConfigurationFactoryBean.java
----------------------------------------------------------------------
diff --git 
a/freemarker-spring/src/main/java/org/apache/freemarker/spring/ConfigurationFactoryBean.java
 
b/freemarker-spring/src/main/java/org/apache/freemarker/spring/ConfigurationFactoryBean.java
index 2761b9a..da275e7 100644
--- 
a/freemarker-spring/src/main/java/org/apache/freemarker/spring/ConfigurationFactoryBean.java
+++ 
b/freemarker-spring/src/main/java/org/apache/freemarker/spring/ConfigurationFactoryBean.java
@@ -72,6 +72,7 @@ public class ConfigurationFactoryBean extends 
ExtendableBuilder<ConfigurationFac
     }
 
     public void setSettings(Map<String, String> settings) {
+        this.settings.clear();
         this.settings.putAll(settings);
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/99c3c0cb/freemarker-spring/src/test/java/org/apache/freemarker/spring/ConfigurationFactoryBeanTest.java
----------------------------------------------------------------------
diff --git 
a/freemarker-spring/src/test/java/org/apache/freemarker/spring/ConfigurationFactoryBeanTest.java
 
b/freemarker-spring/src/test/java/org/apache/freemarker/spring/ConfigurationFactoryBeanTest.java
index 82a5e74..59261aa 100644
--- 
a/freemarker-spring/src/test/java/org/apache/freemarker/spring/ConfigurationFactoryBeanTest.java
+++ 
b/freemarker-spring/src/test/java/org/apache/freemarker/spring/ConfigurationFactoryBeanTest.java
@@ -19,15 +19,25 @@
 package org.apache.freemarker.spring;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import java.nio.charset.Charset;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
+import org.apache.freemarker.core.AutoEscapingPolicy;
 import org.apache.freemarker.core.Configuration;
 import org.apache.freemarker.core.Configuration.ExtendableBuilder;
+import org.apache.freemarker.core.MutableParsingAndProcessingConfiguration;
+import org.apache.freemarker.core.NamingConvention;
+import org.apache.freemarker.core.TagSyntax;
+import org.apache.freemarker.core.TemplateLanguage;
 import org.apache.freemarker.core.Version;
+import org.apache.freemarker.core.model.impl.RestrictedObjectWrapper;
+import org.apache.freemarker.core.templateresolver.CacheStorage;
+import org.apache.freemarker.core.templateresolver.impl.MruCacheStorage;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -54,9 +64,22 @@ public class ConfigurationFactoryBeanTest {
     }
 
     @Test
-    public void testConfigurationFactoryBeanDefinition() throws Exception {
+    public void testConfigurationFactoryBeanSettings() throws Exception {
         final Map<String, String> settings = new LinkedHashMap<>();
-        
settings.put(ExtendableBuilder.LOCALIZED_TEMPLATE_LOOKUP_KEY_CAMEL_CASE, 
"true");
+
+        
settings.put(MutableParsingAndProcessingConfiguration.SOURCE_ENCODING_KEY, 
"UTF-8");
+        
settings.put(MutableParsingAndProcessingConfiguration.WHITESPACE_STRIPPING_KEY, 
"true");
+        
settings.put(MutableParsingAndProcessingConfiguration.AUTO_ESCAPING_POLICY_KEY, 
"enableIfSupported");
+        
settings.put(MutableParsingAndProcessingConfiguration.RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY,
 "true");
+        
settings.put(MutableParsingAndProcessingConfiguration.TEMPLATE_LANGUAGE_KEY, 
"FTL");
+        settings.put(MutableParsingAndProcessingConfiguration.TAG_SYNTAX_KEY, 
"squareBracket");
+        
settings.put(MutableParsingAndProcessingConfiguration.NAMING_CONVENTION_KEY, 
"camelCase");
+        settings.put(MutableParsingAndProcessingConfiguration.TAB_SIZE_KEY, 
"4");
+
+        settings.put(ExtendableBuilder.OBJECT_WRAPPER_KEY, "restricted");
+        settings.put(ExtendableBuilder.LOCALIZED_TEMPLATE_LOOKUP_KEY, "false");
+        settings.put(ExtendableBuilder.TEMPLATE_CACHE_STORAGE_KEY, "strong:20, 
soft:250");
+        settings.put(ExtendableBuilder.TEMPLATE_UPDATE_DELAY_KEY, "1m");
 
         final Map<String, Object> sharedVars = new HashMap<>();
         sharedVars.put("sharedVar1", "sharedVal1");
@@ -77,8 +100,25 @@ public class ConfigurationFactoryBeanTest {
         assertTrue("Not a Configuration object: " + bean, bean instanceof 
Configuration);
 
         Configuration config = (Configuration) bean;
+
         assertEquals(new Version(3, 0, 0), 
config.getIncompatibleImprovements());
-        assertTrue(config.getLocalizedTemplateLookup());
+        assertEquals(Charset.forName("UTF-8"), config.getSourceEncoding());
+        assertTrue(config.isWhitespaceStrippingSet());
+        assertEquals(AutoEscapingPolicy.ENABLE_IF_SUPPORTED, 
config.getAutoEscapingPolicy());
+        assertTrue(config.isRecognizeStandardFileExtensionsSet());
+        assertEquals(TemplateLanguage.FTL, config.getTemplateLanguage());
+        assertEquals(TagSyntax.SQUARE_BRACKET, config.getTagSyntax());
+        assertEquals(NamingConvention.CAMEL_CASE, 
config.getNamingConvention());
+        assertEquals(4, config.getTabSize());
+
+        assertTrue(config.getObjectWrapper() instanceof 
RestrictedObjectWrapper);
+        assertFalse(config.getLocalizedTemplateLookup());
+        CacheStorage cacheStorage = config.getTemplateCacheStorage();
+        assertTrue(cacheStorage instanceof MruCacheStorage);
+        assertEquals(20, ((MruCacheStorage) 
cacheStorage).getStrongSizeLimit());
+        assertEquals(250, ((MruCacheStorage) cacheStorage).getSoftSizeLimit());
+        assertEquals(60000, 
config.getTemplateUpdateDelayMilliseconds().longValue());
+
         assertEquals("sharedVal1", 
config.getSharedVariables().get("sharedVar1"));
         assertEquals("sharedVal2", 
config.getSharedVariables().get("sharedVar2"));
     }

Reply via email to