[jboss-cvs] jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model ...

Christian Bauer christian at hibernate.org
Thu Jan 10 19:09:16 EST 2008


  User: cbauer  
  Date: 08/01/10 19:09:16

  Modified:    examples/wiki/src/test/org/jboss/seam/wiki/test/model  
                        URLTests.java
  Added:       examples/wiki/src/test/org/jboss/seam/wiki/test/model  
                        DocumentMacroTests.java
  Log:
  Improved macro handling in documents and URL rendering
  
  Revision  Changes    Path
  1.2       +12 -12    jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model/URLTests.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: URLTests.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model/URLTests.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- URLTests.java	19 Dec 2007 04:29:24 -0000	1.1
  +++ URLTests.java	11 Jan 2008 00:09:15 -0000	1.2
  @@ -35,8 +35,8 @@
                                   .setParameter("id", 6l)
                                   .getSingleResult();
   
  -                assert d.getPermURL(".lace").equals("/6.lace");
  -                assert d.getWikiURL().equals("/CCC/One");
  +                assert d.getPermURL(".lace").equals("6.lace");
  +                assert d.getWikiURL().equals("CCC/One");
               }
           }.run();
       }
  @@ -52,24 +52,24 @@
                                   .setParameter("id", 3l)
                                   .getSingleResult();
   
  -                assert d.getPermURL(".lace").equals("/3.lace");
  -                assert d.getWikiURL().equals("/CCC");
  +                assert d.getPermURL(".lace").equals("3.lace");
  +                assert d.getWikiURL().equals("CCC");
   
                   d = (WikiDirectory)
                           em.createQuery("select d from WikiDirectory d where d.id = :id")
                                   .setParameter("id", 4l)
                                   .getSingleResult();
   
  -                assert d.getPermURL(".lace").equals("/4.lace");
  -                assert d.getWikiURL().equals("/CCC/DDD");
  +                assert d.getPermURL(".lace").equals("4.lace");
  +                assert d.getWikiURL().equals("CCC/DDD");
   
                   d = (WikiDirectory)
                           em.createQuery("select d from WikiDirectory d where d.id = :id")
                                   .setParameter("id", 1l)
                                   .getSingleResult();
   
  -                assert d.getPermURL(".lace").equals("/1.lace");
  -                assert d.getWikiURL().equals("/");
  +                assert d.getPermURL(".lace").equals("1.lace");
  +                assert d.getWikiURL().equals("");
   
               }
           }.run();
  @@ -86,8 +86,8 @@
                                   .setParameter("id", 10l)
                                   .getSingleResult();
   
  -                assert c.getPermURL(".lace").equals("/6.lace#comment10");
  -                assert c.getWikiURL().equals("/CCC/One#comment10");
  +                assert c.getPermURL(".lace").equals("6.lace#comment10");
  +                assert c.getWikiURL().equals("CCC/One#comment10");
   
               }
           }.run();
  @@ -105,8 +105,8 @@
                                   .setParameter("id", 30l)
                                   .getSingleResult();
   
  -                assert u.getPermURL(".lace").equals("/servlets/files/download.seam?fileId=30");
  -                assert u.getWikiURL().equals("/servlets/files/download.seam?fileId=30");
  +                assert u.getPermURL(".lace").equals("servlets/files/download.seam?fileId=30");
  +                assert u.getWikiURL().equals("servlets/files/download.seam?fileId=30");
   
               }
           }.run();
  
  
  
  1.1      date: 2008/01/11 00:09:15;  author: cbauer;  state: Exp;jboss-seam/examples/wiki/src/test/org/jboss/seam/wiki/test/model/DocumentMacroTests.java
  
  Index: DocumentMacroTests.java
  ===================================================================
  /*
   * JBoss, Home of Professional Open Source
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  package org.jboss.seam.wiki.test.model;
  
  import org.dbunit.operation.DatabaseOperation;
  import org.jboss.seam.wiki.core.action.DocumentHome;
  import org.jboss.seam.wiki.core.model.WikiDocument;
  import org.jboss.seam.wiki.core.model.WikiDocumentDefaults;
  import org.jboss.seam.wiki.core.engine.WikiMacro;
  import org.jboss.seam.wiki.test.util.DBUnitSeamTest;
  import org.testng.annotations.Test;
  
  import java.util.List;
  import java.util.ArrayList;
  
  /**
   * @author Christian Bauer
   */
  public class DocumentMacroTests extends DBUnitSeamTest {
  
      protected void prepareDBUnitOperations() {
          beforeTestOperations.add(
                  new DataSetOperation("org/jboss/seam/wiki/test/WikiBaseData.dbunit.xml", DatabaseOperation.CLEAN_INSERT)
          );
      }
  
      @Test
      public void modifyMacros() throws Exception {
          new NonFacesRequest("/wiki.xhtml") {
  
              protected void beforeRequest() {
                  setParameter("nodeId", "6");
              }
  
              protected void renderResponse() throws Exception {
                  DocumentHome docHome = (DocumentHome)getInstance(DocumentHome.class);
                  assert docHome.getInstance().getId().equals(6l); // Init!
  
                  WikiDocument doc = docHome.getInstance();
  
                  // Header
                  doc.setHeader("[<=testMacro1[param1=value1]]\n[<=testMacro2]\nfoo");
                  docHome.syncMacros(doc);
                  assert doc.getHeaderMacros().size() == 2;
                  assert doc.getHeaderMacrosString().contains("testMacro1");
                  assert doc.getHeaderMacrosString().contains("testMacro2");
                  assert doc.getHeader().contains("[<=testMacro1[param1=value1]]\n");
                  assert doc.getHeader().contains("[<=testMacro2]\n");
                  assert doc.getHeader().indexOf("foo") == doc.getHeader().length()-3;
  
                  doc.removeHeaderMacros("testMacro1");
                  WikiMacro replacement = new WikiMacro("testMacro3");
                  replacement.getParams().put("p1", "value1");
                  replacement.getParams().put("p2", "value2");
                  doc.addHeaderMacro(replacement);
                  assert doc.getHeaderMacros().size() == 2;
                  assert doc.getHeaderMacrosString().contains("testMacro3");
                  assert doc.getHeaderMacrosString().contains("testMacro2");
                  assert doc.getHeader().contains("[<=testMacro3[p1=value1][p2=value2]]\n");
                  assert doc.getHeader().contains("[<=testMacro2]\n");
                  assert doc.getHeader().indexOf("foo") == doc.getHeader().length()-3;
  
  
              }
  
          }.run();
      }
      
      @Test
      public void macrosFromDefaultStrings() throws Exception {
          WikiDocument doc = new WikiDocument();
  
          WikiDocumentDefaults defaults = new WikiDocumentDefaults() {
              @Override
              public String[] getContentMacrosAsString() {
                  return new String[] {"contentMacro1", "contentMacro2"};
              }
              @Override
              public String getContentText() {
                  return "foo";
              }
              @Override
              public String[] getHeaderMacrosAsString() {
                  return new String[] {"headerMacro1", "headerMacro2"};
              }
              @Override
              public String getHeaderText() {
                  return "bar";
              }
              @Override
              public String[] getFooterMacrosAsString() {
                  return new String[] {"footerMacro1", "footerMacro2"};
              }
              @Override
              public String getFooterText() {
                  return "baz";
              }
          };
          doc.setDefaults(defaults);
  
          assert doc.getContentMacros().size() == 2;
          assert doc.getContentMacrosString().contains("contentMacro1");
          assert doc.getContentMacrosString().contains("contentMacro1");
          assert doc.getContent().contains("[<=contentMacro1]");
          assert doc.getContent().contains("[<=contentMacro2]");
          assert doc.getContent().indexOf("foo") == doc.getContent().length()-3;
  
          assert doc.getHeaderMacros().size() == 2;
          assert doc.getHeaderMacrosString().contains("headerMacro1");
          assert doc.getHeaderMacrosString().contains("headerMacro2");
          assert doc.getHeader().contains("[<=headerMacro1]");
          assert doc.getHeader().contains("[<=headerMacro2]");
          assert doc.getHeader().indexOf("bar") == doc.getHeader().length()-3;
  
          assert doc.getFooterMacros().size() == 2;
          assert doc.getFooterMacrosString().contains("footerMacro1");
          assert doc.getFooterMacrosString().contains("footerMacro2");
          assert doc.getFooter().contains("[<=footerMacro1]");
          assert doc.getFooter().contains("[<=footerMacro2]");
          assert doc.getFooter().indexOf("baz") == 0;
      }
  
      @Test
      public void macrosFromDefaultTypesafe() throws Exception {
          WikiDocument doc = new WikiDocument();
  
          WikiDocumentDefaults defaults = new WikiDocumentDefaults() {
              @Override
              public List<WikiMacro> getContentMacros() {
                  return new ArrayList<WikiMacro>() {{
                     add(new WikiMacro(0, "contentMacro1"));
                     add(new WikiMacro(1, "contentMacro2"));
                  }};
              }
              @Override
              public String getContentText() {
                  return "foo";
              }
              @Override
              public List<WikiMacro> getHeaderMacros() {
                  return new ArrayList<WikiMacro>() {{
                     add(new WikiMacro(0, "headerMacro1"));
                     add(new WikiMacro(1, "headerMacro2"));
                  }};
              }
              @Override
              public String getHeaderText() {
                  return "bar";
              }
              @Override
              public List<WikiMacro> getFooterMacros() {
                  return new ArrayList<WikiMacro>() {{
                     add(new WikiMacro(0, "footerMacro1"));
                     add(new WikiMacro(1, "footerMacro2"));
                  }};
              }
              @Override
              public String getFooterText() {
                  return "baz";
              }
          };
          doc.setDefaults(defaults);
  
          assert doc.getContentMacros().size() == 2;
          assert doc.getContentMacrosString().contains("contentMacro1");
          assert doc.getContentMacrosString().contains("contentMacro1");
          assert doc.getContent().contains("[<=contentMacro1]");
          assert doc.getContent().contains("[<=contentMacro2]");
          assert doc.getContent().indexOf("foo") == doc.getContent().length()-3;
  
          assert doc.getHeaderMacros().size() == 2;
          assert doc.getHeaderMacrosString().contains("headerMacro1");
          assert doc.getHeaderMacrosString().contains("headerMacro2");
          assert doc.getHeader().contains("[<=headerMacro1]");
          assert doc.getHeader().contains("[<=headerMacro2]");
          assert doc.getHeader().indexOf("bar") == doc.getHeader().length()-3;
  
          assert doc.getFooterMacros().size() == 2;
          assert doc.getFooterMacrosString().contains("footerMacro1");
          assert doc.getFooterMacrosString().contains("footerMacro2");
          assert doc.getFooter().contains("[<=footerMacro1]");
          assert doc.getFooter().contains("[<=footerMacro2]");
          assert doc.getFooter().indexOf("baz") == 0;
      }
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list