vgritsenko    2003/12/24 05:49:53

  Modified:    java/src/org/apache/xindice/util Configuration.java
               java/tests/src/org/apache/xindice/util
                        ConfigurationTest.java
  Log:
  Improve configuration test
  
  Revision  Changes    Path
  1.16      +7 -5      
xml-xindice/java/src/org/apache/xindice/util/Configuration.java
  
  Index: Configuration.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xindice/java/src/org/apache/xindice/util/Configuration.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- Configuration.java        13 Dec 2003 00:22:34 -0000      1.15
  +++ Configuration.java        24 Dec 2003 13:49:53 -0000      1.16
  @@ -185,7 +185,8 @@
        */
       public boolean getBooleanAttribute(String name, boolean defValue) {
           try {
  -            return "[true][yes][1][y][on]".indexOf("[" + getAttribute(name, 
defValue ? "1" : "0").toLowerCase() + "]") != -1;
  +            String attr = getAttribute(name, defValue ? "1" : 
"0").toLowerCase();
  +            return "[true][yes][1][y][on]".indexOf("[" + attr + "]") != -1;
           } catch (Exception e) {
               return defValue;
           }
  @@ -778,8 +779,9 @@
   
       /**
        * add adds an existing Configuration node to this Configuration node.
  -     * Note!  This method does NOT perform a deep copy on the DOM Node that
  -     * newConfig manages.
  +     *
  +     * <strong>NOTE:</strong> This method does NOT perform a deep copy on the
  +     * DOM Node that newConfig manages.
        *
        * @param newConfig The Configuration node to add
        * @throws ReadOnlyException if the Configuration is read-only
  
  
  
  1.4       +60 -20    
xml-xindice/java/tests/src/org/apache/xindice/util/ConfigurationTest.java
  
  Index: ConfigurationTest.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xindice/java/tests/src/org/apache/xindice/util/ConfigurationTest.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ConfigurationTest.java    7 Aug 2003 20:13:27 -0000       1.3
  +++ ConfigurationTest.java    24 Dec 2003 13:49:53 -0000      1.4
  @@ -70,32 +70,72 @@
    * @version CVS $Revision$, $Date$
    * @author Vladimir R. Bossicard <[EMAIL PROTECTED]>
    */
  -public class ConfigurationTest
  -        extends TestCase {
  +public class ConfigurationTest extends TestCase {
   
  -    public void testDefaultConfiguration()
  -            throws Exception {
  -        Document doc = DOMParser.toDocument(Xindice.DEFAULT_CONFIGURATION);
  -        Configuration config = new Configuration(doc);
  +    Document document;
  +
  +    protected void setUp() throws Exception {
  +        document = DOMParser.toDocument(Xindice.DEFAULT_CONFIGURATION);
  +    }
  +
  +    /**
  +     * Test getName, getChild, getAttribute, etc
  +     */
  +    public void testGet() throws Exception {
  +        Configuration config = new Configuration(document);
  +        assertEquals("xindice", config.getName());
   
           config = config.getChild("root-collection", false);
           assertEquals("root-collection", config.getName());
  -
           assertEquals("./db/", config.getAttribute("dbroot"));
           assertEquals("db", config.getAttribute("name"));
  +
  +        assertEquals("", config.getAttribute("does-not-exist"));
  +        assertEquals("some-default-value", 
config.getAttribute("does-not-exist", "some-default-value"));
  +        assertEquals(false, config.getBooleanAttribute("does-not-exist"));
  +        assertEquals(true, config.getBooleanAttribute("does-not-exist", 
true));
  +
  +        config = config.getChild("queryengine", false);
  +        assertEquals("queryengine", config.getName());
  +
  +        Configuration[] children = config.getChildren();
  +        assertEquals(2, children.length);
  +        assertEquals("resolver", children[0].getName());
  +        assertEquals("resolver", children[1].getName());
       }
   
  -    public void testSubConfigurations()
  -            throws Exception {
  -        String document = "<drivers><driver class=\"a\"/><driver 
class=\"b\"/></drivers>";
  -        Document doc = DOMParser.toDocument(document);
  -        Configuration config = new Configuration(doc);
  -
  -/* FIXME        Configuration[] confs = config.getChildren("driver");
  -        assertEquals(2, confs.length);
  -        assertEquals("a", confs[0].getAttribute("class"));
  -        assertEquals("b", confs[1].getAttribute("class"));
  -        */
  +    public void testEditReadonly() throws Exception {
  +        Configuration config = new Configuration(document);
  +        try {
  +            config.getChild("does-not-exist", true);
  +            fail("ReadOnlyException expected");
  +        } catch (ReadOnlyException e) {
  +            // Expected
  +        }
  +
  +        try {
  +            config.add("does-not-exist");
  +            fail("ReadOnlyException expected");
  +        } catch (ReadOnlyException e) {
  +            // Expected
  +        }
  +
  +        try {
  +            config.setAttribute("does-not-exist", 7);
  +            fail("ReadOnlyException expected");
  +        } catch (ReadOnlyException e) {
  +            // Expected
  +        }
       }
   
  +    public void testEdit() throws Exception {
  +        Configuration config = new Configuration(document, false);
  +
  +        Configuration child = config.getChild("does-not-exist", true);
  +        assertEquals("does-not-exist", child.getName());
  +        assertEquals("does-not-exist", 
config.getChild("does-not-exist").getName());
  +
  +        child.setAttribute("does-not-exist", 7);
  +        assertEquals(7, child.getIntAttribute("does-not-exist"));
  +    }
   }
  
  
  

Reply via email to