jvanzyl     2004/05/24 10:27:38

  Modified:    maven-plugin/src/main/java/org/apache/maven/plugin
                        PluginTestCase.java
  Log:
  o use the strategy used in plexus to instantiate an instance of the class being 
tested by using the test class name. the user can override the setupPlugin() method if 
they want to do something differently or instantiate an instance of the class to be 
tested manually.
  
  Revision  Changes    Path
  1.2       +21 -3     
maven-components/maven-plugin/src/main/java/org/apache/maven/plugin/PluginTestCase.java
  
  Index: PluginTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/maven-components/maven-plugin/src/main/java/org/apache/maven/plugin/PluginTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PluginTestCase.java       21 May 2004 23:49:43 -0000      1.1
  +++ PluginTestCase.java       24 May 2004 17:27:38 -0000      1.2
  @@ -38,8 +38,26 @@
       //
       // ----------------------------------------------------------------------
   
  -    protected abstract void setupPlugin()
  -        throws Exception;
  +    protected void setupPlugin()
  +        throws Exception
  +    {
  +        String mojoClassName = getClass().getName();
  +
  +        mojoClassName = mojoClassName.substring( 0, mojoClassName.length() - 4 );
  +
  +        try
  +        {
  +            Class mojoClass = 
Thread.currentThread().getContextClassLoader().loadClass( mojoClassName );
  +
  +            plugin = (Plugin) mojoClass.newInstance();
  +        }
  +        catch ( Exception e )
  +        {
  +            throw new Exception(
  +                "Cannot find " + mojoClassName + "! Make sure your test case is 
named in the form ${mojoClassName}Test " +
  +                "or override the setupPlugin() method to instantiate the mojo 
yourself." );
  +        }
  +    }
   
       protected abstract Map getTestParameters()
           throws Exception;
  
  
  

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

Reply via email to