01: // Released under the Canoo WebTest license
02: package com.canoo.webtest.steps.form;
03:
04: /**
05: * @author Denis N. Antonioli
06: */
07:
08: import com.canoo.webtest.engine.StepFailedException;
09: import com.canoo.webtest.self.TestBlock;
10: import com.canoo.webtest.self.ThrowAssert;
11: import com.canoo.webtest.steps.StepTest;
12: import com.gargoylesoftware.htmlunit.html.HtmlBase;
13: import com.gargoylesoftware.htmlunit.html.HtmlPage;
14:
15: import java.util.ArrayList;
16: import java.util.List;
17:
18: public abstract class AbstractSetFieldStepTest extends StepTest {
19:
20: public void testXPathAccessor() {
21: AbstractSetFieldStep step = (AbstractSetFieldStep) getStep();
22: final String xpath = "//form/input";
23: step.setXpath(xpath);
24: assertEquals(xpath, step.getXpath());
25: }
26:
27: public void testHtmlIdAccessor() {
28: AbstractSetFieldStep step = (AbstractSetFieldStep) getStep();
29: final String htmlId = "id";
30: step.setHtmlId(htmlId);
31: assertEquals(htmlId, step.getHtmlId());
32: }
33:
34: public void testNameAccessor() {
35: AbstractSetFieldStep step = (AbstractSetFieldStep) getStep();
36: final String name = "nom";
37: step.setName(name);
38: assertEquals(name, step.getName());
39: }
40:
41: public void testSelectField() {
42: final List fieldList = new ArrayList();
43: ThrowAssert.assertThrows(StepFailedException.class,
44: new TestBlock() {
45: public void call() {
46: AbstractSetFieldStep.selectField(fieldList, "",
47: null);
48: }
49: });
50: final HtmlPage page = getDummyPage("<html></html>");
51:
52: final HtmlBase element0 = (HtmlBase) page
53: .createHtmlElement("base");
54: fieldList.add(element0);
55: final HtmlBase element1 = (HtmlBase) page
56: .createHtmlElement("base");
57: fieldList.add(element1);
58: fieldList.add(page.createHtmlElement("base"));
59: ThrowAssert.assertThrows(StepFailedException.class,
60: new TestBlock() {
61: public void call() {
62: AbstractSetFieldStep.selectField(fieldList,
63: "3", null);
64: }
65: });
66: ThrowAssert.assertThrows(StepFailedException.class,
67: new TestBlock() {
68: public void call() {
69: AbstractSetFieldStep.selectField(fieldList,
70: "-1", null);
71: }
72: });
73: assertSame(element0, AbstractSetFieldStep.selectField(
74: fieldList, "", null));
75: assertSame(element1, AbstractSetFieldStep.selectField(
76: fieldList, "1", null));
77: }
78: }
|