⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 referringpagesplugintest.java

📁 jspwiki source code,jspwiki source code
💻 JAVA
字号:
package com.ecyrd.jspwiki.plugin;import java.text.SimpleDateFormat;import java.util.Properties;import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite;import com.ecyrd.jspwiki.TestEngine;import com.ecyrd.jspwiki.WikiContext;import com.ecyrd.jspwiki.WikiPage;public class ReferringPagesPluginTest extends TestCase{    Properties props = new Properties();    TestEngine engine;    WikiContext context;    PluginManager manager;    public ReferringPagesPluginTest( String s )    {        super( s );    }    public void setUp()        throws Exception    {        props.load( TestEngine.findTestProperties() );        props.setProperty( "jspwiki.breakTitleWithSpaces", "false" );        engine = new TestEngine(props);        engine.saveText( "TestPage", "Reference to [Foobar]." );        engine.saveText( "Foobar", "Reference to [TestPage]." );        engine.saveText( "Foobar2", "Reference to [TestPage]." );        engine.saveText( "Foobar3", "Reference to [TestPage]." );        engine.saveText( "Foobar4", "Reference to [TestPage]." );        engine.saveText( "Foobar5", "Reference to [TestPage]." );        engine.saveText( "Foobar6", "Reference to [TestPage]." );        engine.saveText( "Foobar7", "Reference to [TestPage]." );        context = new WikiContext( engine, new WikiPage(engine,"TestPage") );        manager = new PluginManager( engine, props );    }    public void tearDown()    {        TestEngine.deleteTestPage( "TestPage" );        TestEngine.deleteTestPage( "Foobar" );        TestEngine.deleteTestPage( "Foobar2" );        TestEngine.deleteTestPage( "Foobar3" );        TestEngine.deleteTestPage( "Foobar4" );        TestEngine.deleteTestPage( "Foobar5" );        TestEngine.deleteTestPage( "Foobar6" );        TestEngine.deleteTestPage( "Foobar7" );    }    private String mkLink( String page )    {        return mkFullLink( page, page );    }    private String mkFullLink( String page, String link )    {        return "<a class=\"wikipage\" href=\"/Wiki.jsp?page="+link+"\">"+page+"</a>";    }    public void testSingleReferral()        throws Exception    {        WikiContext context2 = new WikiContext( engine, new WikiPage(engine, "Foobar") );        String res = manager.execute( context2,                                      "{INSERT com.ecyrd.jspwiki.plugin.ReferringPagesPlugin WHERE max=5}");        assertEquals( mkLink( "TestPage" )+"<br />",                      res );    }    public void testMaxReferences()        throws Exception    {        String res = manager.execute( context,                                      "{INSERT com.ecyrd.jspwiki.plugin.ReferringPagesPlugin WHERE max=5}");            int count = 0;        int index = -1;            // Count the number of hyperlinks.  We could check their        // correctness as well, though.            while( (index = res.indexOf("<a",index+1)) != -1 )        {            count++;        }            // there is one extra "<a" in the result         assertEquals( 5+1, count );            String expected = ">...and 2 more</a>";        count =0;        while( (index = res.indexOf(expected,index+1)) != -1 )        {            count++;        }        assertEquals("End", 1, count );    }    public void testReferenceWidth()        throws Exception    {        WikiContext context2 = new WikiContext( engine, new WikiPage(engine, "Foobar") );        String res = manager.execute( context2,                                      "{INSERT com.ecyrd.jspwiki.plugin.ReferringPagesPlugin WHERE maxwidth=5}");        assertEquals( mkFullLink( "TestP...", "TestPage" )+"<br />",                      res );    }    public void testInclude()        throws Exception    {        String res = manager.execute( context,                                      "{ReferringPagesPlugin include='*7'}" );        assertTrue( "7", res.indexOf("Foobar7") != -1 );        assertTrue( "6", res.indexOf("Foobar6") == -1 );        assertTrue( "5", res.indexOf("Foobar5") == -1 );        assertTrue( "4", res.indexOf("Foobar4") == -1 );        assertTrue( "3", res.indexOf("Foobar3") == -1 );        assertTrue( "2", res.indexOf("Foobar2") == -1 );    }    public void testExclude()        throws Exception    {        String res = manager.execute( context,                                      "{ReferringPagesPlugin exclude='*'}");        assertEquals( "...nobody",                      res );    }    public void testExclude2()        throws Exception    {        String res = manager.execute( context,                                      "{ReferringPagesPlugin exclude='*7'}");        assertTrue( res.indexOf("Foobar7") == -1 );    }    public void testExclude3()       throws Exception    {        String res = manager.execute( context,                                      "{ReferringPagesPlugin exclude='*7,*5,*4'}");        assertTrue( "7", res.indexOf("Foobar7") == -1 );        assertTrue( "6", res.indexOf("Foobar6") != -1 );        assertTrue( "5", res.indexOf("Foobar5") == -1 );        assertTrue( "4", res.indexOf("Foobar4") == -1 );        assertTrue( "3", res.indexOf("Foobar3") != -1 );        assertTrue( "2", res.indexOf("Foobar2") != -1 );    }    public void testCount() throws Exception    {        String result = null;        result = manager.execute(context, "{ReferringPagesPlugin show=count}");        assertEquals("7",result);                result = manager.execute(context, "{ReferringPagesPlugin,exclude='*7',show=count}");        assertEquals("6",result);                result = manager.execute(context, "{ReferringPagesPlugin,exclude='*7',show=count,showLastModified=true}");        String numberResult=result.substring(0,result.indexOf(" "));        assertEquals("6",numberResult);                String dateString = result.substring(result.indexOf("(")+1,result.indexOf(")"));        // the date should be parseable:        SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss dd-MMM-yyyy zzz");        df.parse(dateString);        // test if the proper exception is thrown:        String expectedExceptionString = "showLastModified=true is only valid if show=count is also specified";        String exceptionString = null;        try        {            result = manager.execute(context, "{ReferringPagesPlugin,showLastModified=true}");        }        catch (PluginException pe)        {            exceptionString = pe.getMessage();        }        assertEquals(expectedExceptionString, exceptionString);    }    public static Test suite()    {        return new TestSuite( ReferringPagesPluginTest.class );    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -