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.assertButtonPresent;
22  import static net.sourceforge.jwebunit.junit.JWebUnit.assertTextFieldEquals;
23  import static net.sourceforge.jwebunit.junit.JWebUnit.assertTextNotPresent;
24  import static net.sourceforge.jwebunit.junit.JWebUnit.assertTextPresent;
25  import static net.sourceforge.jwebunit.junit.JWebUnit.assertTitleEquals;
26  import static net.sourceforge.jwebunit.junit.JWebUnit.beginAt;
27  import static net.sourceforge.jwebunit.junit.JWebUnit.clickButton;
28  import static net.sourceforge.jwebunit.junit.JWebUnit.clickLink;
29  import static net.sourceforge.jwebunit.junit.JWebUnit.clickLinkWithText;
30  import static net.sourceforge.jwebunit.junit.JWebUnit.gotoWindow;
31  import static net.sourceforge.jwebunit.junit.JWebUnit.reset;
32  import static net.sourceforge.jwebunit.junit.JWebUnit.selectOption;
33  import static net.sourceforge.jwebunit.junit.JWebUnit.setBaseUrl;
34  import static net.sourceforge.jwebunit.junit.JWebUnit.setScriptingEnabled;
35  import static net.sourceforge.jwebunit.junit.JWebUnit.setWorkingForm;
36  import static net.sourceforge.jwebunit.junit.JWebUnit.submit;
37  
38  import org.junit.Test;
39  
40  /**
41   * User: djoiner
42   * Date: Nov 22, 2002
43   * Time: 10:24:54 AM
44   */
45  
46  public class JavaScriptEventsTest  extends JWebUnitAPITestCase {
47  
48      public void setUp() throws Exception {
49          super.setUp();
50          setBaseUrl(HOST_PATH + "/JavaScriptEventsTest");
51      }
52      
53      @Test public void testFormOnSubmit() {
54          beginAt("FormOnSubmit.html");
55          submit();
56          gotoWindow("child");
57          assertTextPresent("on=[submit]");
58      }
59  
60      @Test public void testFormOnReset() {
61          beginAt("FormOnSubmit.html");
62          reset();
63          gotoWindow("child");
64          assertTextPresent("on=[reset]");
65      }
66  
67      @Test public void testButtonOnClick() {
68          beginAt("FormOnSubmit.html");
69          assertButtonPresent("b1");
70          clickButton("b1");
71          gotoWindow("child");
72          assertTextPresent("on=[click]");
73      }
74  
75  
76      @Test public void testJavaScriptInFile() {
77          beginAt("index.html");
78          assertTitleEquals("Startpage");
79          clickButton("next");
80          assertTextPresent("Here is the text we expect");
81      }
82   
83      @Test 
84      public void testLinkAssertsWorkJavascriptDisabled() {
85          setScriptingEnabled(false);
86          beginAt("index.html");
87          clickLink("linkNext");
88          assertTitleEquals("Startpage");
89          assertTextNotPresent("Here is the text we expect");
90          closeBrowser();
91  
92          beginAt("index.html");
93          clickButton("next");
94          assertTitleEquals("Startpage");
95          assertTextNotPresent("Here is the text we expect");
96          closeBrowser();
97          
98          setScriptingEnabled(true);
99          // and test that javascript is enabled for the next begin
100         beginAt("index.html");
101         clickLink("linkNext");
102         //dumpHtml();
103         assertTitleEquals("Next page");
104     }
105 
106 	@Test public void testLinkClickSetsWindowLocation()
107 	{
108 		beginAt("index.html");
109 		assertTitleEquals("Startpage");
110 		clickLinkWithText("Next");
111 		assertTitleEquals("Next page");
112 	}
113     
114 	@Test public void testOnChangeSetsWindowLocation() throws Exception {
115 		beginAt("onchange.html");
116 		assertTitleEquals("The Title");
117 		selectOption("testSelect", "Value2");
118 		assertTitleEquals("Submitted parameters");
119         assertTextPresent("testSelect=[V2]");
120 	}
121 
122     @Test public void testGreenLink() {
123         beginAt("index.html");
124         assertTextFieldEquals("color", "blue");
125         clickLink("SetColorGreen");
126         assertTextFieldEquals("color", "green");
127     } 
128     
129     @Test public void testFormOnSubmitSetTarget() {
130         beginAt("FormOnSubmitSetTarget.html");
131         setWorkingForm("formID");
132         submit("go");
133     }
134 }