1   package test.wiki;
2   
3   import javax.servlet.http.HttpServletRequest;
4   
5   import junit.extensions.TestSetup;
6   import junit.framework.Test;
7   import junit.framework.TestCase;
8   import junit.framework.TestSuite;
9   
10  import org.seasar.framework.container.S2Container;
11  import org.seasar.framework.container.factory.SingletonS2ContainerFactory;
12  import org.seasar.tuigwaa.cms.core.CmsConstants;
13  import org.seasar.tuigwaa.cms.core.CmsContainer;
14  import org.seasar.tuigwaa.cms.core.CmsRequest;
15  import org.seasar.tuigwaa.cms.core.CmsResponse;
16  import org.seasar.tuigwaa.cms.core.Page;
17  import org.seasar.tuigwaa.system.TgwSystemService;
18  import org.seasar.tuigwaa.util.TgwContext;
19  
20  
21  /***
22   * @author someda
23   */
24  public class TextWikiVisitorTest extends TestCase {
25  
26  	private static TestPageFactory factory_;
27  	private static TgwSystemService systemService;
28  	private static HttpServletRequest httpRequest;
29  	
30  	private CmsRequest request_;
31  	private CmsResponse response_;
32  	private boolean display_ = true;
33  	
34  	private String fileName;
35  	
36  	// one-time initializer
37  	public static Test suite() throws Exception{
38  		
39  		TestSuite suite = new TestSuite(TextWikiVisitorTest.class);
40  		TestSetup setup = new TestSetup(suite){
41  			
42  			public void setUp() throws Exception{				
43  				SingletonS2ContainerFactory.init();		
44  				S2Container container = SingletonS2ContainerFactory.getContainer();
45  				
46  				TgwContext.setAdmin();
47  				systemService = (TgwSystemService) container.getComponent(TgwSystemService.class);				
48  				factory_ = TestPageFactory.getInstance();
49  				httpRequest = container.getRequest();
50  				
51  			}
52  			
53  			public void tearDown() throws Exception{
54  				systemService.destroy();				
55  			}			
56  		};
57  		return setup;
58  	}
59  		
60  	protected void setUp() throws Exception {
61  		request_ = new CmsRequest(httpRequest);
62  		request_.setSiteName("test");
63  		response_ = new CmsResponse();		
64  		request_.setType(CmsConstants.OUTPUTTYPE_TEXT);
65  	}
66  		
67  	public void testInlineElement(){
68  		doTest("inline.txt");
69  	}
70  	
71  	public void testExcerpt(){
72  		doTest("excerpt.txt");		
73  	}
74  
75  	public void testList(){
76  		doTest("list.txt");
77  	}
78  	
79  	public void testDList(){
80  		doTest("dlist.txt");
81  	}
82  	
83  	public void testTable(){
84  		doTest("table.txt");
85  	}
86  	
87  	public void testHeading(){
88  		doTest("heading.txt");
89  	}
90  	
91  	public void testPlugin(){
92  		doTest("plugin.txt");
93  	}
94  	
95  	public void testSentence(){
96  		doTest("sentence.txt");
97  	}	
98  	
99  	private void doTest(String filename){
100 		this.fileName = filename;
101 		Page page = factory_.getPage(filename);
102 		request_.setPage(page);
103 		CmsContainer.INSTANCE.service(request_,response_);
104 		assertEquals(response_.getTotalError(),0);		
105 	}
106 	
107 	protected void tearDown() throws Exception {
108 		System.out.println("==================== " + fileName + " result ====================");		
109 		if(display_){
110 			System.out.println(response_.getString());			
111 		}
112 		System.out.println("Syntax Error : " + response_.getNParseError());
113 		System.out.println("Lexical Error : " + response_.getNLexicalError());
114 		System.out.println();
115 	}
116 	
117 	
118 	
119 	
120 }