01: // Copyright (C) 2003,2004,2005 by Object Mentor, Inc. All rights reserved.
02: // Released under the terms of the GNU General Public License version 2 or later.
03: package fitnesse.responders;
04:
05: import fitnesse.FitNesseContext;
06: import fitnesse.http.*;
07: import fitnesse.testutil.RegexTest;
08: import fitnesse.wiki.*;
09:
10: public class NameResponderTest extends RegexTest {
11: private WikiPage root;
12: private NameWikiPageResponder responder;
13: private MockRequest request;
14: private PageCrawler crawler;
15: private String pageOneName;
16: private String pageTwoName;
17: private String frontPageName;
18: private WikiPagePath pageOnePath;
19: private WikiPagePath pageTwoPath;
20: private WikiPagePath frontPagePath;
21:
22: protected void setUp() throws Exception {
23: root = InMemoryPage.makeRoot("RooT");
24: crawler = root.getPageCrawler();
25: responder = new NameWikiPageResponder();
26: request = new MockRequest();
27:
28: pageOneName = "PageOne";
29: pageTwoName = "PageTwo";
30: frontPageName = "FrontPage";
31:
32: pageOnePath = PathParser.parse(pageOneName);
33: pageTwoPath = PathParser.parse(pageTwoName);
34: frontPagePath = PathParser.parse(frontPageName);
35: }
36:
37: public void testTextPlain() throws Exception {
38:
39: Response r = responder.makeResponse(new FitNesseContext(root),
40: request);
41: assertEquals("text/plain", r.getContentType());
42: }
43:
44: public void testPageNamesFromRoot() throws Exception {
45: crawler.addPage(root, pageOnePath);
46: crawler.addPage(root, pageTwoPath);
47: request.setResource("");
48: SimpleResponse response = (SimpleResponse) responder
49: .makeResponse(new FitNesseContext(root), request);
50: assertHasRegexp(pageOneName, response.getContent());
51: assertHasRegexp(pageTwoName, response.getContent());
52: }
53:
54: public void testPageNamesFromASubPage() throws Exception {
55: WikiPage frontPage = crawler.addPage(root, frontPagePath);
56: crawler.addPage(frontPage, pageOnePath);
57: crawler.addPage(frontPage, pageTwoPath);
58: request.setResource("");
59: SimpleResponse response = (SimpleResponse) responder
60: .makeResponse(new FitNesseContext(root), request);
61: assertHasRegexp(frontPageName, response.getContent());
62: assertDoesntHaveRegexp(pageOneName, response.getContent());
63: assertDoesntHaveRegexp(pageTwoName, response.getContent());
64:
65: request.setResource(frontPageName);
66: response = (SimpleResponse) responder.makeResponse(
67: new FitNesseContext(root), request);
68: assertHasRegexp(pageOneName, response.getContent());
69: assertHasRegexp(pageTwoName, response.getContent());
70: assertDoesntHaveRegexp(frontPageName, response.getContent());
71: }
72: }
|