You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by st...@apache.org on 2003/02/21 07:36:10 UTC

cvs commit: ant/src/testcases/org/apache/tools/ant/taskdefs/optional JspcTest.java

stevel      2003/02/20 22:36:10

  Modified:    src/testcases/org/apache/tools/ant/taskdefs/optional Tag:
                        ANT_15_BRANCH JspcTest.java
  Log:
  jspc sync w/ 1.6 version. Not 100% aligned as ant1.5 creates classloaders different-like.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.2.2.3   +64 -1     ant/src/testcases/org/apache/tools/ant/taskdefs/optional/JspcTest.java
  
  Index: JspcTest.java
  ===================================================================
  RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/optional/JspcTest.java,v
  retrieving revision 1.2.2.2
  retrieving revision 1.2.2.3
  diff -u -r1.2.2.2 -r1.2.2.3
  --- JspcTest.java	10 Feb 2003 14:25:33 -0000	1.2.2.2
  +++ JspcTest.java	21 Feb 2003 06:36:10 -0000	1.2.2.3
  @@ -57,6 +57,12 @@
   import java.util.Properties;
   
   import org.apache.tools.ant.BuildFileTest;
  +import org.apache.tools.ant.taskdefs.optional.jsp.JspMangler;
  +import org.apache.tools.ant.taskdefs.optional.jsp.Jasper41Mangler;
  +import org.apache.tools.ant.taskdefs.optional.jsp.JspC;
  +import org.apache.tools.ant.taskdefs.optional.jsp.JspNameMangler;
  +import org.apache.tools.ant.taskdefs.optional.jsp.compilers.JspCompilerAdapterFactory;
  +import org.apache.tools.ant.taskdefs.optional.jsp.compilers.JspCompilerAdapter;
   
   /**
    * Tests the Jspc task.
  @@ -163,8 +169,23 @@
       }
   
   
  +    /**
  +     * A unit test for JUnit
  +     */
  +    public void testNotAJspFile()  throws Exception {
  +        executeTarget("testNotAJspFile");
  +    }
   
       /**
  +     * webapp test is currently broken, because it picks up
  +     * on the missing_tld file, and bails. 
  +     */
  +/*
  +    public void testWebapp()  throws Exception {
  +        executeTarget("testWebapp");
  +    }
  +*/
  +    /**
        * run a target then verify the named file gets created
        *
        * @param target Description of Parameter
  @@ -191,7 +212,6 @@
           assertTrue("file " + filename + " is empty", file.length() > 0);
       }
   
  -
       /**
        * Gets the OutputFile attribute of the JspcTest object
        *
  @@ -201,5 +221,48 @@
       protected File getOutputFile(String subpath) {
           return new File(outDir, subpath);
       }
  +
  +    /**
  +     * verify that we select the appropriate mangler
  +     */
  +    public void testJasperNameManglerSelection() {
  +        JspCompilerAdapter adapter=
  +                JspCompilerAdapterFactory.getCompiler("jasper", null,null);
  +        JspMangler mangler=adapter.createMangler();
  +        assertTrue(mangler instanceof JspNameMangler);
  +        adapter= JspCompilerAdapterFactory.getCompiler("jasper41", null, null);
  +        mangler = adapter.createMangler();
  +        assertTrue(mangler instanceof Jasper41Mangler);
  +    }
  +
  +    public void testJasper41() {
  +        JspMangler mangler = new Jasper41Mangler();
  +        //java keywords are not special
  +        assertMapped(mangler, "for.jsp", "for_jsp");
  +        //underscores go in front of invalid start chars
  +        assertMapped(mangler, "0.jsp", "_0_jsp");
  +        //underscores at the front get an underscore too
  +        assertMapped(mangler, "_.jsp", "___jsp");
  +        //non java char at start => underscore then the the _hex value
  +        assertMapped(mangler, "-.jsp", "__0002d_jsp");
  +        //and paths are stripped
  +        char s = File.separatorChar;
  +        assertMapped(mangler, "" + s + s + "somewhere" + s + "file" + s + "index.jsp", "index_jsp");
  +    }
  +
  +    /**
  +     * assert our mapping rules
  +     * @param mangler
  +     * @param filename
  +     * @param classname
  +     */
  +    protected void assertMapped(JspMangler mangler, String filename, String classname) {
  +        String mappedname = mangler.mapJspToJavaName(new File(filename));
  +        assertTrue(filename+" should have mapped to "+classname
  +                    +" but instead mapped to "+mappedname,
  +                    classname.equals(mappedname));
  +    }
  +
  +
   }