1 38 package com.gargoylesoftware.htmlunit.html; 39 40 import java.util.Collections; 41 42 import com.gargoylesoftware.htmlunit.MockWebConnection; 43 import com.gargoylesoftware.htmlunit.WebClient; 44 import com.gargoylesoftware.htmlunit.WebTestCase; 45 46 52 public class HtmlInlineFrameTest extends WebTestCase { 53 58 public HtmlInlineFrameTest( final String name ) { 59 super( name ); 60 } 61 62 63 66 public void testSetSrcAttribute() throws Exception { 67 final String firstContent 68 = "<html><head><title>First</title></head><body>" 69 + "<iframe id='iframe1' SRC='http://second'>" 70 + "</body></html>"; 71 final String secondContent = "<html><head><title>Second</title></head><body></body></html>"; 72 final String thirdContent = "<html><head><title>Third</title></head><body></body></html>"; 73 final WebClient client = new WebClient(); 74 75 final MockWebConnection webConnection = new MockWebConnection( client ); 76 webConnection.setResponse( 77 URL_FIRST, firstContent, 200, "OK", "text/html", Collections.EMPTY_LIST ); 78 webConnection.setResponse( 79 URL_SECOND,secondContent,200,"OK","text/html",Collections.EMPTY_LIST ); 80 webConnection.setResponse( 81 URL_THIRD,thirdContent,200,"OK","text/html",Collections.EMPTY_LIST ); 82 83 client.setWebConnection( webConnection ); 84 85 final HtmlPage page = ( HtmlPage )client.getPage(URL_FIRST); 86 assertEquals( "First", page.getTitleText() ); 87 88 final HtmlInlineFrame iframe = (HtmlInlineFrame)page.getHtmlElementById("iframe1"); 89 assertEquals( "http://second", iframe.getSrcAttribute() ); 90 assertEquals( "Second", ((HtmlPage)iframe.getEnclosedPage()).getTitleText() ); 91 92 iframe.setSrcAttribute("http://third"); 93 assertEquals( "http://third", iframe.getSrcAttribute() ); 94 assertEquals( "Third", ((HtmlPage)iframe.getEnclosedPage()).getTitleText() ); 95 } 96 97 98 101 public void testSetSrcAttribute_ViaJavaScript() throws Exception { 102 final String firstContent 103 = "<html><head><title>First</title></head><body>" 104 + "<iframe id='iframe1' SRC='http://second'>" 105 + "<script type='text/javascript'>document.getElementById('iframe1').src = 'http://third';" 106 + "</script></body></html>"; 107 final String secondContent = "<html><head><title>Second</title></head><body></body></html>"; 108 final String thirdContent = "<html><head><title>Third</title></head><body></body></html>"; 109 final WebClient client = new WebClient(); 110 111 final MockWebConnection webConnection = new MockWebConnection( client ); 112 webConnection.setResponse(URL_FIRST, firstContent); 113 webConnection.setResponse(URL_SECOND, secondContent); 114 webConnection.setResponse(URL_THIRD, thirdContent); 115 116 client.setWebConnection( webConnection ); 117 118 final HtmlPage page = ( HtmlPage )client.getPage(URL_FIRST); 119 assertEquals( "First", page.getTitleText() ); 120 121 final HtmlInlineFrame iframe = (HtmlInlineFrame) page.getHtmlElementById("iframe1"); 122 assertEquals( "http://third", iframe.getSrcAttribute() ); 123 assertEquals( "Third", ((HtmlPage)iframe.getEnclosedPage()).getTitleText() ); 124 } 125 } 126 | Popular Tags |