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

📄 modeltest.java

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

import java.io.*;
import java.util.HashMap;

import org.stringtree.factory.memory.MapStringRepository;
import org.stringtree.util.ResourceUtils;
import org.stringtree.util.tract.Tract;

import junit.framework.*;

import com.efsol.friki.*;

public class ModelTest extends TestCase
{
	private PageRepository repository;
	private DelegatedRenderer renderer;
	private Renderer pr;
	private Renderer hr;
	private Policy policy;
	private Model m1;
	private File tmp;
	private File base;

	public ModelTest(String name)
	{
		super(name);
	}

	public void setUp()
	{
		RepositoryDriver driver = new InMemoryRepository();
		repository = new PageRepository(driver);
		pr = new PlainRenderer();
		ContentFilter filter = new ClassicToHTMLFilter(new MapStringRepository(), repository, 
			new HashMap(), ResourceUtils.readResource("wiki.transform"));
		hr = new SimpleHTMLRenderer(filter);
		renderer = new DelegatedRenderer(pr);
		tmp = new File("tmp");
		base = new File("base");

    	policy = new Policy(PolicyHelper.makeMap(new String[]
		{
			"repository-location=/tmp/friki",
			"markup=simple",
			"dflPage=FrontPage",
			"modes=,view,edit,search,update,",
			"filterModes=view",
			"viewMode=view",
			"editMode=edit",
			"searchMode=search",
			"updateMode=update"
		}), tmp, base);
		m1 = new Model(repository, renderer, filter, policy);
	}

	private String show(Model model, String name, String mode)
		throws IOException
	{
		StringWriter out = new StringWriter();
		Tract page = model.get(name);
		model.render(page, mode, out, true);
		return out.toString();
	}

	public void testEmpty()
		throws IOException
	{
		assertEquals("ModelTest.empty 1", "Describe 'hoopla' here...",
			show(m1,"hoopla", "what"));
	}

	public void testShow()
		throws IOException
	{
		Page page = new Page("hoopla");
		page.setContent("ugh ugh");
		repository.put("hoopla", page);

		assertEquals("ModelTest.simple 1", "ugh ugh",
			show(m1,"hoopla", "what"));
		assertEquals("ModelTest.simple 2", "Describe 'boogie' here...",
			show(m1,"boogie", "what"));
	}

	public void testUpdate()
		throws IOException
	{
		assertEquals("ModelTest.empty 1", "Describe 'hoopla' here...",
			show(m1,"hoopla", "what"));

		Page page = new Page("hoopla");
		repository.put("hoopla", page);
		assertEquals("ModelTest.update 1", "Describe 'hoopla' here...",
			show(m1,"hoopla", "what"));

		page.setContent("ugh ugh");
		assertEquals("ModelTest.update 1", "ugh ugh",
			show(m1,"hoopla", "what"));
	}

	public void testAlternateRenderer()
		throws IOException
	{
		renderer.setOther(hr);

		Page page = new Page("hoopla");
		page.setContent("ugh ugh");
		repository.put("hoopla", page);

		assertEquals("ModelTest.simple 1", "ugh ugh",
			show(m1,"hoopla", "what"));
		assertEquals("ModelTest.simple 2", "Describe 'boogie' here...",
			show(m1,"boogie", "what"));
	}
}

⌨️ 快捷键说明

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