1 38 package com.gargoylesoftware.htmlunit.html; 39 40 import java.util.Arrays; 41 import java.util.List; 42 43 import com.gargoylesoftware.htmlunit.KeyValuePair; 44 import com.gargoylesoftware.htmlunit.MockWebConnection; 45 import com.gargoylesoftware.htmlunit.WebTestCase; 46 47 54 public class HtmlImageInputTest extends WebTestCase { 55 60 public HtmlImageInputTest( final String name ) { 61 super( name ); 62 } 63 64 65 68 public void testClick_NoPosition() throws Exception { 69 final String htmlContent 70 = "<html><head><title>foo</title></head><body>" 71 + "<form id='form1'>" 72 + "<input type='image' name='aButton' value='foo'/>" 73 + "<input type='image' name='button' value='foo'/>" 74 + "<input type='image' name='anotherButton' value='foo'/>" 75 + "</form></body></html>"; 76 final HtmlPage page = loadPage(htmlContent); 77 final MockWebConnection webConnection = getMockConnection(page); 78 79 final HtmlForm form = ( HtmlForm )page.getHtmlElementById( "form1" ); 80 81 final HtmlImageInput imageInput = (HtmlImageInput)form.getInputByName("button"); 82 final HtmlPage secondPage = (HtmlPage)imageInput.click(); 83 assertNotNull(secondPage); 84 85 final List expectedPairs = Arrays.asList( new Object[]{ 86 new KeyValuePair("button.x", "0"), 87 new KeyValuePair("button.y", "0") 88 }); 89 90 assertEquals( 91 expectedPairs, 92 webConnection.getLastParameters() ); 93 } 94 95 96 99 public void testClick_WithPosition() throws Exception { 100 final String htmlContent 101 = "<html><head><title>foo</title></head><body>" 102 + "<form id='form1'>" 103 + "<input type='image' name='aButton' value='foo'/>" 104 + "<input type='image' name='button' value='foo'/>" 105 + "<input type='image' name='anotherButton' value='foo'/>" 106 + "</form></body></html>"; 107 final HtmlPage page = loadPage(htmlContent); 108 final MockWebConnection webConnection = getMockConnection(page); 109 110 final HtmlForm form = ( HtmlForm )page.getHtmlElementById( "form1" ); 111 112 final HtmlImageInput imageInput = (HtmlImageInput)form.getInputByName("button"); 113 final HtmlPage secondPage = (HtmlPage)imageInput.click(100,200); 114 assertNotNull(secondPage); 115 116 final List expectedPairs = Arrays.asList( new Object[]{ 117 new KeyValuePair("button.x", "100"), 118 new KeyValuePair("button.y", "200") 119 }); 120 121 assertEquals( 122 expectedPairs, 123 webConnection.getLastParameters() ); 124 } 125 126 131 public void testNoNameClick_WithPosition() throws Exception { 132 final String htmlContent 133 = "<html><head><title>foo</title></head><body>" 134 + "<form id='form1'>" 135 + "<input type='image' value='foo'/>" 136 + "</form></body></html>"; 137 final HtmlPage page = loadPage(htmlContent); 138 final MockWebConnection webConnection = getMockConnection(page); 139 140 final HtmlForm form = (HtmlForm) page.getHtmlElementById("form1"); 141 142 final HtmlImageInput imageInput = (HtmlImageInput) form.getInputByValue("foo"); 143 final HtmlPage secondPage = (HtmlPage) imageInput.click(100, 200); 144 assertNotNull(secondPage); 145 146 final List expectedPairs = Arrays.asList( new Object[]{ 147 new KeyValuePair("x", "100"), 148 new KeyValuePair("y", "200") 149 }); 150 151 assertEquals( 152 expectedPairs, 153 webConnection.getLastParameters() ); 154 } 155 } 156 | Popular Tags |