1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package net.sourceforge.jwebunit.tests;
20
21 import static net.sourceforge.jwebunit.junit.JWebUnit.assertElementPresent;
22 import static net.sourceforge.jwebunit.junit.JWebUnit.assertFormElementEquals;
23 import static net.sourceforge.jwebunit.junit.JWebUnit.assertFormElementMatch;
24 import static net.sourceforge.jwebunit.junit.JWebUnit.assertHiddenFieldPresent;
25 import static net.sourceforge.jwebunit.junit.JWebUnit.assertMatchInElement;
26 import static net.sourceforge.jwebunit.junit.JWebUnit.assertNoMatch;
27 import static net.sourceforge.jwebunit.junit.JWebUnit.assertNoMatchInElement;
28 import static net.sourceforge.jwebunit.junit.JWebUnit.assertSelectedOptionEquals;
29 import static net.sourceforge.jwebunit.junit.JWebUnit.assertSelectedOptionMatches;
30 import static net.sourceforge.jwebunit.junit.JWebUnit.assertTextFieldEquals;
31 import static net.sourceforge.jwebunit.junit.JWebUnit.assertTextInElement;
32 import static net.sourceforge.jwebunit.junit.JWebUnit.assertTextNotInElement;
33 import static net.sourceforge.jwebunit.junit.JWebUnit.assertTextNotPresent;
34 import static net.sourceforge.jwebunit.junit.JWebUnit.beginAt;
35 import static net.sourceforge.jwebunit.junit.JWebUnit.setBaseUrl;
36 import static org.junit.Assert.fail;
37
38 import org.junit.Test;
39
40
41
42
43
44
45
46
47 public class WebAssertionsTest extends JWebUnitAPITestCase {
48
49 public void setUp() throws Exception {
50 super.setUp();
51 setBaseUrl(HOST_PATH + "/WebAssertionsTest");
52 beginAt("/testPage.html");
53 }
54
55 @Test
56 public void testAssertTitleEquals() throws Throwable {
57 assertPass("assertTitleEquals", new String[] { "testPage" });
58 assertFail("assertTitleEquals", "wrong title");
59 }
60
61 @Test
62 public void testAssertTitleMatch() throws Throwable {
63 assertPass("assertTitleMatch", new String[] { "test[Pp]age" });
64 assertFail("assertTitleMatch", "[Ww]rong title");
65 }
66
67 @Test
68 public void testAssertTitleNotEquals() throws Throwable {
69 assertPass("assertTitleNotEquals", new String[] { "wrong title" });
70 assertFail("assertTitleNotEquals", "testPage");
71 }
72
73 @Test
74 public void testAssertTextPresent() throws Throwable {
75 assertPassFail("assertTextPresent", "This is a test.", "no such text");
76 }
77
78 @Test
79 public void testAssertMatch() throws Throwable {
80 assertPassFail("assertMatch", "This (is)* a .* test.", "no.*text");
81 }
82
83 @Test
84 public void testAssertTextNotPresent() throws Throwable {
85 assertPassFail("assertTextNotPresent", "no such text", "This is a test.");
86 }
87
88 @Test public void testAssertNoMatch() throws Throwable {
89 assertPassFail("assertNoMatch", "no.*text", "This (is)* a .* test.");
90 }
91
92
93
94
95 @Test(expected=AssertionError.class)
96 public void testAssertNoMatchFails() throws Throwable {
97
98 assertNoMatch("Span Text");
99 }
100
101 @Test public void testAssertLinkPresentWithText() throws Throwable {
102 assertPassFail("assertLinkPresentWithText", "test link", "no such link");
103 }
104
105 @Test public void testAssertLinkNotPresentWithText() throws Throwable {
106 assertPassFail("assertLinkNotPresentWithText", "no such link",
107 "test link");
108 }
109
110 @Test public void testAssertLinkPresentWithTextN() throws Throwable {
111 assertPass("assertLinkPresentWithText", new Object[] { "test link",
112 Integer.valueOf(0) });
113 assertFail("assertLinkPresentWithText", new Object[] { "test link",
114 Integer.valueOf(1) });
115 }
116
117 @Test public void testAssertLinkNotPresentWithTextN() throws Throwable {
118 assertPass("assertLinkNotPresentWithText", new Object[] { "test link",
119 new Integer(1) });
120 assertFail("assertLinkNotPresentWithText", new Object[] { "test link",
121 Integer.valueOf(0) });
122 }
123
124 @Test public void testAssertLinkPresent() throws Throwable {
125 assertPassFail("assertLinkPresent", "test_link_id", "no_link_id");
126 }
127
128 @Test public void testAssertLinkNotPresent() throws Throwable {
129 assertPassFail("assertLinkNotPresent", "no_link_id", "test_link_id");
130 }
131
132 @Test public void testAssertLinkPresentWithImage() throws Throwable {
133 assertPassFail("assertLinkPresentWithImage", "graphic.jpg",
134 "nosuchgraphic.jsp");
135 }
136
137 @Test public void testAssertLinkNotPresentWithImage() throws Throwable {
138 assertPassFail("assertLinkNotPresentWithImage", "nosuchgraphic.jpg",
139 "graphic.jpg");
140 }
141
142 @Test public void testAssertElementPresent() throws Throwable {
143 assertElementPresent("row1");
144 assertPassFail("assertElementPresent", "span_id", "no_id");
145 }
146
147 @Test public void testAssertElementNotPresent() throws Throwable {
148 assertPassFail("assertElementNotPresent", "no_id", "span_id");
149 }
150
151 @Test public void testAssertTextNotInElement() throws Throwable {
152 assertTextNotInElement("outer_id", "nosuchtext");
153 assertTextNotInElement("inner_id", "Outer");
154 assertFail("assertTextNotInElement",
155 new Object[] { "outer_id", "Outer" });
156 }
157
158 @Test public void testAssertElementContainsText() throws Throwable {
159 assertTextInElement("span_id", "Span");
160 assertTextInElement("span_id", "Text");
161 assertTextInElement("span_id", "Span Text");
162 assertTextInElement("span_empty", "");
163 assertFail("assertTextInElement",
164 new Object[] { "span_id", "Not Text" });
165 }
166
167 @Test public void testAssertElementContainsTextInChild() throws Throwable {
168 assertTextInElement("outer_id", "Outer");
169 assertTextInElement("outer_id", "Text");
170 assertTextInElement("outer_id", "Inner Text");
171 assertTextInElement("outer2", "$100,000/$300,000");
172 }
173
174 @Test public void testAssertNoMatchInElement() throws Throwable {
175 assertNoMatchInElement("outer_id", "no[Ss]uchtext");
176 assertNoMatchInElement("inner_id", "Out+er");
177 assertFail("assertNoMatchInElement", new Object[] {"outer_id", "Out+er"});
178 }
179
180 @Test public void testAssertMatchInElement() throws Throwable {
181 assertMatchInElement("span_id", "Sp[Aa]n");
182 assertMatchInElement("span_id", "Te+xt");
183 assertMatchInElement("span_id", "Span\\sText");
184 assertFail("assertMatchInElement", new Object[] {"span_id", "Not.*Text"});
185 }
186
187 @Test public void testAssertMatchInElementChild() throws Throwable {
188 assertMatchInElement("outer_id", "Out+er");
189 assertMatchInElement("outer_id", "Texx*t");
190 assertMatchInElement("outer_id", "Inner.*Text");
191 }
192
193
194
195
196 @Test public void testAssertFormElementEquals() throws Throwable {
197 assertFormElementEquals("testInputElement", "testValue");
198 assertFail("assertFormElementEquals", new Object[] {"testInputElement", "AnotherValue"});
199 }
200
201 @Test public void testAssertTextFieldEquals() throws Throwable {
202 assertTextFieldEquals("testInputElement", "testValue");
203 assertFail("assertTextFieldEquals", new Object[] {"testInputElement", "AnotherValue"});
204 }
205
206 @Test public void testAssertHiddenFieldPresent() throws Throwable {
207 assertHiddenFieldPresent("hidden", "h");
208 assertFail("assertHiddenFieldPresent", new Object[] {"hidden", "AnotherValue"});
209 }
210
211 @Test public void testAssertFormElementMatch() throws Throwable {
212 assertFormElementMatch("testInputElement", "test[Vv]alue");
213 assertFail("assertFormElementMatch", new Object[] {"testInputElement", "Another[Vv]alue"});
214 }
215
216 @Test public void testAssertSelectedOptionEquals() throws Throwable {
217 assertSelectedOptionEquals("testSelect", "Value1");
218 assertFail("assertSelectedOptionEquals", new Object[] {"testSelect", "AnotherValue"});
219 }
220
221 @Test public void testAssertSelectedOptionMatch() throws Throwable {
222 assertSelectedOptionMatches("testSelect", "[Vv]alue1");
223 assertFail("assertSelectedOptionMatches", new Object[] {"testSelect", "Another[Vv]alue"});
224 }
225
226
227 }