Author: oheger
Date: Sat Feb  9 08:33:45 2008
New Revision: 620146

URL: http://svn.apache.org/viewvc?rev=620146&view=rev
Log:
CONFIGURATION-306: INIConfiguration now keeps whitespaces in property values 
that are quoted

Modified:
    
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/INIConfiguration.java
    
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestINIConfiguration.java

Modified: 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/INIConfiguration.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/INIConfiguration.java?rev=620146&r1=620145&r2=620146&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/INIConfiguration.java
 (original)
+++ 
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/INIConfiguration.java
 Sat Feb  9 08:33:45 2008
@@ -400,7 +400,12 @@
             i++;
         }
 
-        return result.toString().trim();
+        String v = result.toString();
+        if(!quoted)
+        {
+            v = v.trim();
+        }
+        return v;
     }
 
     /**

Modified: 
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestINIConfiguration.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestINIConfiguration.java?rev=620146&r1=620145&r2=620146&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestINIConfiguration.java
 (original)
+++ 
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestINIConfiguration.java
 Sat Feb  9 08:33:45 2008
@@ -5,9 +5,9 @@
  * 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
@@ -78,7 +78,7 @@
                instance.addProperty("section3.multi", "foo");
                instance.addProperty("section3.multi", "bar");
                instance.save(writer);
-        
+
         assertEquals("Wrong content of ini file", INI_DATA, writer.toString());
        }
 
@@ -209,5 +209,29 @@
         config2.load(new StringReader(writer.toString()));
 
         assertEquals("value", "1;2;3", config2.getString("section.key1"));
+    }
+
+    /**
+     * Tests whether whitespace is left unchanged for quoted values.
+     */
+    public void testQuotedValueWithWhitespace() throws Exception
+    {
+        final String content = "CmdPrompt = \" [EMAIL PROTECTED] ~]$ \"";
+        INIConfiguration config = new INIConfiguration();
+        config.load(new StringReader(content));
+        assertEquals("Wrong propert value", " [EMAIL PROTECTED] ~]$ ", config
+                .getString("CmdPrompt"));
+    }
+
+    /**
+     * Tests a quoted value with space and a comment.
+     */
+    public void testQuotedValueWithWhitespaceAndComment() throws Exception
+    {
+        final String content = "CmdPrompt = \" [EMAIL PROTECTED] ~]$ \" ; a 
comment";
+        INIConfiguration config = new INIConfiguration();
+        config.load(new StringReader(content));
+        assertEquals("Wrong propert value", " [EMAIL PROTECTED] ~]$ ", config
+                .getString("CmdPrompt"));
     }
 }


Reply via email to