// Copyright (C) 2003-2009 by Object Mentor, Inc. All rights reserved. // Released under the terms of the CPL Common Public License version 1.0. package fitnesse.responders.search; import static util.RegexTestCase.assertHasRegexp; import static util.RegexTestCase.assertSubString; import static fitnesse.responders.search.SearchResponder.*; import org.junit.Before; import org.junit.Test; import fitnesse.FitNesseContext; import fitnesse.testutil.FitNesseUtil; import fitnesse.http.MockRequest; import fitnesse.http.MockResponseSender; import fitnesse.http.Request; import fitnesse.http.Response; public class SearchFormResponderTest { private String content; @Before public void setUp() throws Exception { FitNesseContext context = FitNesseUtil.makeTestContext(); SearchResponder responder = new SearchResponder(); MockRequest request = new MockRequest(); request.addInput(Request.NOCHUNK, ""); Response response = responder.makeResponse(context, request); MockResponseSender sender = new MockResponseSender(); sender.doSending(response); content = sender.sentData(); } public void testFocusOnSearchBox() throws Exception { assertSubString("onload=\"document.forms[0].searchString.focus()\"", content); } @Test public void testHtml() throws Exception { assertHasRegexp("form", content); assertHasRegexp("input", content); assertSubString("<input", content); assertSubString("type=\"hidden\"", content); assertSubString("name=\"responder\"", content); assertSubString("value=\"search\"", content); } @Test public void testForTwoSearchTypes() throws Exception { assertSubString("type=\"submit\"", content); assertSubString("value=\"Search Titles\"", content); assertSubString("value=\"Search Content\"", content); } @Test public void propertiesForm() throws Exception { assertHasRegexp("<input.*value=\"Search Properties\".*>", content); assertHasRegexp("<input.*name=\"responder\".*value=\"searchProperties\"", content); for (String attributeName : SEARCH_ACTION_ATTRIBUTES) { assertSubString(attributeName, content); } } }