View Javadoc

1   /**
2    * Copyright (c) 2002-2015, JWebUnit team.
3    *
4    * This file is part of JWebUnit.
5    *
6    * JWebUnit is free software: you can redistribute it and/or modify
7    * it under the terms of the GNU Lesser General Public License as published by
8    * the Free Software Foundation, either version 3 of the License, or
9    * (at your option) any later version.
10   *
11   * JWebUnit is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public License
17   * along with JWebUnit.  If not, see <http://www.gnu.org/licenses/>.
18   */
19  package net.sourceforge.jwebunit.tests;
20  
21  import static net.sourceforge.jwebunit.junit.JWebUnit.assertTitleEquals;
22  import static net.sourceforge.jwebunit.junit.JWebUnit.beginAt;
23  import static net.sourceforge.jwebunit.junit.JWebUnit.getTestContext;
24  import static net.sourceforge.jwebunit.junit.JWebUnit.setCustomTester;
25  
26  import org.junit.Before;
27  
28  import net.sourceforge.jwebunit.junit.WebTester;
29  
30  import org.junit.After;
31  import org.junit.Test;
32  
33  
34  /**
35   * Test the new constructor methods for custom web testers
36   * 
37   * @author jmwright
38   *
39   */
40  public class CustomTesterTest extends JWebUnitAPITestCase {
41  	
42  	/**
43  	 * A custom tester to allow us to make sure it is called.
44  	 * 
45  	 * @author jmwright
46  	 *
47  	 */
48  	static class MyWebTester extends WebTester {
49  
50  		/** 
51  		 * We extend the normal method to not fail for our special case.
52  		 * 
53  		 * @see net.sourceforge.jwebunit.junit.WebTester#assertTitleEquals(java.lang.String)
54  		 */
55  		@Override
56  		public void assertTitleEquals(String title) {
57  			super.assertTitleEquals(title + " [custom]");
58  		}
59  		
60  	}
61  	
62  	@Before
63      public void setUp() throws Exception {
64          setCustomTester(new MyWebTester());
65          super.setUp();
66          getTestContext().setBaseUrl(HOST_PATH + "/CustomTesterTest");
67      }
68  
69      @Test
70      public void testCustomTester() throws Throwable {
71          beginAt("/test.html");
72          assertTitleEquals("test");		// this will normally fail for a non-custom class
73      }
74      
75      @After
76      public void cleanup() {
77          setCustomTester(null);
78      }
79  }