You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jspwiki.apache.org by Janne Jalkanen <Ja...@ecyrd.com> on 2008/12/28 17:49:35 UTC
Re: svn commit: r729753 - in /incubator/jspwiki/trunk: ./ etc/ src/com/ecyrd/jspwiki/ src/com/ecyrd/jspwiki/plugin/ tests/com/ecyrd/jspwiki/plugin/ tests/etc/
Harry,
you might want to just test for the presence of particular plugins
(as with String.indexOf()) as opposed to testing against the entire
HTML. The current one is a very brittle test which breaks if any
plugins are added or removed.
/Janne
On Dec 28, 2008, at 18:41 , metskem@apache.org wrote:
> Author: metskem
> Date: Sun Dec 28 08:41:25 2008
> New Revision: 729753
>
> URL: http://svn.apache.org/viewvc?rev=729753&view=rev
> Log:
> 3.0.0-svn-40 JSPWIKI-459 PluginIndexPlugin
>
> cleaned up the test version of jspwiki.properties.tmpl
> if you want to run individual junit tests from within eclipse, you
> can add log4j to the classpath of the test config (this is not
> necessary if you run 'ant tests')
>
> Added:
> incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/
> PluginIndexPlugin.java
> incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/
> PluginIndexPluginTest.java
> Removed:
> incubator/jspwiki/trunk/etc/commons-logging.properties
> Modified:
> incubator/jspwiki/trunk/ChangeLog
> incubator/jspwiki/trunk/ReleaseNotes
> incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java
> incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/
> AllTests.java
> incubator/jspwiki/trunk/tests/etc/jspwiki.properties.tmpl
>
> Modified: incubator/jspwiki/trunk/ChangeLog
> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?
> rev=729753&r1=729752&r2=729753&view=diff
> ======================================================================
> ========
> --- incubator/jspwiki/trunk/ChangeLog (original)
> +++ incubator/jspwiki/trunk/ChangeLog Sun Dec 28 08:41:25 2008
> @@ -1,3 +1,9 @@
> +2008-12-28 Harry Metske <me...@apache.org>
> +
> + * 3.0.0-svn-40
> +
> + * JSPWIKI-459 PluginIndexPlugin
> +
> 2008-12-22 Andrew Jaquith <ajaquith AT apache DOT org>
>
> * 3.0.0-svn-39
>
> Modified: incubator/jspwiki/trunk/ReleaseNotes
> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/
> ReleaseNotes?rev=729753&r1=729752&r2=729753&view=diff
> ======================================================================
> ========
> --- incubator/jspwiki/trunk/ReleaseNotes (original)
> +++ incubator/jspwiki/trunk/ReleaseNotes Sun Dec 28 08:41:25 2008
> @@ -13,7 +13,7 @@
>
> * JSPWiki now requires JDK 1.5 to run.
>
> -* Simplified Chinese, Dutch and Italian localizations added!
> +* Simplified Chinese, Dutch, Russian and Italian localizations added!
>
> * Logging by JSPWiki is now done with slf4j, see http://
> www.slf4j.org for details.
> You can now decide at runtime which logging implementation you
> want, just pick
> @@ -22,6 +22,8 @@
> you have a good reason.
> The log4j configuration statements have been moved to a separate
> file log4j.properties,
> this file should be on your CLASSPATH, by default it is placed
> in WEB-INF/classes
> +
> +* A new plugin was added that shows you all plugins that are
> available: PluginIndexPlugin
>
> The full log of any issues fixed can be found at:
>
>
> Modified: incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java
> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/com/
> ecyrd/jspwiki/Release.java?rev=729753&r1=729752&r2=729753&view=diff
> ======================================================================
> ========
> --- incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java
> (original)
> +++ incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java Sun
> Dec 28 08:41:25 2008
> @@ -77,7 +77,7 @@
> * <p>
> * If the build identifier is empty, it is not added.
> */
> - public static final String BUILD = "39";
> + public static final String BUILD = "40";
>
> /**
> * This is the generic version string you should use
>
> Added: incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/
> PluginIndexPlugin.java
> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/com/
> ecyrd/jspwiki/plugin/PluginIndexPlugin.java?rev=729753&view=auto
> ======================================================================
> ========
> --- incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/
> PluginIndexPlugin.java (added)
> +++ incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/
> PluginIndexPlugin.java Sun Dec 28 08:41:25 2008
> @@ -0,0 +1,117 @@
> +/*
> + JSPWiki - a JSP-based WikiWiki clone.
> +
> + Licensed to the Apache Software Foundation (ASF) under one
> + or more contributor license agreements. See the NOTICE file
> + distributed with this work for additional information
> + regarding copyright ownership. The ASF licenses this file
> + to you under the Apache License, Version 2.0 (the
> + "License"); you may not use this file except in compliance
> + with the License. You may obtain a copy of the License at
> +
> + http://www.apache.org/licenses/LICENSE-2.0
> +
> + Unless required by applicable law or agreed to in writing,
> + software distributed under the License is distributed on an
> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + KIND, either express or implied. See the License for the
> + specific language governing permissions and limitations
> + under the License.
> + */
> +package com.ecyrd.jspwiki.plugin;
> +
> +import java.util.Collection;
> +import java.util.Map;
> +
> +import org.apache.jspwiki.api.ModuleData;
> +import org.apache.jspwiki.api.PluginException;
> +
> +import com.ecyrd.jspwiki.WikiContext;
> +import com.ecyrd.jspwiki.plugin.PluginManager.WikiPluginInfo;
> +
> +/**
> + * <p>
> + * Displays which plugins are available in this wiki. Also shows
> all metadata
> + * available for each plugin in an HTML table
> + * <p>
> + * Parameters :
> + * </p>
> + * <ul>
> + * <li><b>details</b> - value can be true or false, default is
> false, in which
> + * case only the name of the plugin is listed. If true, then all
> available meta
> + * data of the plugin is shown</li>
> + * </ul>
> + *
> + * @since 3.0
> + * @author Harry Metske
> + */
> +@ModuleData( author = "Harry Metske", minVersion = "3.0",
> maxVersion = "1000000", minAPIVersion = "2.8" )
> +public class PluginIndexPlugin extends AbstractReferralPlugin
> implements WikiPlugin
> +{
> + /** Parameter name for the details parameter. Value is <tt>
> {@value}</tt>. */
> + public static final String PARAM_DETAILS = "details";
> +
> + private static final String BLANK = " ";
> +
> + /**
> + * {@inheritDoc}
> + */
> + public String execute( WikiContext context, Map params )
> throws PluginException
> + {
> + super.initialize( context, params );
> +
> + String details = (String) params.get( PARAM_DETAILS );
> +
> + String summaryHeader = "\n||name";
> + String detailHeader = "\n||Name||Class Name||alias's||
> author||minVersion||maxVersion||adminBean Class";
> +
> + Collection<WikiPluginInfo> plugins = context.getEngine
> ().getPluginManager().modules();
> +
> + StringBuilder wikitext = new StringBuilder();
> +
> + if( "true".equals( details ) )
> + {
> + wikitext.append( detailHeader );
> + for( WikiPluginInfo pluginInfo : plugins )
> + {
> + String name = pluginInfo.getName();
> + String clazz = pluginInfo.getClassName();
> + String[] aliass = pluginInfo.getAliases();
> + String author = pluginInfo.getAuthor();
> + if( author == null )
> + author = BLANK;
> + String minVersion = pluginInfo.getMinVersion();
> + if( minVersion == null )
> + minVersion = BLANK;
> + String maxVersion = pluginInfo.getMaxVersion();
> + if( maxVersion == null )
> + maxVersion = BLANK;
> + String adminBeanClazz =
> pluginInfo.getAdminBeanClass();
> + if( adminBeanClazz == null )
> + adminBeanClazz = BLANK;
> + StringBuilder aliassString = new StringBuilder
> ( BLANK );
> +
> + if( aliass != null )
> + {
> + for( int i = 0; i < aliass.length; i++ )
> + {
> + aliassString.append( " " + aliass[i] );
> + }
> + }
> +
> + wikitext.append( "\n|" + name + "|" + clazz + "|"
> + aliassString + "|" + author + "|" + minVersion + "|"
> + + maxVersion + "|" +
> adminBeanClazz );
> + }
> + }
> + else
> + {
> + wikitext.append( summaryHeader );
> + for( WikiPluginInfo pluginInfo : plugins )
> + {
> + String name = pluginInfo.getName();
> + wikitext.append( "\n|" + name );
> + }
> + }
> + return makeHTML( context, wikitext.toString() );
> + }
> +}
>
> Modified: incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/
> AllTests.java
> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/com/
> ecyrd/jspwiki/plugin/AllTests.java?
> rev=729753&r1=729752&r2=729753&view=diff
> ======================================================================
> ========
> --- incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/
> AllTests.java (original)
> +++ incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/
> AllTests.java Sun Dec 28 08:41:25 2008
> @@ -41,6 +41,7 @@
> suite.addTest( CounterPluginTest.suite() );
> suite.addTest( GroupsTest.suite() );
> suite.addTest( InsertPageTest.suite() );
> + suite.addTest( PluginIndexPluginTest.suite() );
> suite.addTest( PluginManagerTest.suite() );
> suite.addTest( ReferringPagesPluginTest.suite() );
> suite.addTest( TableOfContentsTest.suite() );
>
> Added: incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/
> PluginIndexPluginTest.java
> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/com/
> ecyrd/jspwiki/plugin/PluginIndexPluginTest.java?rev=729753&view=auto
> ======================================================================
> ========
> --- incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/
> PluginIndexPluginTest.java (added)
> +++ incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/
> PluginIndexPluginTest.java Sun Dec 28 08:41:25 2008
> @@ -0,0 +1,81 @@
> +package com.ecyrd.jspwiki.plugin;
> +
> +import java.util.Properties;
> +
> +import org.apache.jspwiki.api.PluginException;
> +
> +import junit.framework.Test;
> +import junit.framework.TestCase;
> +import junit.framework.TestSuite;
> +
> +import com.ecyrd.jspwiki.TestEngine;
> +import com.ecyrd.jspwiki.WikiContext;
> +
> +public class PluginIndexPluginTest extends TestCase
> +{
> + Properties props = new Properties();
> +
> + TestEngine engine;
> +
> + WikiContext context;
> +
> + PluginManager manager;
> +
> + public PluginIndexPluginTest( String s )
> + {
> + super( s );
> + }
> +
> + public void setUp() throws Exception
> + {
> + props.load( TestEngine.findTestProperties() );
> +
> + // prevent "create" links :
> + props.setProperty
> ( "jspwiki.translatorReader.camelCaseLinks", "false" );
> +
> + engine = new TestEngine( props );
> +
> + manager = new PluginManager( engine, props );
> +
> + context = engine.getWikiContextFactory().newViewContext
> ( engine.createPage( "TestPage" ) );
> + }
> +
> + public void tearDown()
> + {
> + TestEngine.emptyWorkDir();
> + }
> +
> + public static Test suite()
> + {
> + return new TestSuite( PluginIndexPluginTest.class );
> + }
> +
> + /**
> + * Test for : PluginIndexPlugin details=false Shows only the
> plugin names
> + *
> + * @throws PluginException
> + */
> + public void testDetailsFalse() throws PluginException
> + {
> + String expectedResult = "<p />\n<table class=\"wikitable\"
> border=\"1\"><tr class=\"odd\"><th>name</th></tr>
> \n<tr><td>BugReportHandler</td></tr>\n<tr class=\"odd
> \"><td>Counter</td></tr>\n<tr><td>CurrentTimePlugin</td></tr>\n<tr
> class=\"odd\"><td>Denounce</td></tr>\n<tr><td>FormClose</td></tr>
> \n<tr class=\"odd\"><td>FormInput</td></tr>\n<tr><td>FormOpen</td></
> tr>\n<tr class=\"odd\"><td>FormOutput</td></tr>
> \n<tr><td>FormSelect</td></tr>\n<tr class=\"odd\"><td>FormSet</td></
> tr>\n<tr><td>FormTextarea</td></tr>\n<tr class=\"odd\"><td>Groups</
> td></tr>\n<tr><td>IfPlugin</td></tr>\n<tr class=\"odd\"><td>Image</
> td></tr>\n<tr><td>IndexPlugin</td></tr>\n<tr class=\"odd
> \"><td>InsertPage</td></tr>\n<tr><td>JavaScriptPlugin</td></tr>
> \n<tr class=\"odd\"><td>ListLocksPlugin</td></tr>\n<tr><td>Note</
> td></tr>\n<tr class=\"odd\"><td>PluginIndexPlugin</td></tr>
> \n<tr><td>RPCSamplePlugin</td></tr>\n<tr class=\"odd
> \"><td>RecentChangesPlugin</td></tr>\n<tr><td>ReferredPagesPlugin</
> td></tr>\
> n<tr class=\"odd\"><td>ReferringPagesPlugin</td></tr>
> \n<tr><td>SamplePlugin</td></tr>\n<tr class=\"odd\"><td>Search</
> td></tr>\n<tr><td>SessionsPlugin</td></tr>\n<tr class=\"odd
> \"><td>TableOfContents</td></tr>\n<tr><td>UndefinedPagesPlugin</
> td></tr>\n<tr class=\"odd\"><td>UnusedPagesPlugin</td></tr>
> \n<tr><td>WeblogArchivePlugin</td></tr>\n<tr class=\"odd
> \"><td>WeblogEntryPlugin</td></tr>\n<tr><td>WeblogPlugin</td></tr></
> table>";
> + String result = manager.execute( context,
> "{PluginIndexPlugin details=false}" );
> +
> + // now this is a very straightforward test, if a new
> plugin is added, a plugin is removed, this test will have to be
> modified
> + assertEquals( expectedResult, result );
> + }
> +
> + /**
> + * Test for : PluginIndexPlugin details=true Shows the plugin
> names
> + * including all attributes
> + *
> + * @throws PluginException
> + */
> + public void testDetailsTrue() throws PluginException
> + {
> + String expectedResult = "<p />\n<table class=\"wikitable\"
> border=\"1\"><tr class=\"odd\"><th>Name</th><th>Class Name</
> th><th>alias's</th><th>author</th><th>minVersion</
> th><th>maxVersion</th><th>adminBean Class</th></tr>
> \n<tr><td>BugReportHandler</
> td><td>com.ecyrd.jspwiki.plugin.BugReportHandler</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr class=\"odd\"><td>Counter</
> td><td>com.ecyrd.jspwiki.plugin.Counter</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>CurrentTimePlugin</
> td><td>com.ecyrd.jspwiki.plugin.CurrentTimePlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr class=\"odd\"><td>Denounce</
> td><td>com.ecyrd.jspwiki.plugin.Denounce</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>FormClose</td><td>com.ecyrd.jspwiki.forms.FormClose</
> td><td> </td><td> </td><td> </td><td>
> </td><td> </td></tr>\n<tr class=\"odd\"><td>FormInput</
> td><td>com.ecyrd.jspwiki.forms.FormInput</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>FormOpen</td><td>com.ecyrd.jspwiki.forms.FormOpen</
> td><td> </td><td> </td><td> </td><td> </
> td><td> </td></tr>\n<tr class=\"odd\"><td>FormOutput</
> td><td>com.ecyrd.jspwiki.forms.FormOutput</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>FormSelect</td><td>com.ecyrd.jspwiki.forms.FormSelect</
> td><td> </td><td> </td><td> </td><td> </
> td><td> </td></tr>\n<tr class=\"odd\"><td>FormSet</
> td><td>com.ecyrd.jspwiki.forms.FormSet</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>FormTextarea</
> td><td>com.ecyrd.jspwiki.forms.FormTextarea</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr class=\"odd\"><td>Groups</td><td>com
> .ecyrd.jspwiki.plugin.Groups</td><td> </td><td> </
> td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>IfPlugin</td><td>com.ecyrd.jspwiki.plugin.IfPlugin</
> td><td> If</td><td>AnonymousCoward</td><td>0.0</
> td><td>1000000.0</td><td /></tr>\n<tr class=\"odd\"><td>Image</
> td><td>com.ecyrd.jspwiki.plugin.Image</td><td> </
> td><td>JSPWiki development group</td><td>0.0</td><td>1000000.0</
> td><td /></tr>\n<tr><td>IndexPlugin</
> td><td>com.ecyrd.jspwiki.plugin.IndexPlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr class=\"odd\"><td>InsertPage</
> td><td>com.ecyrd.jspwiki.plugin.InsertPage</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>JavaScriptPlugin</
> td><td>com.ecyrd.jspwiki.plugin.JavaScriptPlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr class=\"odd\"><td>ListLocksPlugin</
> td><td>com.ecyrd.jspwiki.plugin.ListLocksPlugin<
> /td><td> </td><td> </td><td> </td><td> </
> td><td> </td></tr>\n<tr><td>Note</
> td><td>com.ecyrd.jspwiki.plugin.Note</td><td> </td><td> </
> td><td> </td><td> </td><td> </td></tr>\n<tr class=
> \"odd\"><td>PluginIndexPlugin</
> td><td>com.ecyrd.jspwiki.plugin.PluginIndexPlugin</td><td> </
> td><td>Harry Metske</td><td>3.0</td><td>1000000</td><td /></tr>
> \n<tr><td>RPCSamplePlugin</
> td><td>com.ecyrd.jspwiki.plugin.RPCSamplePlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr class=\"odd\"><td>RecentChangesPlugin</
> td><td>com.ecyrd.jspwiki.plugin.RecentChangesPlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>ReferredPagesPlugin</
> td><td>com.ecyrd.jspwiki.plugin.ReferredPagesPlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr class=\"odd\"><td>ReferringPagesPlugin</
> td><td>com.ecyrd.jspwiki.plugin.ReferringP
> agesPlugin</td><td> </td><td> </td><td> </
> td><td> </td><td> </td></tr>\n<tr><td>SamplePlugin</
> td><td>com.ecyrd.jspwiki.plugin.SamplePlugin</td><td>
> samplealias2 samplealias</td><td>Urgle Burgle</td><td>0.0</
> td><td>1000000.0</td><td /></tr>\n<tr class=\"odd\"><td>Search</
> td><td>com.ecyrd.jspwiki.plugin.Search</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>SessionsPlugin</
> td><td>com.ecyrd.jspwiki.plugin.SessionsPlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr class=\"odd\"><td>TableOfContents</
> td><td>com.ecyrd.jspwiki.plugin.TableOfContents</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>UndefinedPagesPlugin</
> td><td>com.ecyrd.jspwiki.plugin.UndefinedPagesPlugin</
> td><td> </td><td> </td><td> </td><td> </
> td><td> </td></tr>\n<tr class=\"odd\"><td>UnusedPagesPlugin</
> td><td>com.ecyrd.jspwi
> ki.plugin.UnusedPagesPlugin</td><td> </td><td> </
> td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>WeblogArchivePlugin</
> td><td>com.ecyrd.jspwiki.plugin.WeblogArchivePlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr class=\"odd\"><td>WeblogEntryPlugin</
> td><td>com.ecyrd.jspwiki.plugin.WeblogEntryPlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></tr>
> \n<tr><td>WeblogPlugin</
> td><td>com.ecyrd.jspwiki.plugin.WeblogPlugin</td><td> </
> td><td> </td><td> </td><td> </td><td> </td></
> tr></table>";
> + String result = manager.execute( context,
> "{PluginIndexPlugin details=true}" );
> +
> + // now this is a very straightforward test, if a new
> plugin is added, a plugin is removed, this test will have to be
> modified
> + assertEquals( expectedResult, result );
> + }
> +}
>
> Modified: incubator/jspwiki/trunk/tests/etc/jspwiki.properties.tmpl
> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/etc/
> jspwiki.properties.tmpl?rev=729753&r1=729752&r2=729753&view=diff
> ======================================================================
> ========
> --- incubator/jspwiki/trunk/tests/etc/jspwiki.properties.tmpl
> (original)
> +++ incubator/jspwiki/trunk/tests/etc/jspwiki.properties.tmpl Sun
> Dec 28 08:41:25 2008
> @@ -103,47 +103,6 @@
> jspwiki.groupdatabase.modified=modified
> jspwiki.groupdatabase.modifier=modifier
>
> -#
> -# Configure logs.
> -#
> -# Send mail on alerts
> -#
> -#
> -# Log only interesting stuff on screen.
> -#
> -#log4j.appender.console = org.apache.log4j.ConsoleAppender
> -#log4j.appender.console.Threshold = WARN
> -
> -#log4j.appender.console.layout = org.apache.log4j.PatternLayout
> -#log4j.appender.console.layout.ConversionPattern = %-5p: %m%n
> -
> -#
> -# Log everything into a file.
> -log4j.rootCategory=INFO,FileLog
> -log4j.logger.com.ecyrd.jspwiki=INFO, FileLog
> -log4j.logger.org.mortbay=INFO, TestContainerLog
> -log4j.logger.SecurityLog=INFO, SecurityAppender
> -
> -log4j.appender.FileLog = org.apache.log4j.RollingFileAppender
> -log4j.appender.FileLog.MaxFileSize = 10MB
> -log4j.appender.FileLog.MaxBackupIndex = 14
> -log4j.appender.FileLog.File = @tests.logfile@
> -log4j.appender.FileLog.layout = org.apache.log4j.PatternLayout
> -log4j.appender.FileLog.layout.ConversionPattern=%d [%t] %p %c %x -
> %m%n
> -
> -log4j.appender.SecurityAppender =
> org.apache.log4j.RollingFileAppender
> -log4j.appender.SecurityAppender.MaxFileSize = 10MB
> -log4j.appender.SecurityAppender.MaxBackupIndex = 14
> -log4j.appender.SecurityAppender.File = @securitylog@
> -log4j.appender.SecurityAppender.layout =
> org.apache.log4j.PatternLayout
> -log4j.appender.SecurityAppender.layout.ConversionPattern=%d %p - %m%n
> -
> -log4j.appender.TestContainerLog =
> org.apache.log4j.RollingFileAppender
> -log4j.appender.TestContainerLog.MaxFileSize = 10MB
> -log4j.appender.TestContainerLog.MaxBackupIndex = 14
> -log4j.appender.TestContainerLog.layout =
> org.apache.log4j.PatternLayout
> -log4j.appender.TestContainerLog.layout.ConversionPattern=%d [%t] %
> p %c %x - %m%n
> -
> # JavaMail properties
> mail.smtp.host = 127.0.0.1
> mail.smtp.port = 25
>
Re: svn commit: r729753 - in /incubator/jspwiki/trunk: ./ etc/ src/com/ecyrd/jspwiki/ src/com/ecyrd/jspwiki/plugin/ tests/com/ecyrd/jspwiki/plugin/ tests/etc/
Posted by Harry Metske <ha...@gmail.com>.
yes, that was exactly what I meant with the comment statement :-)
This was a 0.9 version, I'll fix that coming week.
thanks,
Harry
2008/12/28 Janne Jalkanen <Ja...@ecyrd.com>
>
> Harry,
>
> you might want to just test for the presence of particular plugins (as with
> String.indexOf()) as opposed to testing against the entire HTML. The
> current one is a very brittle test which breaks if any plugins are added or
> removed.
>
> /Janne
>
> On Dec 28, 2008, at 18:41 , metskem@apache.org wrote:
>
> Author: metskem
>> Date: Sun Dec 28 08:41:25 2008
>> New Revision: 729753
>>
>> URL: http://svn.apache.org/viewvc?rev=729753&view=rev
>> Log:
>> 3.0.0-svn-40 JSPWIKI-459 PluginIndexPlugin
>>
>> cleaned up the test version of jspwiki.properties.tmpl
>> if you want to run individual junit tests from within eclipse, you can add
>> log4j to the classpath of the test config (this is not necessary if you run
>> 'ant tests')
>>
>> Added:
>>
>> incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/PluginIndexPlugin.java
>>
>> incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/PluginIndexPluginTest.java
>> Removed:
>> incubator/jspwiki/trunk/etc/commons-logging.properties
>> Modified:
>> incubator/jspwiki/trunk/ChangeLog
>> incubator/jspwiki/trunk/ReleaseNotes
>> incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java
>> incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/AllTests.java
>> incubator/jspwiki/trunk/tests/etc/jspwiki.properties.tmpl
>>
>> Modified: incubator/jspwiki/trunk/ChangeLog
>> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog
>> ?rev=729753&r1=729752&r2=729753&view=diff
>>
>> ==============================================================================
>> --- incubator/jspwiki/trunk/ChangeLog (original)
>> +++ incubator/jspwiki/trunk/ChangeLog Sun Dec 28 08:41:25 2008
>> @@ -1,3 +1,9 @@
>> +2008-12-28 Harry Metske <me...@apache.org>
>> +
>> + * 3.0.0-svn-40
>> +
>> + * JSPWIKI-459 PluginIndexPlugin
>> +
>> 2008-12-22 Andrew Jaquith <ajaquith AT apache DOT org>
>>
>> * 3.0.0-svn-39
>>
>> Modified: incubator/jspwiki/trunk/ReleaseNotes
>> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/
>> ReleaseNotes?rev=729753&r1=729752&r2=729753&view=diff
>>
>> ==============================================================================
>> --- incubator/jspwiki/trunk/ReleaseNotes (original)
>> +++ incubator/jspwiki/trunk/ReleaseNotes Sun Dec 28 08:41:25 2008
>> @@ -13,7 +13,7 @@
>>
>> * JSPWiki now requires JDK 1.5 to run.
>>
>> -* Simplified Chinese, Dutch and Italian localizations added!
>> +* Simplified Chinese, Dutch, Russian and Italian localizations added!
>>
>> * Logging by JSPWiki is now done with slf4j, see http://www.slf4j.orgfor details.
>> You can now decide at runtime which logging implementation you want,
>> just pick
>> @@ -22,6 +22,8 @@
>> you have a good reason.
>> The log4j configuration statements have been moved to a separate file
>> log4j.properties,
>> this file should be on your CLASSPATH, by default it is placed in
>> WEB-INF/classes
>> +
>> +* A new plugin was added that shows you all plugins that are available:
>> PluginIndexPlugin
>>
>> The full log of any issues fixed can be found at:
>>
>>
>> Modified: incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java
>> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/com/
>> ecyrd/jspwiki/Release.java?rev=729753&r1=729752&r2=729753&view=diff
>>
>> ==============================================================================
>> --- incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java (original)
>> +++ incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/Release.java Sun Dec 28
>> 08:41:25 2008
>> @@ -77,7 +77,7 @@
>> * <p>
>> * If the build identifier is empty, it is not added.
>> */
>> - public static final String BUILD = "39";
>> + public static final String BUILD = "40";
>>
>> /**
>> * This is the generic version string you should use
>>
>> Added:
>> incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/PluginIndexPlugin.java
>> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/src/com/
>> ecyrd/jspwiki/plugin/PluginIndexPlugin.java?rev=729753&view=auto
>>
>> ==============================================================================
>> ---
>> incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/PluginIndexPlugin.java
>> (added)
>> +++
>> incubator/jspwiki/trunk/src/com/ecyrd/jspwiki/plugin/PluginIndexPlugin.java
>> Sun Dec 28 08:41:25 2008
>> @@ -0,0 +1,117 @@
>> +/*
>> + JSPWiki - a JSP-based WikiWiki clone.
>> +
>> + Licensed to the Apache Software Foundation (ASF) under one
>> + or more contributor license agreements. See the NOTICE file
>> + distributed with this work for additional information
>> + regarding copyright ownership. The ASF licenses this file
>> + to you under the Apache License, Version 2.0 (the
>> + "License"); you may not use this file except in compliance
>> + with the License. You may obtain a copy of the License at
>> +
>> + http://www.apache.org/licenses/LICENSE-2.0
>> +
>> + Unless required by applicable law or agreed to in writing,
>> + software distributed under the License is distributed on an
>> + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + KIND, either express or implied. See the License for the
>> + specific language governing permissions and limitations
>> + under the License.
>> + */
>> +package com.ecyrd.jspwiki.plugin;
>> +
>> +import java.util.Collection;
>> +import java.util.Map;
>> +
>> +import org.apache.jspwiki.api.ModuleData;
>> +import org.apache.jspwiki.api.PluginException;
>> +
>> +import com.ecyrd.jspwiki.WikiContext;
>> +import com.ecyrd.jspwiki.plugin.PluginManager.WikiPluginInfo;
>> +
>> +/**
>> + * <p>
>> + * Displays which plugins are available in this wiki. Also shows all
>> metadata
>> + * available for each plugin in an HTML table
>> + * <p>
>> + * Parameters :
>> + * </p>
>> + * <ul>
>> + * <li><b>details</b> - value can be true or false, default is false, in
>> which
>> + * case only the name of the plugin is listed. If true, then all
>> available meta
>> + * data of the plugin is shown</li>
>> + * </ul>
>> + *
>> + * @since 3.0
>> + * @author Harry Metske
>> + */
>> +@ModuleData( author = "Harry Metske", minVersion = "3.0", maxVersion =
>> "1000000", minAPIVersion = "2.8" )
>> +public class PluginIndexPlugin extends AbstractReferralPlugin implements
>> WikiPlugin
>> +{
>> + /** Parameter name for the details parameter. Value is
>> <tt>{@value}</tt>. */
>> + public static final String PARAM_DETAILS = "details";
>> +
>> + private static final String BLANK = " ";
>> +
>> + /**
>> + * {@inheritDoc}
>> + */
>> + public String execute( WikiContext context, Map params ) throws
>> PluginException
>> + {
>> + super.initialize( context, params );
>> +
>> + String details = (String) params.get( PARAM_DETAILS );
>> +
>> + String summaryHeader = "\n||name";
>> + String detailHeader = "\n||Name||Class
>> Name||alias's||author||minVersion||maxVersion||adminBean Class";
>> +
>> + Collection<WikiPluginInfo> plugins =
>> context.getEngine().getPluginManager().modules();
>> +
>> + StringBuilder wikitext = new StringBuilder();
>> +
>> + if( "true".equals( details ) )
>> + {
>> + wikitext.append( detailHeader );
>> + for( WikiPluginInfo pluginInfo : plugins )
>> + {
>> + String name = pluginInfo.getName();
>> + String clazz = pluginInfo.getClassName();
>> + String[] aliass = pluginInfo.getAliases();
>> + String author = pluginInfo.getAuthor();
>> + if( author == null )
>> + author = BLANK;
>> + String minVersion = pluginInfo.getMinVersion();
>> + if( minVersion == null )
>> + minVersion = BLANK;
>> + String maxVersion = pluginInfo.getMaxVersion();
>> + if( maxVersion == null )
>> + maxVersion = BLANK;
>> + String adminBeanClazz = pluginInfo.getAdminBeanClass();
>> + if( adminBeanClazz == null )
>> + adminBeanClazz = BLANK;
>> + StringBuilder aliassString = new StringBuilder( BLANK );
>> +
>> + if( aliass != null )
>> + {
>> + for( int i = 0; i < aliass.length; i++ )
>> + {
>> + aliassString.append( " " + aliass[i] );
>> + }
>> + }
>> +
>> + wikitext.append( "\n|" + name + "|" + clazz + "|" +
>> aliassString + "|" + author + "|" + minVersion + "|"
>> + + maxVersion + "|" + adminBeanClazz );
>> + }
>> + }
>> + else
>> + {
>> + wikitext.append( summaryHeader );
>> + for( WikiPluginInfo pluginInfo : plugins )
>> + {
>> + String name = pluginInfo.getName();
>> + wikitext.append( "\n|" + name );
>> + }
>> + }
>> + return makeHTML( context, wikitext.toString() );
>> + }
>> +}
>>
>> Modified:
>> incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/AllTests.java
>> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/com/
>> ecyrd/jspwiki/plugin/AllTests.java?rev=729753&r1=729752&r2=729753&view=diff
>>
>> ==============================================================================
>> --- incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/AllTests.java
>> (original)
>> +++ incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/AllTests.java
>> Sun Dec 28 08:41:25 2008
>> @@ -41,6 +41,7 @@
>> suite.addTest( CounterPluginTest.suite() );
>> suite.addTest( GroupsTest.suite() );
>> suite.addTest( InsertPageTest.suite() );
>> + suite.addTest( PluginIndexPluginTest.suite() );
>> suite.addTest( PluginManagerTest.suite() );
>> suite.addTest( ReferringPagesPluginTest.suite() );
>> suite.addTest( TableOfContentsTest.suite() );
>>
>> Added:
>> incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/PluginIndexPluginTest.java
>> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/com/
>> ecyrd/jspwiki/plugin/PluginIndexPluginTest.java?rev=729753&view=auto
>>
>> ==============================================================================
>> ---
>> incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/PluginIndexPluginTest.java
>> (added)
>> +++
>> incubator/jspwiki/trunk/tests/com/ecyrd/jspwiki/plugin/PluginIndexPluginTest.java
>> Sun Dec 28 08:41:25 2008
>> @@ -0,0 +1,81 @@
>> +package com.ecyrd.jspwiki.plugin;
>> +
>> +import java.util.Properties;
>> +
>> +import org.apache.jspwiki.api.PluginException;
>> +
>> +import junit.framework.Test;
>> +import junit.framework.TestCase;
>> +import junit.framework.TestSuite;
>> +
>> +import com.ecyrd.jspwiki.TestEngine;
>> +import com.ecyrd.jspwiki.WikiContext;
>> +
>> +public class PluginIndexPluginTest extends TestCase
>> +{
>> + Properties props = new Properties();
>> +
>> + TestEngine engine;
>> +
>> + WikiContext context;
>> +
>> + PluginManager manager;
>> +
>> + public PluginIndexPluginTest( String s )
>> + {
>> + super( s );
>> + }
>> +
>> + public void setUp() throws Exception
>> + {
>> + props.load( TestEngine.findTestProperties() );
>> +
>> + // prevent "create" links :
>> + props.setProperty( "jspwiki.translatorReader.camelCaseLinks",
>> "false" );
>> +
>> + engine = new TestEngine( props );
>> +
>> + manager = new PluginManager( engine, props );
>> +
>> + context = engine.getWikiContextFactory().newViewContext(
>> engine.createPage( "TestPage" ) );
>> + }
>> +
>> + public void tearDown()
>> + {
>> + TestEngine.emptyWorkDir();
>> + }
>> +
>> + public static Test suite()
>> + {
>> + return new TestSuite( PluginIndexPluginTest.class );
>> + }
>> +
>> + /**
>> + * Test for : PluginIndexPlugin details=false Shows only the plugin
>> names
>> + *
>> + * @throws PluginException
>> + */
>> + public void testDetailsFalse() throws PluginException
>> + {
>> + String expectedResult = "<p />\n<table class=\"wikitable\"
>> border=\"1\"><tr
>> class=\"odd\"><th>name</th></tr>\n<tr><td>BugReportHandler</td></tr>\n<tr
>> class=\"odd\"><td>Counter</td></tr>\n<tr><td>CurrentTimePlugin</td></tr>\n<tr
>> class=\"odd\"><td>Denounce</td></tr>\n<tr><td>FormClose</td></tr>\n<tr
>> class=\"odd\"><td>FormInput</td></tr>\n<tr><td>FormOpen</td></tr>\n<tr
>> class=\"odd\"><td>FormOutput</td></tr>\n<tr><td>FormSelect</td></tr>\n<tr
>> class=\"odd\"><td>FormSet</td></tr>\n<tr><td>FormTextarea</td></tr>\n<tr
>> class=\"odd\"><td>Groups</td></tr>\n<tr><td>IfPlugin</td></tr>\n<tr
>> class=\"odd\"><td>Image</td></tr>\n<tr><td>IndexPlugin</td></tr>\n<tr
>> class=\"odd\"><td>InsertPage</td></tr>\n<tr><td>JavaScriptPlugin</td></tr>\n<tr
>> class=\"odd\"><td>ListLocksPlugin</td></tr>\n<tr><td>Note</td></tr>\n<tr
>> class=\"odd\"><td>PluginIndexPlugin</td></tr>\n<tr><td>RPCSamplePlugin</td></tr>\n<tr
>> class=\"odd\"><td>RecentChangesPlugin</td></tr>\n<tr><td>ReferredPagesPlugin</td></tr>\
>> n<tr
>> class=\"odd\"><td>ReferringPagesPlugin</td></tr>\n<tr><td>SamplePlugin</td></tr>\n<tr
>> class=\"odd\"><td>Search</td></tr>\n<tr><td>SessionsPlugin</td></tr>\n<tr
>> class=\"odd\"><td>TableOfContents</td></tr>\n<tr><td>UndefinedPagesPlugin</td></tr>\n<tr
>> class=\"odd\"><td>UnusedPagesPlugin</td></tr>\n<tr><td>WeblogArchivePlugin</td></tr>\n<tr
>> class=\"odd\"><td>WeblogEntryPlugin</td></tr>\n<tr><td>WeblogPlugin</td></tr></table>";
>> + String result = manager.execute( context, "{PluginIndexPlugin
>> details=false}" );
>> +
>> + // now this is a very straightforward test, if a new plugin is
>> added, a plugin is removed, this test will have to be modified
>> + assertEquals( expectedResult, result );
>> + }
>> +
>> + /**
>> + * Test for : PluginIndexPlugin details=true Shows the plugin names
>> + * including all attributes
>> + *
>> + * @throws PluginException
>> + */
>> + public void testDetailsTrue() throws PluginException
>> + {
>> + String expectedResult = "<p />\n<table class=\"wikitable\"
>> border=\"1\"><tr class=\"odd\"><th>Name</th><th>Class
>> Name</th><th>alias's</th><th>author</th><th>minVersion</th><th>maxVersion</th><th>adminBean
>> Class</th></tr>\n<tr><td>BugReportHandler</td><td>com.ecyrd.jspwiki.plugin.BugReportHandler</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>Counter</td><td>com.ecyrd.jspwiki.plugin.Counter</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>CurrentTimePlugin</td><td>com.ecyrd.jspwiki.plugin.CurrentTimePlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>Denounce</td><td>com.ecyrd.jspwiki.plugin.Denounce</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>FormClose</td><td>com.ecyrd.jspwiki.forms.FormClose</td><td> </td><td> </td><td> </td><td>
>> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>FormInput</td><td>com.ecyrd.jspwiki.forms.FormInput</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>FormOpen</td><td>com.ecyrd.jspwiki.forms.FormOpen</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>FormOutput</td><td>com.ecyrd.jspwiki.forms.FormOutput</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>FormSelect</td><td>com.ecyrd.jspwiki.forms.FormSelect</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>FormSet</td><td>com.ecyrd.jspwiki.forms.FormSet</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>FormTextarea</td><td>com.ecyrd.jspwiki.forms.FormTextarea</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>Groups</td><td>com
>> .ecyrd.jspwiki.plugin.Groups</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>IfPlugin</td><td>com.ecyrd.jspwiki.plugin.IfPlugin</td><td>
>> If</td><td>AnonymousCoward</td><td>0.0</td><td>1000000.0</td><td
>> /></tr>\n<tr
>> class=\"odd\"><td>Image</td><td>com.ecyrd.jspwiki.plugin.Image</td><td>
>> </td><td>JSPWiki development group</td><td>0.0</td><td>1000000.0</td><td
>> /></tr>\n<tr><td>IndexPlugin</td><td>com.ecyrd.jspwiki.plugin.IndexPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>InsertPage</td><td>com.ecyrd.jspwiki.plugin.InsertPage</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>JavaScriptPlugin</td><td>com.ecyrd.jspwiki.plugin.JavaScriptPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>ListLocksPlugin</td><td>com.ecyrd.jspwiki.plugin.ListLocksPlugin<
>> /td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>Note</td><td>com.ecyrd.jspwiki.plugin.Note</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>PluginIndexPlugin</td><td>com.ecyrd.jspwiki.plugin.PluginIndexPlugin</td><td>
>> </td><td>Harry Metske</td><td>3.0</td><td>1000000</td><td
>> /></tr>\n<tr><td>RPCSamplePlugin</td><td>com.ecyrd.jspwiki.plugin.RPCSamplePlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>RecentChangesPlugin</td><td>com.ecyrd.jspwiki.plugin.RecentChangesPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>ReferredPagesPlugin</td><td>com.ecyrd.jspwiki.plugin.ReferredPagesPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>ReferringPagesPlugin</td><td>com.ecyrd.jspwiki.plugin.ReferringP
>> agesPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>SamplePlugin</td><td>com.ecyrd.jspwiki.plugin.SamplePlugin</td><td>
>> samplealias2 samplealias</td><td>Urgle
>> Burgle</td><td>0.0</td><td>1000000.0</td><td /></tr>\n<tr
>> class=\"odd\"><td>Search</td><td>com.ecyrd.jspwiki.plugin.Search</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>SessionsPlugin</td><td>com.ecyrd.jspwiki.plugin.SessionsPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>TableOfContents</td><td>com.ecyrd.jspwiki.plugin.TableOfContents</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>UndefinedPagesPlugin</td><td>com.ecyrd.jspwiki.plugin.UndefinedPagesPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>UnusedPagesPlugin</td><td>com.ecyrd.jspwi
>> ki.plugin.UnusedPagesPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>WeblogArchivePlugin</td><td>com.ecyrd.jspwiki.plugin.WeblogArchivePlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr
>> class=\"odd\"><td>WeblogEntryPlugin</td><td>com.ecyrd.jspwiki.plugin.WeblogEntryPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>\n<tr><td>WeblogPlugin</td><td>com.ecyrd.jspwiki.plugin.WeblogPlugin</td><td> </td><td> </td><td> </td><td> </td><td> </td></tr></table>";
>> + String result = manager.execute( context, "{PluginIndexPlugin
>> details=true}" );
>> +
>> + // now this is a very straightforward test, if a new plugin is
>> added, a plugin is removed, this test will have to be modified
>> + assertEquals( expectedResult, result );
>> + }
>> +}
>>
>> Modified: incubator/jspwiki/trunk/tests/etc/jspwiki.properties.tmpl
>> URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/tests/etc/
>> jspwiki.properties.tmpl?rev=729753&r1=729752&r2=729753&view=diff
>>
>> ==============================================================================
>> --- incubator/jspwiki/trunk/tests/etc/jspwiki.properties.tmpl (original)
>> +++ incubator/jspwiki/trunk/tests/etc/jspwiki.properties.tmpl Sun Dec 28
>> 08:41:25 2008
>> @@ -103,47 +103,6 @@
>> jspwiki.groupdatabase.modified=modified
>> jspwiki.groupdatabase.modifier=modifier
>>
>> -#
>> -# Configure logs.
>> -#
>> -# Send mail on alerts
>> -#
>> -#
>> -# Log only interesting stuff on screen.
>> -#
>> -#log4j.appender.console = org.apache.log4j.ConsoleAppender
>> -#log4j.appender.console.Threshold = WARN
>> -
>> -#log4j.appender.console.layout = org.apache.log4j.PatternLayout
>> -#log4j.appender.console.layout.ConversionPattern = %-5p: %m%n
>> -
>> -#
>> -# Log everything into a file.
>> -log4j.rootCategory=INFO,FileLog
>> -log4j.logger.com.ecyrd.jspwiki=INFO, FileLog
>> -log4j.logger.org.mortbay=INFO, TestContainerLog
>> -log4j.logger.SecurityLog=INFO, SecurityAppender
>> -
>> -log4j.appender.FileLog = org.apache.log4j.RollingFileAppender
>> -log4j.appender.FileLog.MaxFileSize = 10MB
>> -log4j.appender.FileLog.MaxBackupIndex = 14
>> -log4j.appender.FileLog.File = @tests.logfile@
>> -log4j.appender.FileLog.layout = org.apache.log4j.PatternLayout
>> -log4j.appender.FileLog.layout.ConversionPattern=%d [%t] %p %c %x - %m%n
>> -
>> -log4j.appender.SecurityAppender = org.apache.log4j.RollingFileAppender
>> -log4j.appender.SecurityAppender.MaxFileSize = 10MB
>> -log4j.appender.SecurityAppender.MaxBackupIndex = 14
>> -log4j.appender.SecurityAppender.File = @securitylog@
>> -log4j.appender.SecurityAppender.layout = org.apache.log4j.PatternLayout
>> -log4j.appender.SecurityAppender.layout.ConversionPattern=%d %p - %m%n
>> -
>> -log4j.appender.TestContainerLog = org.apache.log4j.RollingFileAppender
>> -log4j.appender.TestContainerLog.MaxFileSize = 10MB
>> -log4j.appender.TestContainerLog.MaxBackupIndex = 14
>> -log4j.appender.TestContainerLog.layout = org.apache.log4j.PatternLayout
>> -log4j.appender.TestContainerLog.layout.ConversionPattern=%d [%t] %p %c %x
>> - %m%n
>> -
>> # JavaMail properties
>> mail.smtp.host = 127.0.0.1
>> mail.smtp.port = 25
>>
>>
>