bwalding    2003/07/17 02:33:12

  Modified:    src/plugins-build/xdoc/src/test/org/apache/maven
                        NavBeanTest.java
               src/plugins-build/xdoc/src/main/org/apache/maven
                        NavBean.java
  Log:
  Allow the nav bean to count children.  This could be done directly in jelly, but I 
hate jelly. And I can write 
  test cases in the same format as the other test cases.
  PR: MAVEN-579
  
  Revision  Changes    Path
  1.3       +41 -22    
maven/src/plugins-build/xdoc/src/test/org/apache/maven/NavBeanTest.java
  
  Index: NavBeanTest.java
  ===================================================================
  RCS file: 
/home/cvs/maven/src/plugins-build/xdoc/src/test/org/apache/maven/NavBeanTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NavBeanTest.java  10 Mar 2003 14:15:30 -0000      1.2
  +++ NavBeanTest.java  17 Jul 2003 09:33:12 -0000      1.3
  @@ -64,6 +64,7 @@
   import org.dom4j.Document;
   import org.dom4j.Node;
   import org.dom4j.io.SAXReader;
  +import org.dom4j.tree.DefaultElement;
   
   /**
    * @author <a href="[EMAIL PROTECTED]">Ben Walding</a>
  @@ -80,7 +81,6 @@
           testResources = new File(System.getProperty("basedir") + 
"/src/test-resources");
           nb = new NavBean();
           nb.setDocument(getTestDocument());
  -
       }
   
       class Test
  @@ -101,29 +101,29 @@
           return reader.read(new FileInputStream(new File(testResources, 
"navigation.xml")));
       }
   
  -    public void testAll() throws Exception
  +    public void testCollapsed() throws Exception
       {
  -        test("/alpha/index.html", "/alpha/index.html", false);
  -        test("/alpha/one/index.html", "/alpha/index.html", false);
  -        test("/alpha/two/index.html", "/alpha/index.html", false);
  -        test("/beta/index.html", "/alpha/index.html", true);
  -
  -        test("/alpha/index.html", "/beta/index.html", false);
  -        test("/alpha/one/index.html", "/beta/index.html", false);
  -        test("/alpha/two/index.html", "/beta/index.html", false);
  -        test("/beta/index.html", "/beta/index.html", false);
  -        test("/beta/one/index.html", "/beta/index.html", true);
  -        test("/beta/two/index.html", "/beta/index.html", true);
  -
  -        test("/alpha/index.html", "beta/index.html", false);
  -        test("/alpha/one/index.html", "beta/index.html", false);
  -        test("/alpha/two/index.html", "beta/index.html", false);
  -        test("/beta/index.html", "beta/index.html", false);
  -        test("/beta/one/index.html", "beta/index.html", true);
  -        test("/beta/two/index.html", "beta/index.html", true);
  +        testCollapsed("/alpha/index.html", "/alpha/index.html", false);
  +        testCollapsed("/alpha/one/index.html", "/alpha/index.html", false);
  +        testCollapsed("/alpha/two/index.html", "/alpha/index.html", false);
  +        testCollapsed("/beta/index.html", "/alpha/index.html", true);
  +
  +        testCollapsed("/alpha/index.html", "/beta/index.html", false);
  +        testCollapsed("/alpha/one/index.html", "/beta/index.html", false);
  +        testCollapsed("/alpha/two/index.html", "/beta/index.html", false);
  +        testCollapsed("/beta/index.html", "/beta/index.html", false);
  +        testCollapsed("/beta/one/index.html", "/beta/index.html", true);
  +        testCollapsed("/beta/two/index.html", "/beta/index.html", true);
  +
  +        testCollapsed("/alpha/index.html", "beta/index.html", false);
  +        testCollapsed("/alpha/one/index.html", "beta/index.html", false);
  +        testCollapsed("/alpha/two/index.html", "beta/index.html", false);
  +        testCollapsed("/beta/index.html", "beta/index.html", false);
  +        testCollapsed("/beta/one/index.html", "beta/index.html", true);
  +        testCollapsed("/beta/two/index.html", "beta/index.html", true);
       }
   
  -    public void test(String href, String location, boolean expected)
  +    public void testCollapsed(String href, String location, boolean expected)
       {
           nb.setLocation(location);
   
  @@ -133,5 +133,24 @@
           String s = "At location " + location + ", looking to generate link to " + 
href + ", expecting collapse = " + expected;
           assertEquals(s, expected, nb.isCollapsed(node));
       }
  +    
  +    public void testCountChildren() throws Exception
  +    {
  +        testCountChildren("/alpha/index.html", 2);
  +        testCountChildren("/alpha/one/index.html", 0);
  +        testCountChildren("/alpha/two/index.html", 0);
  +        
  +        testCountChildren("/beta/index.html", 2);
  +        testCountChildren("/beta/one/index.html", 0);
  +        testCountChildren("/beta/two/index.html", 0);
  +    }
   
  +    public void testCountChildren(String href, int expected)
  +    {
  +        Node node = nb.getFirstNodeByHREF(href);
  +        assertNotNull(node);
  +    
  +        String s = "At location " + href + ",  expecting countChildren = " + 
expected;
  +        assertEquals(s, expected, nb.countChildren((DefaultElement) node));
  +    }
   }
  
  
  
  1.5       +11 -1     
maven/src/plugins-build/xdoc/src/main/org/apache/maven/NavBean.java
  
  Index: NavBean.java
  ===================================================================
  RCS file: 
/home/cvs/maven/src/plugins-build/xdoc/src/main/org/apache/maven/NavBean.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- NavBean.java      10 Mar 2003 14:18:41 -0000      1.4
  +++ NavBean.java      17 Jul 2003 09:33:12 -0000      1.5
  @@ -95,6 +95,16 @@
       {
           return getAttribute(elem, "href", null);
       }
  +    
  +    /**
  +     * Assumes that the node is visible.
  +     * @param o
  +     * @return the number of children for this node
  +     */
  +    public int countChildren(DefaultElement elem)  {
  +        List l = elem.selectNodes("./item");
  +        return l.size();
  +    }
   
       /**
        * Determines if the given node is collapsed.  If a parent of this node is
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to