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

📄 userleveltest.java

📁 jsp写的wiki.比较新
💻 JAVA
字号:
package tests;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import junit.framework.TestCase;

import org.stringtree.factory.Fetcher;
import org.stringtree.factory.StringFetcher;
import org.stringtree.factory.memory.MapStringRepository;
import org.stringtree.factory.memory.MapTractRepository;
import org.stringtree.juicer.JuicerConvertHelper;
import org.stringtree.juicer.formatter.ExternalFormatter;
import org.stringtree.juicer.string.IgnoreCommentLineStringFilter;
import org.stringtree.juicer.string.JoinLinesStringFilter;
import org.stringtree.juicer.string.SplitLinesStringFilter;
import org.stringtree.juicer.string.StringFilter;
import org.stringtree.juicer.string.StringPipeline;
import org.stringtree.juicer.string.StringStringSource;
import org.stringtree.juicer.tract.JoinTractFilter;
import org.stringtree.juicer.tract.ReplaceTokenTractFilter;
import org.stringtree.juicer.tract.StringTractSource;
import org.stringtree.juicer.tract.TokenFinderTractFilter;
import org.stringtree.juicer.tract.TractFilter;
import org.stringtree.juicer.tract.TractFilterStringFetcher;
import org.stringtree.juicer.tract.TractPipeline;
import org.stringtree.util.FileReadingUtils;
import org.stringtree.util.FileWritingUtils;
import org.stringtree.util.StringUtils;
import org.stringtree.util.tract.Tract;

import wiki.WikiFormatterContext;

public class UserLevelTest 
	extends TestCase
{
	public void testIgnoreComments()
	{
		StringPipeline tube = new StringPipeline(new StringFilter[]
		{
			new SplitLinesStringFilter(),
			new IgnoreCommentLineStringFilter(),
			new JoinLinesStringFilter()
		});
		tube.connectSource(new StringStringSource("hello\n#there\n \nworld\n"));

		assertEquals("strip comment lines", "hello\nworld\n", tube.nextString());
	}

	private TractPipeline helloWorldPipeline()
	{
		Map map = new HashMap();
		map.put("hello", "world");
		
		TractPipeline tube = new TractPipeline(new TractFilter[]
		{
			new TokenFinderTractFilter(),
			new ReplaceTokenTractFilter(map),
			new JoinTractFilter()
		});
		return tube;
	}
	
	public void testReplaceTokens()
	{
		TractPipeline tube = helloWorldPipeline();

		tube.connectSource(new StringTractSource(" @hello@\n#there\n \nworld\n"));

		assertEquals("replace tokens", " world\n#there\n \nworld\n", JuicerConvertHelper.nextString(tube));
	}
	
	public void testPipelineStringFactory()
	{
		TractPipeline tube = helloWorldPipeline();

		StringFetcher fac = new TractFilterStringFetcher(tube);
		String result = fac.get(" @hello@\n#there\n \nworld\n");

		assertEquals("pipeline", " world\n#there\n \nworld\n", result);
	}
	
	public void testWikiTransform()
		throws IOException
	{
		MapTractRepository pages = new MapTractRepository();
		pages.put("FrontPage", new Tract("xx"));
		pages.put("MonospaceIndentationProblem", new Tract("yy"));
		
		MapStringRepository remotes = new MapStringRepository();
		remotes.put("Wiki", "http://c2.com/cgi/wiki?");
		remotes.put("MeatBall", "http://www.usemod.com/cgi-bin/mb.pl?");
		
		Fetcher context = new WikiFormatterContext(pages, remotes); 

		compareWiki(new ExternalFormatter(FileReadingUtils.readFile("wiki.transform"), context), "file");
	}
	
	private void compareWiki(StringFetcher wiki, String title)
		throws IOException
	{
		String input = FileReadingUtils.readFile("wiki-before.txt");
		assertFalse("wiki example page input is blank", StringUtils.isBlank(input));
		String expected = FileReadingUtils.readFile("wiki-after.html");
		assertFalse("wiki example page expected output is blank", StringUtils.isBlank(expected));
		String actual = wiki.get(input);
		assertFalse("wiki example page actual output is blank", StringUtils.isBlank(actual));

FileWritingUtils.writeFile(title + "-actual.html", actual);
		assertEquals("wiki page example", expected, actual);
	}
}

⌨️ 快捷键说明

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