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

📄 wikienginetest.java

📁 jspwiki source code,jspwiki source code
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        m_engine.deletePage(att.getName());                m_engine.deletePage( NAME1 );                assertNull( "Page not removed", m_engine.getPage(NAME1) );        assertNull( "Att not removed", m_engine.getPage(NAME1+"/TestAtt.txt") );                Collection refs = m_engine.getReferenceManager().findReferrers(NAME1);                assertNull( "referrers", refs );    }        public void testDeleteVersion()        throws Exception    {        props.setProperty( "jspwiki.pageProvider", "VersioningFileProvider" );                TestEngine engine = new TestEngine( props );        engine.saveText( NAME1, "Test1" );        engine.saveText( NAME1, "Test2" );        engine.saveText( NAME1, "Test3" );        WikiPage page = engine.getPage( NAME1, 3 );        engine.deleteVersion( page );                assertNull( "got page", engine.getPage( NAME1, 3 ) );                String content = engine.getText( NAME1, WikiProvider.LATEST_VERSION );                assertEquals( "content", "Test2", content.trim() );    }    public void testDeleteVersion2()        throws Exception    {        props.setProperty( "jspwiki.pageProvider", "VersioningFileProvider" );            TestEngine engine = new TestEngine( props );        engine.saveText( NAME1, "Test1" );        engine.saveText( NAME1, "Test2" );        engine.saveText( NAME1, "Test3" );        WikiPage page = engine.getPage( NAME1, 1 );                engine.deleteVersion( page );                assertNull( "got page", engine.getPage( NAME1, 1 ) );                String content = engine.getText( NAME1, WikiProvider.LATEST_VERSION );                assertEquals( "content", "Test3", content.trim() );                assertEquals( "content1", "", engine.getText(NAME1, 1).trim() );    }        /**     *  Assumes that CachingProvider is in use.     */    public void testExternalModificationRefs()        throws Exception    {        ReferenceManager refMgr = m_engine.getReferenceManager();        m_engine.saveText( NAME1, "[Foobar]" );        m_engine.getText( NAME1 ); // Ensure that page is cached.        Collection c = refMgr.findUncreated();        assertTrue( "Non-existent reference not detected by ReferenceManager",            Util.collectionContains( c, "Foobar" ));        Thread.sleep( 2000L ); // Wait two seconds for filesystem granularity        String files = props.getProperty( FileSystemProvider.PROP_PAGEDIR );        File saved = new File( files, NAME1+FileSystemProvider.FILE_EXT );        assertTrue( "No file!", saved.exists() );        FileWriter out = new FileWriter( saved );        FileUtil.copyContents( new StringReader("[Puppaa]"), out );        out.close();        Thread.sleep( 2000L*PAGEPROVIDER_RESCAN_PERIOD ); // Wait five seconds for CachingProvider to wake up.        String text = m_engine.getText( NAME1 );        assertEquals( "wrong contents", "[Puppaa]", text );        c = refMgr.findUncreated();        assertTrue( "Non-existent reference after external page change " +                    "not detected by ReferenceManager",                    Util.collectionContains( c, "Puppaa" ));    }    /**     *  Assumes that CachingProvider is in use.     */    public void testExternalModificationRefsDeleted()        throws Exception    {        ReferenceManager refMgr = m_engine.getReferenceManager();        m_engine.saveText( NAME1, "[Foobar]" );        m_engine.getText( NAME1 ); // Ensure that page is cached.        Collection c = refMgr.findUncreated();        assertEquals( "uncreated count", 1, c.size() );        assertEquals( "wrong referenced page", "Foobar", (String)c.iterator().next() );        Thread.sleep( 2000L ); // Wait two seconds for filesystem granularity        String files = props.getProperty( FileSystemProvider.PROP_PAGEDIR );        File saved = new File( files, NAME1+FileSystemProvider.FILE_EXT );        assertTrue( "No file!", saved.exists() );        saved.delete();        assertFalse( "File not deleted!", saved.exists() );        Thread.sleep( 2000L*PAGEPROVIDER_RESCAN_PERIOD ); // Wait five seconds for CachingProvider to catch up.        WikiPage p = m_engine.getPage( NAME1 );        assertNull( "Got page!", p );        String text = m_engine.getText( NAME1 );        assertEquals( "wrong contents", "", text );        c = refMgr.findUncreated();        assertEquals( "NEW: uncreated count", 0, c.size() );    }    /**     *  Assumes that CachingProvider is in use.     */    public void testExternalModification()        throws Exception    {        m_engine.saveText( NAME1, "Foobar" );        m_engine.getText( NAME1 ); // Ensure that page is cached.        Thread.sleep( 2000L ); // Wait two seconds for filesystem granularity        String files = props.getProperty( FileSystemProvider.PROP_PAGEDIR );        File saved = new File( files, NAME1+FileSystemProvider.FILE_EXT );        assertTrue( "No file!", saved.exists() );        FileWriter out = new FileWriter( saved );        FileUtil.copyContents( new StringReader("Puppaa"), out );        out.close();        // Wait for the caching provider to notice a refresh.        Thread.sleep( 2000L*PAGEPROVIDER_RESCAN_PERIOD );        // Trim - engine.saveText() may append a newline.        String text = m_engine.getText( NAME1 ).trim();        assertEquals( "wrong contents", "Puppaa", text );    }    /**     *  Tests BugReadingOfVariableNotWorkingForOlderVersions     * @throws Exception     */    public void testOldVersionVars()        throws Exception    {           Properties pr = new Properties();        pr.load( TestEngine.findTestProperties("/jspwiki_vers.properties"));                pr.setProperty( PageManager.PROP_USECACHE, "true" );                TestEngine engine = new TestEngine( pr );                engine.saveText( NAME1, "[{SET foo=bar}]" );            engine.saveText( NAME1, "[{SET foo=notbar}]");            WikiPage v1 = engine.getPage( NAME1, 1 );                WikiPage v2 = engine.getPage( NAME1, 2 );                assertEquals( "V1", "bar", v1.getAttribute("foo") );                // FIXME: The following must run as well        assertEquals( "V2", "notbar", v2.getAttribute("foo") );                engine.deletePage( NAME1 );    }        public void testSpacedNames1()        throws Exception    {        m_engine.saveText("This is a test", "puppaa");                assertEquals( "normal", "puppaa", m_engine.getText("This is a test").trim() );        assertEquals( "lowercase", "puppaa", m_engine.getText("this is a test").trim() );        assertEquals( "randomcase", "puppaa", m_engine.getText("ThiS Is a teSt").trim() );    }    public void testParsedVariables() throws Exception    {        m_engine.saveText( "TestPage", "[{SET foo=bar}][{SamplePlugin text='{$foo}'}]");                String res = m_engine.getHTML( "TestPage" );                assertEquals( "bar\n", res );    }        /**     * Tests BugReferenceToRenamedPageNotCleared     *      * @throws Exception     */    public void testRename() throws Exception    {        m_engine.saveText( "RenameBugTestPage", "Mary had a little generic object" );        m_engine.saveText( "OldNameTestPage", "Linked to RenameBugTestPage" );               Collection pages = m_engine.getReferenceManager().findReferrers( "RenameBugTestPage" );        assertEquals( "has one", "OldNameTestPage", pages.iterator().next() );                WikiContext ctx = new WikiContext( m_engine, m_engine.getPage("OldNameTestPage") );                m_engine.renamePage( ctx, "OldNameTestPage", "NewNameTestPage", true );                    assertFalse( "did not vanish", m_engine.pageExists( "OldNameTestPage") );        assertTrue( "did not appear", m_engine.pageExists( "NewNameTestPage") );                pages = m_engine.getReferenceManager().findReferrers( "RenameBugTestPage" );                assertEquals( "wrong # of referrers", 1, pages.size() );                assertEquals( "has wrong referrer", "NewNameTestPage", pages.iterator().next() );            }        public void testChangeNoteOldVersion2() throws Exception    {        WikiPage p = new WikiPage( m_engine, NAME1 );            WikiContext context = new WikiContext(m_engine,p);        context.getPage().setAttribute( WikiPage.CHANGENOTE, "Test change" );                m_engine.saveText( context, "test" );        for( int i = 0; i < 5; i++ )        {            WikiPage p2 = (WikiPage)m_engine.getPage( NAME1 ).clone();            p2.removeAttribute(WikiPage.CHANGENOTE);            context.setPage( p2 );            m_engine.saveText( context, "test"+i );        }        WikiPage p3 = m_engine.getPage( NAME1, -1 );            assertEquals( null, p3.getAttribute(WikiPage.CHANGENOTE) );    }        public void testCreatePage() throws Exception     {        String text = "Foobar.\r\n";        String name = "mrmyxpltz";                assertEquals( "page should not exist right now",                      false,                      m_engine.pageExists( name ) );        m_engine.saveText( name, text );        assertEquals( "page does not exist",                      true,                      m_engine.pageExists( name ) );    }        public void testCreateEmptyPage() throws Exception     {        String text = "";        String name = "mrmxyzptlk";                assertEquals( "page should not exist right now",                      false,                      m_engine.pageExists( name ) );        m_engine.saveText( name, text );        assertEquals( "page should not exist right now neither",                      false,                      m_engine.pageExists( name ) );    }        public void testSaveExistingPageWithEmptyContent() throws Exception     {        String text = "Foobar.\r\n";        String name = NAME1;                m_engine.saveText( name, text );        assertEquals( "page does not exist",                      true,                      m_engine.pageExists( name ) );                // saveText uses normalizePostData to assure it conforms to certain rules        assertEquals( "wrong content",                      TextUtil.normalizePostData( text ),                      m_engine.getText( name ) );                m_engine.saveText( name, "" );                assertEquals( "wrong content",                      TextUtil.normalizePostData( "" ),                       m_engine.getText( name ) );            }}

⌨️ 快捷键说明

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