You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(6) |
Jul
(17) |
Aug
(18) |
Sep
(22) |
Oct
(16) |
Nov
(6) |
Dec
(11) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(11) |
Feb
(10) |
Mar
(34) |
Apr
(26) |
May
(6) |
Jun
(22) |
Jul
(14) |
Aug
(4) |
Sep
(47) |
Oct
(69) |
Nov
(23) |
Dec
(21) |
2005 |
Jan
(53) |
Feb
(33) |
Mar
(92) |
Apr
(65) |
May
(63) |
Jun
(57) |
Jul
(43) |
Aug
(132) |
Sep
(61) |
Oct
(75) |
Nov
(60) |
Dec
(130) |
2006 |
Jan
(74) |
Feb
(87) |
Mar
(101) |
Apr
(58) |
May
(54) |
Jun
(42) |
Jul
(31) |
Aug
(67) |
Sep
(61) |
Oct
(71) |
Nov
(28) |
Dec
(58) |
2007 |
Jan
(53) |
Feb
(50) |
Mar
(96) |
Apr
(66) |
May
(55) |
Jun
(130) |
Jul
(99) |
Aug
(115) |
Sep
(37) |
Oct
(78) |
Nov
(24) |
Dec
(70) |
2008 |
Jan
(94) |
Feb
(85) |
Mar
(197) |
Apr
(274) |
May
(119) |
Jun
(143) |
Jul
(193) |
Aug
(99) |
Sep
(160) |
Oct
(120) |
Nov
(178) |
Dec
(109) |
2009 |
Jan
(238) |
Feb
(169) |
Mar
(115) |
Apr
(109) |
May
(131) |
Jun
(167) |
Jul
(144) |
Aug
(193) |
Sep
(155) |
Oct
(154) |
Nov
(97) |
Dec
(127) |
2010 |
Jan
(108) |
Feb
(127) |
Mar
(176) |
Apr
(113) |
May
(130) |
Jun
(200) |
Jul
(115) |
Aug
(80) |
Sep
(92) |
Oct
(101) |
Nov
(124) |
Dec
(53) |
2011 |
Jan
(67) |
Feb
(144) |
Mar
(88) |
Apr
(60) |
May
(89) |
Jun
(54) |
Jul
(68) |
Aug
(81) |
Sep
(48) |
Oct
(40) |
Nov
(10) |
Dec
(20) |
2012 |
Jan
(21) |
Feb
(28) |
Mar
(17) |
Apr
(35) |
May
(41) |
Jun
(44) |
Jul
(68) |
Aug
(67) |
Sep
(89) |
Oct
(58) |
Nov
(47) |
Dec
(56) |
2013 |
Jan
(49) |
Feb
(28) |
Mar
(46) |
Apr
(31) |
May
(28) |
Jun
(37) |
Jul
(34) |
Aug
(52) |
Sep
(42) |
Oct
(108) |
Nov
(59) |
Dec
(56) |
2014 |
Jan
(41) |
Feb
(72) |
Mar
(46) |
Apr
(21) |
May
(19) |
Jun
(17) |
Jul
(15) |
Aug
(40) |
Sep
(11) |
Oct
(3) |
Nov
(5) |
Dec
(31) |
2015 |
Jan
(11) |
Feb
(12) |
Mar
(19) |
Apr
(19) |
May
(38) |
Jun
(54) |
Jul
(14) |
Aug
(42) |
Sep
(14) |
Oct
(16) |
Nov
(26) |
Dec
(14) |
2016 |
Jan
(3) |
Feb
(1) |
Mar
(24) |
Apr
(5) |
May
(15) |
Jun
(14) |
Jul
(33) |
Aug
(19) |
Sep
(8) |
Oct
(10) |
Nov
|
Dec
(2) |
2017 |
Jan
(16) |
Feb
(12) |
Mar
(23) |
Apr
(8) |
May
(11) |
Jun
(20) |
Jul
(21) |
Aug
(20) |
Sep
|
Oct
(6) |
Nov
(9) |
Dec
(2) |
2018 |
Jan
(7) |
Feb
(5) |
Mar
(6) |
Apr
(5) |
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
(4) |
Oct
(3) |
Nov
|
Dec
(4) |
2019 |
Jan
(2) |
Feb
(2) |
Mar
(3) |
Apr
(4) |
May
|
Jun
(4) |
Jul
(9) |
Aug
(2) |
Sep
|
Oct
(4) |
Nov
(1) |
Dec
(7) |
2020 |
Jan
(2) |
Feb
(6) |
Mar
(9) |
Apr
(1) |
May
(1) |
Jun
(15) |
Jul
(1) |
Aug
(1) |
Sep
(2) |
Oct
(6) |
Nov
(3) |
Dec
(5) |
2021 |
Jan
(3) |
Feb
(1) |
Mar
(2) |
Apr
(1) |
May
|
Jun
(1) |
Jul
(1) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(1) |
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(6) |
2025 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Daniel H. <dan...@gm...> - 2005-06-11 16:02:45
|
Hi, how can I get the doctype of a html page? I haven't found an appropriate method in the class HTMLPage. The background is, that I want to test if the html source is valid according to the specified doctype. Thanks, Daniel |
From: Brad C. <yo...@br...> - 2005-06-10 15:32:44
|
I think that's about as good as you're going to find right now as we don't do any parsing of the CSS. You should also note that you're only looking at the exact style attribute of the element, not any styles that may have be inherited through a style tag and/or the class attribute. Brad C --- Daniel Hofstetter <dan...@gm...> wrote: > Hi, > > is there another (more elegant) way to access style attributes as the > one I have chosen? > > StyledElement element = (StyledElement)nextPage.getHtmlElementById("error"); > String s = element.getStyleAttribute(); > > int start = s.indexOf("display:") + "display:".length(); > String attributValue = s.substring(start, s.indexOf(";", start)).trim(); > > Thanks, > Daniel |
From: Daniel H. <dan...@gm...> - 2005-06-10 09:41:31
|
Hi, is there another (more elegant) way to access style attributes as the one I have chosen? StyledElement element = (StyledElement)nextPage.getHtmlElementById("error"); String s = element.getStyleAttribute(); int start = s.indexOf("display:") + "display:".length(); String attributValue = s.substring(start, s.indexOf(";", start)).trim(); Thanks, Daniel |
From: Marc G. <mgu...@ya...> - 2005-06-10 07:59:17
|
contentWindow is not currently implemented. There is already an opened RFE for that https://sourceforge.net/tracker/index.php?func=detail&aid=1210688&group_id=47038&atid=448269 Marc. Shanbhag, Gautam wrote: > This looks more of a Rhino issue than a htmlunit issue. > I am having problems using the document element inside a iframe > through Javascript. Is there any workaround to this problem? > > Thanks, > Gautam > > Heres the code and the output contains the html I used. > > > import java.io.IOException; > import java.net.MalformedURLException; > import java.net.URL; > > import org.apache.commons.httpclient.cookie.CookiePolicy; > import org.apache.commons.httpclient.params.DefaultHttpParams; > import org.apache.commons.httpclient.params.HttpMethodParams; > > import com.gargoylesoftware.htmlunit.BrowserVersion; > import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; > import com.gargoylesoftware.htmlunit.WebClient; > import com.gargoylesoftware.htmlunit.html.HtmlButton; > import com.gargoylesoftware.htmlunit.html.HtmlButtonInput; > import com.gargoylesoftware.htmlunit.html.HtmlPage; > > public class TestHtmlUnit > { > public static void main(String args[]) > { > final WebClient webClient = new WebClient(BrowserVersion.INTERNET_EXPLORER_6_0); > webClient.setJavaScriptEnabled(true); > System.setProperty("apache.commons.httpclient.cookiespec", CookiePolicy.BROWSER_COMPATIBILITY); > DefaultHttpParams.getDefaultParams().setBooleanParameter(HttpMethodParams.SINGLE_COOKIE_HEADER, true); > > try { > final HtmlPage page = (HtmlPage)webClient.getPage( new URL("file:///c:/gautam/gs.html") ); > String out = page.getWebResponse().getContentAsString(); > System.out.println("Page:"+out); > HtmlButtonInput hb= (HtmlButtonInput)page.getHtmlElementById("dee"); > hb.click(); > > } catch (FailingHttpStatusCodeException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } catch (MalformedURLException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } catch (IOException e) { > // TODO Auto-generated catch block > e.printStackTrace(); > } > > > } > > > > } > > > > > > > Output: > > Page: > <html> > <head> > <script language="JavaScript" > > function dada() > { > var iframe=document.getElementById("gautam"); > iframe.contentWindow.document.write("hello"); > } > </script> > </head> > > <body> > > <IFRAME id="gautam" src="" width="800" height="200"></IFRAME> > <input type="button" id="dee" onclick="dada()"> > </body> > </html> > > > Exception in thread "main" ======= EXCEPTION START ======== > EcmaError: lineNumber=[4] column=[0] lineSource=[null] name=[TypeError] sourceName=[Embedded script] message=[TypeError: Cannot read property "document" from undefined (Embedded script#4)] > com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot read property "document" from undefined (Embedded script#4) > at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:340) > at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:759) > at com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElement.java:107) > at amazon.gautams.test.TestHtmlUnit.main(TestHtmlUnit.java:32) > Enclosed exception: > org.mozilla.javascript.EcmaError: TypeError: Cannot read property "document" from undefined (Embedded script#4) > at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3240) > at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3230) > at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3246) > at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3265) > at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3278) > at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1319) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2744) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) > at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) > at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) > at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at com.gargoylesoftware.htmlunit.javascript.host.EventHandler.call(EventHandler.java:88) > at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaScriptEngine.java:335) > at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPossible(HtmlPage.java:759) > at com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElement.java:107) > at amazon.gautams.test.TestHtmlUnit.main(TestHtmlUnit.java:32) > == CALLING JAVASCRIPT == > function () { > [native code, arity=0] > } > > ======= EXCEPTION END ======== > > > -----Original Message----- > From: htm...@li... [mailto:htm...@li...] On Behalf Of Brad Clarke > Sent: Thursday, June 09, 2005 9:18 AM > To: htm...@li... > Subject: Re: [Htmlunit-user] Problem using htmlunit/rhino with dom > > I have no idea what you're trying to do but SimpleScriptable (and everything under the javascript package) is internal code. From the package.html: > > "Classes in this package are specific for the javascript engine - users of HtmlUnit shouldn't need anything in this package." > > Then there's the fact that creating a SimpleScriptable directly doesn't seem like it would do much good anyway (it should probably be an abstract class but since it isn't really public API...). > > Brad C > > --- "Ulaszek, Ryan" <Rya...@in...> wrote: > > >>Hello, >> >>I am trying to load some java script buisness logic into a java app >>using rhino and ran into a problem with calls being made to >>setInterval which is a DOM function. I am trying to use html units >>SimpleScriptable but am not sure on how to use it. I am hoping that >>using that object will provide DOM support. Is this true? This is >>what I am trying to do with rhino. Anyone have suggestions on how to >>do this with htmlunit? Any help is greatly appreciated. >> >>Thanks >> >>public void getCalcs(Context cx) >>{ >> ScriptableObject shell = new ScriptableObject(); >> >> Object fObj2 = shell .get("setFormField", shell ); >> if (!(fObj2 instanceof Function)) { >> System.out.println("field is undefined or not a function."); >> } else { >> Object functionArgs[] = { "muniIntNonAz", "3","azAgi" }; >> Function f2 = (Function)fObj2; >> Object result = f2.call(cx, shell , shell , functionArgs); >> String report = Context.toString(result); >> System.out.println(report); >> } >>} >> >>I tried this >> >>public void getCalcs(Context cx) >>{ >> SimpleScriptable shell = new SimpleScriptable(); >> >> Object fObj2 = shell .get("setFormField", shell ); >> if (!(fObj2 instanceof Function)) { >> System.out.println("field is undefined or not a function."); >> } else { >> Object functionArgs[] = { "muniIntNonAz", "3","azAgi" }; >> Function f2 = (Function)fObj2; >> Object result = f2.call(cx, shell , shell , functionArgs); >> String report = Context.toString(result); >> System.out.println(report); >> } >>} >> >> >>Ryan Ulaszek | QA Software Automation Engineer: | Intuit, Inc. >>858-525-9560 >> >> > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? > If you want to score the big prize, get to know the little guy. > Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20 _______________________________________________ > Htmlunit-user mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > > > ------------------------------------------------------- > This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput > a projector? How fast can you ride your desk chair down the office luge track? > If you want to score the big prize, get to know the little guy. > Play to win an NEC 61" plasma display: http://www.necitguy.com/?r > _______________________________________________ > Htmlunit-user mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > |
From: Shanbhag, G. <ga...@am...> - 2005-06-10 02:17:16
|
This looks more of a Rhino issue than a htmlunit issue. I am having problems using the document element inside a iframe=20 through Javascript. Is there any workaround to this problem? Thanks, Gautam Heres the code and the output contains the html I used. import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import org.apache.commons.httpclient.cookie.CookiePolicy; import org.apache.commons.httpclient.params.DefaultHttpParams; import org.apache.commons.httpclient.params.HttpMethodParams; import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlButton; import com.gargoylesoftware.htmlunit.html.HtmlButtonInput; import com.gargoylesoftware.htmlunit.html.HtmlPage; public class TestHtmlUnit { public static void main(String args[]) { final WebClient webClient =3D new = WebClient(BrowserVersion.INTERNET_EXPLORER_6_0); webClient.setJavaScriptEnabled(true); System.setProperty("apache.commons.httpclient.cookiespec", = CookiePolicy.BROWSER_COMPATIBILITY); = DefaultHttpParams.getDefaultParams().setBooleanParameter(HttpMethodParams= .SINGLE_COOKIE_HEADER, true); =09 try { final HtmlPage page =3D (HtmlPage)webClient.getPage( new = URL("file:///c:/gautam/gs.html") ); String out =3D page.getWebResponse().getContentAsString(); System.out.println("Page:"+out); HtmlButtonInput hb=3D = (HtmlButtonInput)page.getHtmlElementById("dee"); hb.click(); =09 } catch (FailingHttpStatusCodeException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } =09 =09 } =09 =09 } Output: Page: <html> <head> <script language=3D"JavaScript" > function dada() { var iframe=3Ddocument.getElementById("gautam"); iframe.contentWindow.document.write("hello"); } </script> </head> <body> <IFRAME id=3D"gautam" src=3D"" width=3D"800" height=3D"200"></IFRAME> <input type=3D"button" id=3D"dee" onclick=3D"dada()"> </body> </html> Exception in thread "main" =3D=3D=3D=3D=3D=3D=3D EXCEPTION START = =3D=3D=3D=3D=3D=3D=3D=3D EcmaError: lineNumber=3D[4] column=3D[0] lineSource=3D[null] = name=3D[TypeError] sourceName=3D[Embedded script] message=3D[TypeError: = Cannot read property "document" from undefined (Embedded script#4)] com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot read = property "document" from undefined (Embedded script#4) at = com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(Ja= vaScriptEngine.java:340) at = com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPo= ssible(HtmlPage.java:759) at = com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElemen= t.java:107) at amazon.gautams.test.TestHtmlUnit.main(TestHtmlUnit.java:32) Enclosed exception:=20 org.mozilla.javascript.EcmaError: TypeError: Cannot read property = "document" from undefined (Embedded script#4) at = org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:32= 40) at = org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:32= 30) at = org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3246) at = org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3265) at = org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:32= 78) at = org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:131= 9) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2744) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at = org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:= 140) at = org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at = org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at = org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:= 140) at = com.gargoylesoftware.htmlunit.javascript.host.EventHandler.call(EventHand= ler.java:88) at = com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(Ja= vaScriptEngine.java:335) at = com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptFunctionIfPo= ssible(HtmlPage.java:759) at = com.gargoylesoftware.htmlunit.html.ClickableElement.click(ClickableElemen= t.java:107) at amazon.gautams.test.TestHtmlUnit.main(TestHtmlUnit.java:32) =3D=3D CALLING JAVASCRIPT =3D=3D function () { [native code, arity=3D0] } =3D=3D=3D=3D=3D=3D=3D EXCEPTION END =3D=3D=3D=3D=3D=3D=3D=3D =20 -----Original Message----- From: htm...@li... = [mailto:htm...@li...] On Behalf Of Brad = Clarke Sent: Thursday, June 09, 2005 9:18 AM To: htm...@li... Subject: Re: [Htmlunit-user] Problem using htmlunit/rhino with dom I have no idea what you're trying to do but SimpleScriptable (and = everything under the javascript package) is internal code. From the = package.html: "Classes in this package are specific for the javascript engine - users = of HtmlUnit shouldn't need anything in this package." Then there's the fact that creating a SimpleScriptable directly doesn't = seem like it would do much good anyway (it should probably be an = abstract class but since it isn't really public API...). Brad C --- "Ulaszek, Ryan" <Rya...@in...> wrote: > Hello, >=20 > I am trying to load some java script buisness logic into a java app=20 > using rhino and ran into a problem with calls being made to=20 > setInterval which is a DOM function. I am trying to use html units=20 > SimpleScriptable but am not sure on how to use it. I am hoping that=20 > using that object will provide DOM support. Is this true? This is=20 > what I am trying to do with rhino. Anyone have suggestions on how to=20 > do this with htmlunit? Any help is greatly appreciated. >=20 > Thanks >=20 > public void getCalcs(Context cx) > { > ScriptableObject shell =3D new ScriptableObject(); =20 >=20 > Object fObj2 =3D shell .get("setFormField", shell ); > if (!(fObj2 instanceof Function)) { > System.out.println("field is undefined or not a = function."); > } else { > Object functionArgs[] =3D { "muniIntNonAz", "3","azAgi" }; > Function f2 =3D (Function)fObj2; > Object result =3D f2.call(cx, shell , shell , = functionArgs); > String report =3D Context.toString(result); > System.out.println(report); > } > } >=20 > I tried this >=20 > public void getCalcs(Context cx) > { > SimpleScriptable shell =3D new SimpleScriptable(); =20 >=20 > Object fObj2 =3D shell .get("setFormField", shell ); > if (!(fObj2 instanceof Function)) { > System.out.println("field is undefined or not a = function."); > } else { > Object functionArgs[] =3D { "muniIntNonAz", "3","azAgi" }; > Function f2 =3D (Function)fObj2; > Object result =3D f2.call(cx, shell , shell , = functionArgs); > String report =3D Context.toString(result); > System.out.println(report); > } > } >=20 >=20 > Ryan Ulaszek | QA Software Automation Engineer: | Intuit, Inc.=20 > 858-525-9560 >=20 >=20 ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you = shotput a projector? How fast can you ride your desk chair down the = office luge track? If you want to score the big prize, get to know the little guy. =20 Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=3D20 = _______________________________________________ Htmlunit-user mailing list Htm...@li... https://lists.sourceforge.net/lists/listinfo/htmlunit-user |
From: Brad C. <yo...@br...> - 2005-06-09 16:18:07
|
I have no idea what you're trying to do but SimpleScriptable (and everything under the javascript package) is internal code. From the package.html: "Classes in this package are specific for the javascript engine - users of HtmlUnit shouldn't need anything in this package." Then there's the fact that creating a SimpleScriptable directly doesn't seem like it would do much good anyway (it should probably be an abstract class but since it isn't really public API...). Brad C --- "Ulaszek, Ryan" <Rya...@in...> wrote: > Hello, > > I am trying to load some java script buisness logic into a java app using > rhino and ran into a problem with calls being made to setInterval which is a > DOM function. I am trying to use html units SimpleScriptable but am not > sure on how to use it. I am hoping that using that object will provide DOM > support. Is this true? This is what I am trying to do with rhino. Anyone > have suggestions on how to do this with htmlunit? Any help is greatly > appreciated. > > Thanks > > public void getCalcs(Context cx) > { > ScriptableObject shell = new ScriptableObject(); > > Object fObj2 = shell .get("setFormField", shell ); > if (!(fObj2 instanceof Function)) { > System.out.println("field is undefined or not a function."); > } else { > Object functionArgs[] = { "muniIntNonAz", "3","azAgi" }; > Function f2 = (Function)fObj2; > Object result = f2.call(cx, shell , shell , functionArgs); > String report = Context.toString(result); > System.out.println(report); > } > } > > I tried this > > public void getCalcs(Context cx) > { > SimpleScriptable shell = new SimpleScriptable(); > > Object fObj2 = shell .get("setFormField", shell ); > if (!(fObj2 instanceof Function)) { > System.out.println("field is undefined or not a function."); > } else { > Object functionArgs[] = { "muniIntNonAz", "3","azAgi" }; > Function f2 = (Function)fObj2; > Object result = f2.call(cx, shell , shell , functionArgs); > String report = Context.toString(result); > System.out.println(report); > } > } > > > Ryan Ulaszek | QA Software Automation Engineer: | Intuit, Inc. 858-525-9560 > > |
From: Brad C. <yo...@br...> - 2005-06-09 15:31:01
|
That exception is a known bug when a loaded page is using a recursive setTimeout. You can monitor the status of the bug here: http://sourceforge.net/tracker/index.php?func=detail&aid=1103735&group_id=47038&atid=448266 Brad C --- Gael Harbonnier <gae...@ho...> wrote: > Hi, > > >I've just committed a patch of Daniel Gredler making the window the top > >scope for the JS engine, what should only be an internal thing but has > >although good consequences: some js code that I was testing and that had > >strange errors now works fine. > >Therefore I recommend you to wait for this code to be available on the > >public CVS. I don't know what the current update delay is (I guess 2 or 3 > >hours). > > I tried the lastest version from CVS but I've still this exception: > > GRAVE: Caught exception in Window.setTimeout() > ======= EXCEPTION START ======== > Exception class=[org.mozilla.javascript.WrappedException] > com.gargoylesoftware.htmlunit.ScriptException: Wrapped > java.lang.IllegalArgumentException > (http://us.i1.yimg.com/us.yimg.com/i/mc/mc2.js#296) > at > com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:249) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) > at > com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) > at java.lang.Thread.run(Unknown Source) > WrappedException: org.mozilla.javascript.WrappedException: Wrapped > java.lang.IllegalArgumentException > (http://us.i1.yimg.com/us.yimg.com/i/mc/mc2.js#296) > at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1776) > at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:191) > at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) > at > org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) > at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) > at > org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at > org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) > at org.mozilla.javascript.Context.evaluateString(Context.java:1220) > at > com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:245) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) > at > com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) > at java.lang.Thread.run(Unknown Source) > Caused by: java.lang.IllegalArgumentException > at java.lang.Thread.setPriority(Unknown Source) > at > com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:287) > at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) > ... 14 more > Inside wrapped exception: > java.lang.IllegalArgumentException > at java.lang.Thread.setPriority(Unknown Source) > at > com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:287) > at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) > at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) > at > org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) > at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) > at > org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at > org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) > at org.mozilla.javascript.Context.evaluateString(Context.java:1220) > at > com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:245) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) > at > com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) > at java.lang.Thread.run(Unknown Source) > == CALLING JAVASCRIPT == > GargoyleWrapper34() > ======= EXCEPTION END ======== > 9 juin 2005 12:29:41 com.gargoylesoftware.htmlunit.javascript.host.Window$1 > run > GRAVE: Caught exception in Window.setTimeout() > ======= EXCEPTION START ======== > Exception class=[org.mozilla.javascript.WrappedException] > com.gargoylesoftware.htmlunit.ScriptException: Wrapped > java.lang.IllegalArgumentException > (http://us.i1.yimg.com/us.yimg.com/i/mc/mc2.js#296) > at > com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:249) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) > at > com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) > at java.lang.Thread.run(Unknown Source) > WrappedException: org.mozilla.javascript.WrappedException: Wrapped > java.lang.IllegalArgumentException > (http://us.i1.yimg.com/us.yimg.com/i/mc/mc2.js#296) > at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1776) > at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:191) > at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) > at > org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) > at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) > at > org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at > org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) > at org.mozilla.javascript.Context.evaluateString(Context.java:1220) > at > com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:245) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) > at > com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) > at java.lang.Thread.run(Unknown Source) > Caused by: java.lang.IllegalArgumentException > at java.lang.Thread.setPriority(Unknown Source) > at > com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:287) > at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) > ... 14 more > Inside wrapped exception: > java.lang.IllegalArgumentException > at java.lang.Thread.setPriority(Unknown Source) > at > com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:287) > at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) > at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) > at > org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) > at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) > at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) > at > org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) > at > org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) > at org.mozilla.javascript.Context.evaluateString(Context.java:1220) > at > com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:245) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) > at > com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) > at java.lang.Thread.run(Unknown Source) > == CALLING JAVASCRIPT == > GargoyleWrapper35() > ======= EXCEPTION END ======== > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput > a projector? How fast can you ride your desk chair down the office luge track? > If you want to score the big prize, get to know the little guy. > Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20 > _______________________________________________ > Htmlunit-user mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > |
From: Daniel H. <dan...@gm...> - 2005-06-09 13:46:16
|
Hi, I figured out what the problem was. There was an other redirect in the page to which I have redirected, which lead to the info message. Bye, Daniel |
From: Daniel H. <dan...@gm...> - 2005-06-09 11:48:41
|
Hi, I have a problem with a JavaScript redirect and get the following message: INFO: Redirect requested but followRedirects is disabled My JavaScript/HTML source is (simplified): <script type="text/javascript"> function redirect() { document.location.href = "otherpage.html"; } </script> <a href="javascript:redirect();" name="redirect">link</a> and my test method looks like: public void testRedirect() throws Exception { WebClient webClient = new WebClient(BrowserVersion.FULL_FEATURED_BROWSER); webClient.setRedirectEnabled(true); URL url = new URL("http://localhost/myfile"); HtmlPage page = (HtmlPage)webClient.getPage(url); HtmlPage newPage = (HtmlPage)page.getAnchorByName("redirect").click(); assertEquals("Title", newPage.getTitleText()); } Am I doing something wrong? Or is it a bug? Thanks, Daniel |
From: Gael H. <gae...@ho...> - 2005-06-09 10:36:02
|
Hi, >I've just committed a patch of Daniel Gredler making the window the top >scope for the JS engine, what should only be an internal thing but has >although good consequences: some js code that I was testing and that had >strange errors now works fine. >Therefore I recommend you to wait for this code to be available on the >public CVS. I don't know what the current update delay is (I guess 2 or 3 >hours). I tried the lastest version from CVS but I've still this exception: GRAVE: Caught exception in Window.setTimeout() ======= EXCEPTION START ======== Exception class=[org.mozilla.javascript.WrappedException] com.gargoylesoftware.htmlunit.ScriptException: Wrapped java.lang.IllegalArgumentException (http://us.i1.yimg.com/us.yimg.com/i/mc/mc2.js#296) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:249) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) at java.lang.Thread.run(Unknown Source) WrappedException: org.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentException (http://us.i1.yimg.com/us.yimg.com/i/mc/mc2.js#296) at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1776) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:191) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) at org.mozilla.javascript.Context.evaluateString(Context.java:1220) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:245) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException at java.lang.Thread.setPriority(Unknown Source) at com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:287) at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) ... 14 more Inside wrapped exception: java.lang.IllegalArgumentException at java.lang.Thread.setPriority(Unknown Source) at com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:287) at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) at org.mozilla.javascript.Context.evaluateString(Context.java:1220) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:245) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) at java.lang.Thread.run(Unknown Source) == CALLING JAVASCRIPT == GargoyleWrapper34() ======= EXCEPTION END ======== 9 juin 2005 12:29:41 com.gargoylesoftware.htmlunit.javascript.host.Window$1 run GRAVE: Caught exception in Window.setTimeout() ======= EXCEPTION START ======== Exception class=[org.mozilla.javascript.WrappedException] com.gargoylesoftware.htmlunit.ScriptException: Wrapped java.lang.IllegalArgumentException (http://us.i1.yimg.com/us.yimg.com/i/mc/mc2.js#296) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:249) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) at java.lang.Thread.run(Unknown Source) WrappedException: org.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentException (http://us.i1.yimg.com/us.yimg.com/i/mc/mc2.js#296) at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1776) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:191) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) at org.mozilla.javascript.Context.evaluateString(Context.java:1220) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:245) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException at java.lang.Thread.setPriority(Unknown Source) at com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:287) at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) ... 14 more Inside wrapped exception: java.lang.IllegalArgumentException at java.lang.Thread.setPriority(Unknown Source) at com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:287) at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) at org.mozilla.javascript.Context.evaluateString(Context.java:1220) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:245) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:718) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:272) at java.lang.Thread.run(Unknown Source) == CALLING JAVASCRIPT == GargoyleWrapper35() ======= EXCEPTION END ======== |
From: David D. K. <ddk...@ki...> - 2005-06-09 05:20:49
|
HtmlUnit threw an exception while attempting to run the JavaScript on the test page. It failed trying to access the "document" property of some object (like window.document?) because "window" (or whatever variable you used) was not defined. It would be helpful if you could post the JavaScript being excecuted (with some context), or a reduced test case. Dave On Jun 8, 2005, at 6:28 PM, Ulaszek, Ryan wrote: > Hello, > > I am trying to load a web site with this code > > final WebClient webClient = new WebClient(); > final URL url = new URL("http://localhost/webv2/html/ > testapp.htm"); > > // Get the first page > final HtmlPage page1 = (HtmlPage)webClient.getPage(url); > > And I get this exeception. Any ideas? > > ======= EXCEPTION START ======== > EcmaError: lineNumber=[10] column=[0] lineSource=[null] name= > [TypeError] sourceName=[Embedded script] message=[TypeError: Cannot > read property "document" from undefined (Embedded script#10)] > > com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot > read property "document" from undefined (Embedded script#10) > > at > com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction > (JavaScriptEngine.java:340) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeOnLoadHandlersIfNee > ded(HtmlPage.java:963) > at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize > (HtmlPage.java:158) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto > (WebClient.java:716) > at com.gargoylesoftware.htmlunit.WebClient.getPage > (WebClient.java:376) > at com.gargoylesoftware.htmlunit.WebClient.getPage > (WebClient.java:415) > at HtmlTest.testHomePage(HtmlTest.java:38) > at HtmlTest.main(HtmlTest.java:26) > Enclosed exception: > org.mozilla.javascript.EcmaError: TypeError: Cannot read property > "document" from undefined (Embedded script#10) > at org.mozilla.javascript.ScriptRuntime.constructError > (ScriptRuntime.java:3240) > at org.mozilla.javascript.ScriptRuntime.constructError > (ScriptRuntime.java:3230) > at org.mozilla.javascript.ScriptRuntime.typeError > (ScriptRuntime.java:3246) > at org.mozilla.javascript.ScriptRuntime.typeError2 > (ScriptRuntime.java:3265) > at org.mozilla.javascript.ScriptRuntime.undefReadError > (ScriptRuntime.java:3278) > at org.mozilla.javascript.ScriptRuntime.getObjectProp > (ScriptRuntime.java:1319) > at org.mozilla.javascript.Interpreter.interpret > (Interpreter.java:2744) > at org.mozilla.javascript.Interpreter.interpret > (Interpreter.java:2164) > at org.mozilla.javascript.InterpretedFunction.call > (InterpretedFunction.java:140) > at org.mozilla.javascript.ContextFactory.doTopCall > (ContextFactory.java:304) > at org.mozilla.javascript.ScriptRuntime.doTopCall > (ScriptRuntime.java:2769) > at org.mozilla.javascript.Interpreter.interpret > (Interpreter.java:2145) > at org.mozilla.javascript.InterpretedFunction.call > (InterpretedFunction.java:140) > at > com.gargoylesoftware.htmlunit.javascript.host.EventHandler.call > (EventHandler.java:88) > at > com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction > (JavaScriptEngine.java:335) > at > com.gargoylesoftware.htmlunit.html.HtmlPage.executeOnLoadHandlersIfNee > ded(HtmlPage.java:963) > at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize > (HtmlPage.java:158) > at > com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto > (WebClient.java:716) > at com.gargoylesoftware.htmlunit.WebClient.getPage > (WebClient.java:376) > at com.gargoylesoftware.htmlunit.WebClient.getPage > (WebClient.java:415) > at HtmlTest.testHomePage(HtmlTest.java:38) > at HtmlTest.main(HtmlTest.java:26) > == CALLING JAVASCRIPT == > > Ryan Ulaszek | QA Software Automation Engineer: | Intuit, Inc. > 858-525-9560 > |
From: Ulaszek, R. <Rya...@in...> - 2005-06-09 01:31:59
|
Hello, I am trying to load a web site with this code final WebClient webClient = new WebClient(); final URL url = new URL("http://localhost/webv2/html/testapp.htm"); // Get the first page final HtmlPage page1 = (HtmlPage)webClient.getPage(url); And I get this exeception. Any ideas? ======= EXCEPTION START ======== EcmaError: lineNumber=[10] column=[0] lineSource=[null] name=[TypeError] sourceName=[Embedded script] message=[TypeError: Cannot read property "document" from undefined (Embedded script#10)] com.gargoylesoftware.htmlunit.ScriptException: TypeError: Cannot read property "document" from undefined (Embedded script#10) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaS criptEngine.java:340) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeOnLoadHandlersIfNeeded(Ht mlPage.java:963) at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:158) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:7 16) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:376) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:415) at HtmlTest.testHomePage(HtmlTest.java:38) at HtmlTest.main(HtmlTest.java:26) Enclosed exception: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "document" from undefined (Embedded script#10) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3240) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3230) at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3246) at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3265) at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3278) at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1319) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2744) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140 ) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140 ) at com.gargoylesoftware.htmlunit.javascript.host.EventHandler.call(EventHandler .java:88) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.callFunction(JavaS criptEngine.java:335) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeOnLoadHandlersIfNeeded(Ht mlPage.java:963) at com.gargoylesoftware.htmlunit.html.HtmlPage.initialize(HtmlPage.java:158) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseInto(WebClient.java:7 16) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:376) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:415) at HtmlTest.testHomePage(HtmlTest.java:38) at HtmlTest.main(HtmlTest.java:26) == CALLING JAVASCRIPT == Ryan Ulaszek | QA Software Automation Engineer: | Intuit, Inc. 858-525-9560 |
From: Ulaszek, R. <Rya...@in...> - 2005-06-09 01:06:43
|
Hello, I am trying to load some java script buisness logic into a java app using rhino and ran into a problem with calls being made to setInterval which is a DOM function. I am trying to use html units SimpleScriptable but am not sure on how to use it. I am hoping that using that object will provide DOM support. Is this true? This is what I am trying to do with rhino. Anyone have suggestions on how to do this with htmlunit? Any help is greatly appreciated. Thanks public void getCalcs(Context cx) { ScriptableObject shell = new ScriptableObject(); Object fObj2 = shell .get("setFormField", shell ); if (!(fObj2 instanceof Function)) { System.out.println("field is undefined or not a function."); } else { Object functionArgs[] = { "muniIntNonAz", "3","azAgi" }; Function f2 = (Function)fObj2; Object result = f2.call(cx, shell , shell , functionArgs); String report = Context.toString(result); System.out.println(report); } } I tried this public void getCalcs(Context cx) { SimpleScriptable shell = new SimpleScriptable(); Object fObj2 = shell .get("setFormField", shell ); if (!(fObj2 instanceof Function)) { System.out.println("field is undefined or not a function."); } else { Object functionArgs[] = { "muniIntNonAz", "3","azAgi" }; Function f2 = (Function)fObj2; Object result = f2.call(cx, shell , shell , functionArgs); String report = Context.toString(result); System.out.println(report); } } Ryan Ulaszek | QA Software Automation Engineer: | Intuit, Inc. 858-525-9560 |
From: Brad C. <yo...@br...> - 2005-06-08 18:07:44
|
Tables are no different than any other type of element. You can use XPath: http://htmlunit.sourceforge.net/phpwiki/index.php/XPathExamples or any one of the many methods found in the unit tests: http://cvs.sourceforge.net/viewcvs.py/htmlunit/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/ --- dko...@mo... wrote: > In the example for accessing tables on a page, the method > getHtmlElementById is used. What about cases where the table > has not been assigned any id? For example: > > <html lang="en"> > <HEAD> > <base href="http://clack:1095/patient/Login.jsp"> > <TITLE>Avitek Medical Records</TITLE> > <link rel="stylesheet" type="text/css" href="stylesheet.css"> > </HEAD> > <BODY bgCOLOR=white TOPMARGIN="0" LEFTMARGIN="0" RIGHTMARGIN="0" > MARGINWIDTH="0" MARGINHEIGHT="0"> > > <!-- Title Bar Start --> > <TABLE class=pagetop WIDTH='100%' BORDER=0 CELLSPACING=0 CELLPADDING=0> > <TR> > <TD><BR> <SPAN class=head1><FONT COLOR=white>Avitek Medical > Records</FONT></SPAN><BR></TD> > <TD align=right><IMG SRC='images/logo.gif'></TD> > </TR> > </TABLE> > .. > > Thanks, > Dave |
From: <dko...@mo...> - 2005-06-08 17:54:18
|
In the example for accessing tables on a page, the method getHtmlElementById is used. What about cases where the table has not been assigned any id? For example: <html lang="en"> <HEAD> <base href="http://clack:1095/patient/Login.jsp"> <TITLE>Avitek Medical Records</TITLE> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </HEAD> <BODY bgCOLOR=white TOPMARGIN="0" LEFTMARGIN="0" RIGHTMARGIN="0" MARGINWIDTH="0" MARGINHEIGHT="0"> <!-- Title Bar Start --> <TABLE class=pagetop WIDTH='100%' BORDER=0 CELLSPACING=0 CELLPADDING=0> <TR> <TD><BR> <SPAN class=head1><FONT COLOR=white>Avitek Medical Records</FONT></SPAN><BR></TD> <TD align=right><IMG SRC='images/logo.gif'></TD> </TR> </TABLE> .. Thanks, Dave --------------------------------------------- This message was sent using Monmouth Internet MI-Webmail. http://www.monmouth.com/ |
From: Marc G. <mgu...@ya...> - 2005-06-08 09:05:22
|
>> - to "java.lang.IllegalArgumentException": >> which version of htmlunit do you use? >> > > I use htmlunit 1.6 , I downloaded it on the website last month. I'll > try the lastest version from CVS. I've just committed a patch of Daniel Gredler making the window the top scope for the JS engine, what should only be an internal thing but has although good consequences: some js code that I was testing and that had strange errors now works fine. Therefore I recommend you to wait for this code to be available on the public CVS. I don't know what the current update delay is (I guess 2 or 3 hours). Marc. |
From: Gael H. <gae...@ho...> - 2005-06-08 08:58:53
|
Hi Marc, >- to "java.lang.IllegalArgumentException": >which version of htmlunit do you use? > I use htmlunit 1.6 , I downloaded it on the website last month. I'll try the lastest version from CVS. >- to "Ouvrir session" > >"Ouvrir session" is not the same string as "Ouvrir session". When the >html document is read, the entity gets resolved and replaced with the right >character. You can try to use the unicode code of in your string. >The other solution that I would recommend is to get the submit button by >name (or id, but there is no id on this page by yahoo): first your code >will work on version of Yahoo in other languages, and second, it's less >likely to change (marketing people by Yahoo may choose tomorow that "Ouvrir >ma session" is better for the user ;-)). > thank you, it works :) Now i'm able to fill this form but the javascript is down because of the exception and so the form can't be validated. |
From: Marc G. <mgu...@ya...> - 2005-06-08 08:18:07
|
Salut Gael, - to "java.lang.IllegalArgumentException": which version of htmlunit do you use? - to "Ouvrir session" "Ouvrir session" is not the same string as "Ouvrir session". When the html document is read, the entity gets resolved and replaced with the right character. You can try to use the unicode code of in your string. The other solution that I would recommend is to get the submit button by name (or id, but there is no id on this page by yahoo): first your code will work on version of Yahoo in other languages, and second, it's less likely to change (marketing people by Yahoo may choose tomorow that "Ouvrir ma session" is better for the user ;-)). Marc. |
From: Gael H. <gae...@ho...> - 2005-06-07 16:11:04
|
Hi, I tried HtmlUnit on a yahoo login page because I develop a tool that automates the forms' filling. Unfortunately when I call the getPage on a webClient, I've got this exception: ======= EXCEPTION START ======== Exception class=[org.mozilla.javascript.WrappedException] com.gargoylesoftware.htmlunit.ScriptException: Wrapped java.lang.IllegalArgumentException at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:293) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:719) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:277) at java.lang.Thread.run(Unknown Source) WrappedException: org.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentException at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1776) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:191) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) at org.mozilla.javascript.Context.evaluateString(Context.java:1220) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:288) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:719) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:277) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException at java.lang.Thread.setPriority(Unknown Source) at com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:298) at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) ... 14 more Inside wrapped exception: java.lang.IllegalArgumentException at java.lang.Thread.setPriority(Unknown Source) at com.gargoylesoftware.htmlunit.javascript.host.Window.jsxFunction_setTimeout(Window.java:298) at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:174) at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:456) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:3026) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2164) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:304) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2769) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:2145) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:140) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:149) at org.mozilla.javascript.Context.evaluateString(Context.java:1220) at com.gargoylesoftware.htmlunit.javascript.JavaScriptEngine.execute(JavaScriptEngine.java:288) at com.gargoylesoftware.htmlunit.html.HtmlPage.executeJavaScriptIfPossible(HtmlPage.java:719) at com.gargoylesoftware.htmlunit.javascript.host.Window$1.run(Window.java:277) at java.lang.Thread.run(Unknown Source) == CALLING JAVASCRIPT == GargoyleWrapper16() ======= EXCEPTION END ======== Here's the code: WebClient webClient = new WebClient(); HtmlPage pageCourrante = (HtmlPage)webClient.getPage( new URL("http://fr.search.yahoo.com/free/request" )); Is it possible to fill this form ? I found another problem with this web page: the submit button has the value "Ouvrir session" and it seems that Htmlunit doesn't succeed in finding this button when I use getInputByValue (the same with "Ouvrir session"). So I use getInputByName but it's weird. cordially, Gael |
From: Brad C. <yo...@br...> - 2005-06-04 19:53:19
|
Microsoft.XMLDOM is an ActiveX object. HtmlUnit supports ActiveX emulation but you must created the java versions of the objects yourself: http://htmlunit.sourceforge.net/apidocs/com/gargoylesoftware/htmlunit/WebClient.html#setActiveXObjectMap(java.util.Map) Brad C --- Robert Knox <Rob...@pl...> wrote: > Hi, > > > > I am getting a strange error when trying to parse a complicated page > with a lot of JavaScript. > > I am wondering it there are certain structures that HtmlUnit has > problems with. Before running across this > > Error, I was able to parse into the DOM a lot of different pages, and > things were working well for me. So I think the little > > Tiny bit of code I wrote is not the problem, but the page itself. Here > is the Error. > > > > SEVERE: runtimeError: message=[ActiveXObject Error: no map for > > > Microsoft.XMLDOM.] > > > sourceName=[http://rockford.devnet.plumtree.com/imageserver/plumtree/p > > > ortal/private/js/jsportlet/186685/PTPortletServices.js] > > > line=[5124] lineSource=[null] lineOffset=[0] > > > > > > Exception:TypeError: Cannot read property "type" from undefined > > > (http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/priva > > > te/js/jsportlet/186685/PTPortletServices.js#6107) > > > > > > > > > > I noticed the "Error: no map for > > > Microsoft.XMLDOM." > > > > I wonder if this is a type that is not yet integrated into HtmlUnit. > > > > I have attached the html source. > > > > Thanks, > > -R > > > > > > > > > > > > > <html> > > <head><link type="text/css" > href="http://rockford.devnet.plumtree.com/imageserver/plumtree/common/public/css/mainstyle-en.css" > rel="StyleSheet" lang="en"></link><title>Log In</title><script > type="text/javascript"> > > if(!window.PTIncluder) { > window.PTIncluder = {}; > PTIncluder.getJSComponent = function(component, version) > { > if(version.toLowerCase) { version = version.toLowerCase(); } > return window[component + '_' + version]; > } > > PTIncluder.addCSSLink = function(include_path) > { > var include_link = document.createElement('link'); > include_link.rel = 'stylesheet'; > include_link.type = 'text/css'; > include_link.href = include_path; > var include_heads = document.getElementsByTagName('head'); > if(include_heads.length > 0) { > include_heads[0].appendChild(include_link); > } > } > PTIncluder.addJSScript = function(include_path) > { > document.write('<script type="text/javascript" src="' + include_path + > '"></scr' + 'ipt>'); > } > } > PTIncluder.ImageServerURL = 'http://rockford.devnet.plumtree.com/imageserver/'; > PTIncluder.BasePath = 'plumtree/portal/private/js/'; > PTIncluder.Lang = 'en'; > PTIncluder.Country = 'US'; > PTIncluder.Debug = ''; > PTIncluder.Latest = false; > document.write('<script type="text/javascript" src="' + PTIncluder.ImageServerURL > + PTIncluder.BasePath + 'jsportlet/181819/PTComponent.js"></scr' + 'ipt>'); > > </script><script type="text/javascript">function executeViaEnter(evt) > { > evt = (evt) ? evt : event; > var charCode = (evt.charCode) ? evt.charCode : ((evt.which) ? evt.which : > evt.keyCode); > if (charCode == 13 || charCode == 3) > { > return doLogin(); > } > return true; > } > > if (document.layers) > { > document.captureEvents(Event.KEYPRESS) > document.onkeypress=executeViaEnter; > } > > > function doOnLoad() > { > restoreLoginInfo(); > } > > function getUserTextbox() > { > return document.getElementById('pt-login-username-textbox'); > } > > function getPasswordField() > { > return document.getElementById('pt-login-password-field'); > } > > function getAutoSourceSelect() > { > return document.getElementById('pt-login-auth-select'); > } > function getRememberCheckbox() > { > return document.getElementById('pt-login-remember-checkbox'); > } > > function doLogin() > { > var persistInfo = true; > var cb = getRememberCheckbox(); > if (!persistInfo || !cb || !cb.checked) > { > deleteLoginInfo(); > } > else > { > var userName = ''; > var usr = getUserTextbox(); > if (usr) { userName = usr.value; } > var authSource = 0; > var sel = getAutoSourceSelect(); > if (sel) { authSource = sel.selectedIndex; } > storeLoginInfo(userName,authSource); > } > var loginForm = document.lform; > var hiddenLogin = loginForm.in_hi_dologin; > hiddenLogin.value = 'true'; > loginForm.submit(); > } > > function deleteLoginInfo() > { > writeLoginCookie('',''); > } > > function storeLoginInfo(userName,authSource) > { > var value = 'user\t' + userName + '\nauth\t' + authSource; > var expires = jsportlet_181819.PTCookie.daysAway(60); > writeLoginCookie(value,expires); > } > > function restoreLoginInfo() > { > var cookie = jsportlet_181819.PTCookie.get('ptLastLoginAuthSource'); > if (cookie) > { > var nvPairs = cookie.split('\n'); > if (nvPairs && nvPairs.length) > { > var foundUser = false; > for (var i = 0; i < nvPairs.length; i++) > { > var pair = nvPairs[i]; > if (!pair) { continue; } > var vals = pair.split('\t'); > var key = vals[0]; > var val = vals[1]; > if (key == 'user') > { > var usr = getUserTextbox(); > if (usr) > { > usr.value = val; > foundUser = true; > } > } > else if (key == 'auth') > { > var sel = getAutoSourceSelect(); > var src = parseInt(val); > if (sel && !isNaN(src)) { sel.selectedIndex = src; } > } > } > var cb = getRememberCheckbox(); > if (cb) { cb.checked = true; } > (foundUser) ? focusPasswordField() : focusUserTextbox(); > } else { focusUserTextbox(); } > } else { focusUserTextbox(); } > } > > function focusUserTextbox() > { > var usr = getUserTextbox(); > if (usr) { usr.focus(); } > } > > function focusPasswordField() > { > var pw = getPasswordField(); > if (pw) { pw.focus(); } > } > > function writeLoginCookie(value,expires) > { > jsportlet_181819.PTCookie.set('ptLastLoginAuthSource',value,expires); > } > > document.PCC.RegisterForWindowEvent('onload',restoreLoginInfo); > > </script><script type="text/javascript">var g_PTImgSvrImgsURL = > "http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/private/img/"; > var g_SharedImgSvrImgsURL = > "http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/public/img/";var > g_HelpSvrBaseURL = "http://rockford.devnet.plumtree.com/imageserver/plumtree/"; > </script><script type="text/javascript"> > if (!document.getElementById || !document.getElementById('PTRoboHelp-js')) { > document.write('<script type="text/javascript" id="PTRoboHelp-js" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/common/private/js/jsrobohelp/146940/PTRoboHelp.js"></scr' > + 'ipt>'); > } > </script> > <script type="text/javascript"> > function OpenerAS_GetApplicationBaseURL() > { > return "http://rockford/portal/server.pt?"; > } > function OpenerAS_GetCurrentUserID() > { > return "2"; > } > function OpenerAS_GetParentSpaceName() > { > return ""; > } > function OpenerAS_GetParentSpaceID() > { > return ""; > } > </script><script type="text/javascript">function getJSUtilVersionObject() { return > 'jsportlet_181819';}</script><script type="text/javascript" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/private/js/ptcommonopener.js"></script><script > type="text/javascript">/** The object that holds the safe variables. Store the > vars as properties on the object, like a hashtable. **/ > var gSafeJSVarContainer = new Object(); > /** Define a new safe variable, pass the in the name and the value.Returns true if > successful, method call will fail if the value is invalid. **/ > function addSafeVar(strName, oValue) { > gSafeJSVarContainer[strName] = oValue; > return true; > } > /** Retrieve a safe var. Returns false if the variable is undefined or if the > value is actually false, but safe vars shouldn't be usedto store simple boolean > values anyway. **/ > function getSafeVar(strName) { > var temp = gSafeJSVarContainer[strName]; > if (temp) { return temp; } > else { return false;} > } > /** Retrieve a safe var, if the variable is undefined an alert will showwith the > name of the variable. Use this method to retrieve criticalvariables. **/ > function getSafeVarWarn(strName) { > var temp = gSafeJSVarContainer[strName]; > if (temp) { return temp; } > else { alert('Safe Variable: '+strName+' is not defined!'); } > } > </script><script type="text/javaScript"> function buildURLFromTemplate(strID) > { > var arArgs = strID.split(','); > if(!arArgs){ > alert('Invalid menu ID'); > return null; } > if(arArgs[0] == 'C'){ > var strCommURL = PTCommonOpener.getOpenerURLOpenObjID(512, arArgs[1], > '&PageID='+arArgs[2]+'', 2) > if ( arArgs.length > 3) { strCommURL += '&ProfileID='+arArgs[3]; } > return strCommURL; > } else if (arArgs[0] == 'M') { > return PTCommonOpener.getOpenerURLOpenObjID(518, 2, '&PageID='+arArgs[1]+'', 2) > } else if (arArgs[0] == 'SM') { > return > 'http://rockford/portal/server.pt?open=space&name=SiteMap&psname=Login&psid=0&cached=true&in_hi_userid=2&control=SetSiteMap&CommunityID='+arArgs[1]+'&Mode='+arArgs[2]+(eval(arArgs[3]) > ? '&Preview=' : ''); > } else if (arArgs[0] == 'S') { > return null; > } else if (arArgs[0] == 'E') { > var params = ''; > if ( arArgs.length > 1 ) { > for ( var i = 2; i < arArgs.length; i++ ) { > params += '&' + arArgs[i]; > } } > return > 'http://rockford/portal/server.pt?open=space&name='+arArgs[1]+'&psname=Login&psid=0&cached=true&in_hi_userid=2' > + params; > } else if (arArgs[0] == 'D') { > return PTCommonOpener.getOpenerURLOpenObjID(17, arArgs[2], > '&DirMode='+arArgs[1]+'', 2) > } else if (arArgs[0] == 'G1') { > var params = ''; > if ( arArgs.length > 1 ) { > for ( var i = 2; i < arArgs.length; i++ ) { > params += '&' + arArgs[i]; > } } > return > 'http://rockford/portal/server.pt?open=space&name='+arArgs[1]+'&psname=Login&psid=0&cached=true&in_hi_userid=2' > + params; > } else { > alert('URL Type is not defined'); > return null; } > } > function templateURLRedirect(templateURL) { > if (templateURL == null) { return null; } > var arArgs = templateURL.split(','); > if (arArgs[0] == 'UP') { > PTCommonOpener.openInSameWindow(PTCommonOpener.getOpenerURLOpenObjID(1, > arArgs[1], 'null', 2)); > } else if (arArgs[0] == 'DO') { > PTCommonOpener.openInSameWindow(PTCommonOpener.getOpenerURLOpenObjID(18, > arArgs[1], 'null', 2)); > } else if (arArgs[0] == 'F') { > window.location = arArgs[1]; > } else { > window.location = buildURLFromTemplate(templateURL); > } > > } > </script><script type="text/javaScript" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/private/js/navjsportalmenufuncs.js"></script><script > type="text/javaScript" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/private/js/navtabsections.js"></script><script > type="text/javaScript" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/private/js/navjsportalmenucommon.js"></script><script > type="text/javascript"> // Overriding default value with NavigationSettings.xml > value > gMenuCellWidth = 188;</script><script type="text/javascript"> // Overriding > default value with NavigationSettings.xml value > gHorizontalTabWidth = 150;</script><script type="text/javascript">var > gNavTabDownArrowImageAlt = 'Expand Menu';</script><script > type="text/javascript">document.PCC.RegisterForWindowEvent("onfocus", > CheckForPageReload);</script><script type="text/javascript">var > windowOnloadFunction = (window.onload) ? window.onload : new Function; > document.PCC.RegisterForWindowEvent("onload", windowOnloadFunction); > var windowOnBlurFunction = (window.onblur) ? window.onblur : new Function; > document.PCC.RegisterForWindowEvent("onblur", windowOnBlurFunction); > var windowOnFocusFunction = (window.onfocus) ? window.onfocus : new Function; > document.PCC.RegisterForWindowEvent("onfocus", windowOnFocusFunction); > </script> > </head> > > > > <body onactivate="document.PCC.RaiseWindowEvent(event);" > onafterprint="document.PCC.RaiseWindowEvent(event);" > onbeforeactivate="document.PCC.RaiseWindowEvent(event);" > onbeforeunload="document.PCC.RaiseWindowEvent(event);" > onblur="document.PCC.RaiseWindowEvent(event);" > oncontrolset="document.PCC.RaiseWindowEvent(event);" > ondeactivate="document.PCC.RaiseWindowEvent(event);" > onerror="document.PCC.RaiseWindowEvent(event);" > onfocus="document.PCC.RaiseWindowEvent(event);" > onhelp="document.PCC.RaiseWindowEvent(event);" > onload="document.PCC.RaiseWindowEvent(event);" > onresize="document.PCC.RaiseWindowEvent(event);" > onresizeend="document.PCC.RaiseWindowEvent(event);" > onresizestart="document.PCC.RaiseWindowEvent(event);" > onunload="document.PCC.RaiseWindowEvent(event);" marginwidth="0" marginheight="0" > leftmargin="0" topmargin="0" class="ptPageUser-guest"><div > class="portalContent"><table cellpadding="0" cellspacing="0" width="100%" > border="0" class="banTopbarBg" id="pt-topbar"><tr><td align="left" valign="middle" > nowrap="nowrap"> > > <span class="banGreetingText banText" id="pt-user-nav"> > > <span id="pt-welcome-text">Welcome, Guest</span> > > <span class="spacer" style="padding-left:8px;"></span> > > > > <span class="spacer" style="padding-left:8px;"></span> > > <span id="pt-login-link"><a > href="http://rockford/portal/server.pt?open=space&name=Login&id=cached&psname=Login&psid=0&in_hi_userid=2&cached=true&control=Login&login=" > title="Log In">Log In</a></span> > > </span></td> > <td align="right" valign="middle" nowrap="nowrap"> > > <span class="banHelpText" id="pt-help-button"><a href="#" title="Go to Help > Section" onclick="PTRoboHelp.launchHelp( 'pt_login.htm', > 'http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/private/help/std/en/portalhelp.htm', > '600', '600' ); return false;"><img > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/public/img/icon_help.gif" > alt="Go to Help Section" border="0" align="absmiddle" height="16" > width="16"/>Help</a> > > </span><img > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/public/img/sp.gif" > alt="" border="0" align="absmiddle" height="100%" width="1" class="bgDark"/><span > class="banGreetingText" id="pt-search-controls"><form method="get" > action="http://rockford/portal/server.pt?" onsubmit="return > checkSearchptbanner();" name="ptbanner" id="ptbanner"><input type="hidden" alt="" > name="in_hi_space" id="in_hi_space" value="SearchResult"></input><input > type="hidden" alt="" name="in_hi_control" id="in_hi_control" > value="bannerstart"></input><input type="hidden" alt="" name="in_hi_userid" > id="in_hi_userid" value="2"></input><script type="text/javaScript">function > checkSearchptbanner() > { > var searchForm = document.ptbanner; > for (var i = 0; i < searchForm.elements.length; i++) { > if (searchForm.elements[i].name == "in_tx_query") { > if (searchForm.elements[i].value == "") { > return false; > } > return true; > } > } > return false; > } > function submitSearchptbanner() { > if (checkSearchptbanner()) { > var searchForm = document.ptbanner; > searchForm.submit(); > } else { > alert('Your search box was empty. Please enter some text in the search box.'); > } > } > function handleKeyDownptbanner(evt) { > evt = (evt) ? evt : ((event) ? event : null); > if (evt.keyCode == 13){ > if (checkSearchptbanner()) { > return true; > } else { > alert('Your search box was empty. Please enter some text in the search > box.'); > return false; > } > } > return true; > } > </script>Search: <span class="spacer" > style="padding-left:6px;"></span> <input type="text" alt="Search" > onkeydown="return handleKeyDownptbanner(event);" size="20" maxlength="200" > class="formTextboxText" name="in_tx_query" title="Search" id="input54" > value=""></input> <span id="pt-search-submit-button"><a href="#" > title="Search" onclick="submitSearchptbanner(); return false;"><img > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/public/img/action_search_button.gif" > alt="Search" border="0" align="absmiddle" height="20" > width="30"/></a></span> <span id="pt-advanced-search-button"><a > href="http://rockford/portal/server.pt?open=space&name=AdvancedSearch&psname=Login&psid=0&cached=true&in_hi_userid=2&control=EditorStart&editorType=10" > title="Advanced Search"><img > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/private/img/action_search_button_advanced.gif" > alt="Advanced Search" border="0" align="absmiddle" height="20" > width="20"/></a></span> <span id="pt-federated-search-button"><a > href="http://rockford/portal/server.pt?open=space&name=NetworkSearch&psname=Login&psid=0&cached=true&in_hi_userid=2&control=NetworkSearch" > title="Federated Search"><img > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/private/img/action_search_button_network.gif" > alt="Federated Search" border="0" align="absmiddle" height="20" > width="20"/></a></span></form> > </span></td> > </tr> > </table> > <script type="text/javascript"> > addSafeVar('DataARmypage', > [['http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/public/img/icon_mypage_menu.gif', > '20','<span>Home Page</span>',"M,101"] ] > );</script><script type="text/javascript"> > addSafeVar('DataARcomms', [ ] > );</script><script type="text/javascript"> > addSafeVar('DataARdocs', > [['http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/public/img/icon_browse_menu.gif', > '20','<span>Browse Directory</span>',"D,1,-1"] ] > );</script><script type="text/javascript"> > addSafeVar('mandTabsArray', [ > ] > );</script><script type="text/javascript"> > addSafeVar('ddTabsArray', [ ["My Pages","mypage","null"] > ,["Directory","docs","null"] > ]);</script><script type="text/javascript"> function writeStartTable() { > document.write('<table cellpadding="0" cellspacing="0" width="100%" border="0"><tr > class="navMidtabBg">'); } > function writeEndOfTable() { document.write('<td width="100%" > class="banHeaderBg"> </td></tr></table>'); } > function writeSpacerTable() { document.write('<table cellpadding="0" > cellspacing="0" width="100%" border="0"><tr class="banHeaderBg"><td colspan="1" > class="navMidtabSpacerBg"><img > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/public/img/sp.gif" > alt="" border="0" height="4" width="1"/></td></tr></table>'); } > function writeSpacerCell() { document.write('<td colspan="1" > class="navMidtabSpacerBg"><img > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/public/img/sp.gif" > alt="" border="0" height="1" width="4"/></td>'); } > </script><script type="text/javaScript"></script><!-- start NAV DHTML MIDBAR > --><script type="text/javascript"> > if (!document.getElementById || > !document.getElementById('Strings-PTU-Date-en-js')) { > document.write('<script type="text/javascript" id="Strings-PTU-Date-en-js" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/common/private/js/jsutil/170972/Strings/PTU-Date-en.js"></scr' > + 'ipt>'); > } > </script> > <script type="text/javascript"> > if (!document.getElementById || > !document.getElementById('Strings-PTU-Number-en-js')) { > document.write('<script type="text/javascript" id="Strings-PTU-Number-en-js" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/common/private/js/jsutil/170972/Strings/PTU-Number-en.js"></scr' > + 'ipt>'); > } > </script> > <script type="text/javascript"> > if (!document.getElementById || !document.getElementById('PTUtil-js')) { > document.write('<script type="text/javascript" id="PTUtil-js" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/common/private/js/jsutil/170972/PTUtil.js"></scr' > + 'ipt>'); > } > </script> > <script type="text/javascript"> > if (!document.getElementById || !document.getElementById('PTDateFormats-js')) { > document.write('<script type="text/javascript" id="PTDateFormats-js" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/common/private/js/jsutil/170972/PTDateFormats.js"></scr' > + 'ipt>'); > } > </script> > <link rel="stylesheet" type="text/css" > href="http://rockford.devnet.plumtree.com/imageserver/plumtree/common/private/js/jsportalmenus/151151/styles/css/PTPMMenu.css" > /> > <script type="text/javascript"> > if (!document.getElementById || !document.getElementById('PTPortalMenus-js')) { > document.write('<script type="text/javascript" id="PTPortalMenus-js" > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/common/private/js/jsportalmenus/151151/PTPortalMenus.js"></scr' > + 'ipt>'); > } > </script> > <script type="text/javaScript">writePortalMenuDivs(getSafeVarWarn('ddTabsArray')); > initDDandManTabsRows(getSafeVarWarn('ddTabsArray'),getSafeVarWarn('mandTabsArray'),'http://rockford.devnet.plumtree.com/imageserver/plumtree/common/private/js/jsportalmenus/151151/styles/css/PTPMMenu.css');document.PCC.RegisterForWindowEvent("onload", > "gbPageLoaded = true;" );</script><!-- end NAV DHTML MIDBAR --><table > cellpadding="0" cellspacing="0" width="100%" border="0" id="pt-header"><tr > valign="top" class="banHeaderBg"><td align="left" colspan="1" > id="pt-header-left"><img > src="http://rockford.devnet.plumtree.com/imageserver/plumtree/portal/public/img/PT_logo_sm_wht.gif" > alt="Plumtree Logo" border="0" align="absmiddle" height="50" width="125"/></td> > <td align="right" nowrap="nowrap" colspan="1" id="pt-header-right"><h1 > class="banHeader">Log In</h1><h2 class="banSubhead"></h2></td> > </tr> > </table> > <span id="bannerend"></span><layer id="nsbannerend"></layer><table cellpadding="0" > cellspacing="10" width="100%" border="0"><tr><td align="left" valign="top" > colspan="1"><table cellpadding="0" cellspacing="0" width="100%" border="0"><tr><td > align="left" valign="top" colspan="1"><form method="post" > action="http://rockford/portal/server.pt?" name="lform" id="loginFormID"><table > align="center" cellpadding="2" cellspacing="0" width="400"><tr><td colspan="1" > class="loginTitle">Welcome to your Portal.</td> > </tr> > <tr><td colspan="1" class="loginText">Log in to your personalized Portal > account.<br/><br/>If you have an existing account, enter your Username and > Password. If necessary, select the appropriate Authentication Source. If you want > to log in to the Portal automatically, check <b>Remember my Password</b>, and then > click <b>Log In</b>.<br/><br/>To create a Portal account, click <b>Create an > account</b>.</td> > </tr> > </table> > <input type="hidden" alt="This is an input" name="in_hi_space" id="in_hi_space" > value="Login"></input><input type="hidden" alt="This is an input" > name="in_hi_spaceID" id="in_hi_spaceID" value="0"></input><input type="hidden" > alt="This is an input" name="in_hi_control" id="in_hi_control" > value="Login"></input><input type="hidden" alt="This is an input" > name="in_hi_dologin" id="in_hi_dologin" value="false "></input><table > align="center" cellpadding="2" cellspacing="0" width="100%"><tr><td colspan="2" > class="loginText"></td> > </tr> > <tr><!--Username:--><td align="right" width="40%" colspan="1" > class="loginSubtitle">Username:</td> > <td align="left" width="60%" colspan="1" class="loginSubtitle"><input type="text" > alt="Username:" size="30" class="formInputBoxText" name="in_tx_username" > id="pt-login-username-textbox" onkeypress="return executeViaEnter(event);" > value=""></input></td> > </tr> > <tr><!--Password:--><td align="right" width="40%" colspan="1" > class="loginSubtitle">Password:</td> > <!--Password Input--><td align="left" width="60%" colspan="1" > class="loginText"><input type="password" alt="Password:" size="30" > class="formInputBoxText" name="in_pw_userpass" id="pt-login-password-field" > onkeypress="return executeViaEnter(event);" value=""></input></td> > </tr> > <tr><td align="right" width="40%" colspan="1" class="loginSubtitle">Authentication > Source:</td> > <td align="left" width="40%" colspan="1" class="loginText"><select > class="formPulldownText" name="in_se_authsource" id="pt-login-auth-select" > lang="en" onkeypress="return executeViaEnter(event);"><option value="" > selected>Plumtree User Database</option></select></td> > </tr> > <tr><td colspan="1" class="loginText"> </td> > <!--Remember my Password--><td align="left" colspan="1" class="loginText"><input > type="checkbox" alt="Remember my Password" class="formCheckboxText" > name="in_cb_remember" id="pt-login-remember-checkbox" value=""></input>Remember my > Password</td> > </tr> > <tr><td colspan="1"></td> > <td align="left" colspan="1" class="loginText"><input type="button" alt="Log In" > onclick="doLogin(); return false;" class="formBtnText" name="in_bu_Login" > title="Log In" id="input56" value="Log In"></input> <a > href="http://rockford/portal/server.pt?open=space&name=CreateAccountAS&id=cached&psname=Login&psid=0&in_hi_userid=2&cached=true&control=CreateAccountControl" > title="Create An Account">Create an account</a> </td> > </tr> > </table> > <script type="text/javascript">doOnLoad(); > </script></form> > </td> > </tr> > </table> > </td> > </tr> > </table> > <table cellpadding="5" cellspacing="0" width="100%" border="0" > id="pt-footer"><tr><td align="center" valign="middle" colspan="1" > class="footHeaderBg footText"><span class="footSubtitle">Plumtree Software, > Inc.</span> 500 Sansome Street, San Francisco, California 94111 Phone: (415) > 399-7050 Fax: (415) 263-8991</td> > </tr> > </table> > <script type="text/javascript">InitializeEvents();</script></div><div > class="externalContent"></div> > </body> > </html><!--Hostname: rockford--><!--Total Request Time: 157 > Control Time: 0 > Page Construction Time: 125 > Page Display Time: 0 > --><!--Portal Version: 6.0.0.186523, Changelist: 186523, Build Date: 06/03/2005 at > 09:11 AM--> |
From: Jean-Philippe H. <te...@ya...> - 2005-06-04 15:13:57
|
Thanks Marc, I will do it on Monday. BR. --- Marc Guillemot <mgu...@ya...> a écrit : > Hi Jean-Philippe, > > this is a bug. > Can you open a bug issue on sourceforge? > > Marc. > > Jean-Philippe HILAIRE wrote: > > Sorry Marc, > > this is the good code. > > > > HtmlSelect testSelect= > > thisForm.getSelectByName(TEST_SELECT_NAME); > > > assertTrue(testSelect.isMultipleSelectEnabled());//OK > > HtmlOption testOption = > > testSelect.getOptionByValue("002"); > > testOption.click(); > > assertTrue(testOption.isSelected());//KO > > > > > > --- Marc Guillemot <mgu...@ya...> a écrit : > > > > > >>Hi, > >> > >>what is "localengine"? > >> > >>Marc. > >> > >>Jean-Philippe HILAIRE wrote: > >> > >>>Hello guys, > >>> > >>>i have some trouble with mutiple select > >>> > >>>the select is send in html like this. > >>> > >>><select name="test" multiple="multiple"size="5" > >>>class="SeHeaderListDb"> > >>><option value="000" > >> > >>selected="selected">All</option> > >> > >>><option value="001">test 1</option> > >>><option value="002">test 2</option> > >>><option value="003">test 3</option> > >>><option value="004">test 4</option> > >>></select> > >>> > >>>the default option selected is the first one. > >>> > >>>when i use this code: > >>> > >>> HtmlSelect testSelect = > >>>thisForm.getSelectByName(TEST_SELECT_NAME); > >>> > assertTrue(testSelect.isMultipleSelectEnabled()); > >>>//OK > >>> HtmlOption testOption = > >>>testSelect.getOptionByValue("002"); > >>> localengine.click(); > >>> assertTrue(testOption.isSelected());//KO > >>> > >>>the test fails. > >>> > >>>I did something wrong or it's the htmlunit > >> > >>behavior ?? > >> > >>>thanks in advance!! > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >>> > >> > > > _____________________________________________________________________________ > > > >>>Découvrez le nouveau Yahoo! Mail : 1 Go d'espace > >> > >>de stockage pour vos mails, photos et vidéos ! > >> > >>>Créez votre Yahoo! Mail sur > >> > >>http://fr.mail.yahoo.com > >> > >>> > >>> > > > ------------------------------------------------------- > > > >>>This SF.Net email is sponsored by Yahoo. > >>>Introducing Yahoo! Search Developer Network - > >> > >>Create apps using Yahoo! > >> > >>>Search APIs Find out how you can build Yahoo! > >> > >>directly into your own > >> > >>>Applications - visit > >> > > > http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 > > > >>>_______________________________________________ > >>>Htmlunit-user mailing list > >>>Htm...@li... > >>> > >> > > > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > > > >> > >> > >> > > > ------------------------------------------------------- > > > >>This SF.Net email is sponsored by Yahoo. > >>Introducing Yahoo! Search Developer Network - > Create > >>apps using Yahoo! > >>Search APIs Find out how you can build Yahoo! > >>directly into your own > >>Applications - visit > >> > > > > > http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 > > > >>_______________________________________________ > >>Htmlunit-user mailing list > >>Htm...@li... > >> > > > > > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > > > > > > > > > > > > > > > > > > > _____________________________________________________________________________ > > > Découvrez le nouveau Yahoo! Mail : 1 Go d'espace > de stockage pour vos mails, photos et vidéos ! > > Créez votre Yahoo! Mail sur > http://fr.mail.yahoo.com > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by Yahoo. > > Introducing Yahoo! Search Developer Network - > Create apps using Yahoo! > > Search APIs Find out how you can build Yahoo! > directly into your own > > Applications - visit > http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: NEC IT Guy Games. > How far can you shotput > a projector? How fast can you ride your desk chair > down the office luge track? > If you want to score the big prize, get to know the > little guy. > Play to win an NEC 61" plasma display: > http://www.necitguy.com/?r=20 > _______________________________________________ > Htmlunit-user mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > _____________________________________________________________________________ Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos mails, photos et vidéos ! Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com |
From: Marc G. <mgu...@ya...> - 2005-06-03 18:45:29
|
Hi Jean-Philippe, this is a bug. Can you open a bug issue on sourceforge? Marc. Jean-Philippe HILAIRE wrote: > Sorry Marc, > this is the good code. > > HtmlSelect testSelect= > thisForm.getSelectByName(TEST_SELECT_NAME); > assertTrue(testSelect.isMultipleSelectEnabled());//OK > HtmlOption testOption = > testSelect.getOptionByValue("002"); > testOption.click(); > assertTrue(testOption.isSelected());//KO > > > --- Marc Guillemot <mgu...@ya...> a écrit : > > >>Hi, >> >>what is "localengine"? >> >>Marc. >> >>Jean-Philippe HILAIRE wrote: >> >>>Hello guys, >>> >>>i have some trouble with mutiple select >>> >>>the select is send in html like this. >>> >>><select name="test" multiple="multiple"size="5" >>>class="SeHeaderListDb"> >>><option value="000" >> >>selected="selected">All</option> >> >>><option value="001">test 1</option> >>><option value="002">test 2</option> >>><option value="003">test 3</option> >>><option value="004">test 4</option> >>></select> >>> >>>the default option selected is the first one. >>> >>>when i use this code: >>> >>> HtmlSelect testSelect = >>>thisForm.getSelectByName(TEST_SELECT_NAME); >>> assertTrue(testSelect.isMultipleSelectEnabled()); >>>//OK >>> HtmlOption testOption = >>>testSelect.getOptionByValue("002"); >>> localengine.click(); >>> assertTrue(testOption.isSelected());//KO >>> >>>the test fails. >>> >>>I did something wrong or it's the htmlunit >> >>behavior ?? >> >>>thanks in advance!! >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> >> > _____________________________________________________________________________ > >>>Découvrez le nouveau Yahoo! Mail : 1 Go d'espace >> >>de stockage pour vos mails, photos et vidéos ! >> >>>Créez votre Yahoo! Mail sur >> >>http://fr.mail.yahoo.com >> >>> >>> > ------------------------------------------------------- > >>>This SF.Net email is sponsored by Yahoo. >>>Introducing Yahoo! Search Developer Network - >> >>Create apps using Yahoo! >> >>>Search APIs Find out how you can build Yahoo! >> >>directly into your own >> >>>Applications - visit >> > http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 > >>>_______________________________________________ >>>Htmlunit-user mailing list >>>Htm...@li... >>> >> > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > >> >> >> > ------------------------------------------------------- > >>This SF.Net email is sponsored by Yahoo. >>Introducing Yahoo! Search Developer Network - Create >>apps using Yahoo! >>Search APIs Find out how you can build Yahoo! >>directly into your own >>Applications - visit >> > > http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 > >>_______________________________________________ >>Htmlunit-user mailing list >>Htm...@li... >> > > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > > > > > > > > > _____________________________________________________________________________ > Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos mails, photos et vidéos ! > Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com > > > ------------------------------------------------------- > This SF.Net email is sponsored by Yahoo. > Introducing Yahoo! Search Developer Network - Create apps using Yahoo! > Search APIs Find out how you can build Yahoo! directly into your own > Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 |
From: Robert K. <Rob...@pl...> - 2005-06-03 16:50:23
|
PGh0bWw+DQoNCjxoZWFkPjxsaW5rIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwOi8vcm9ja2Zv cmQuZGV2bmV0LnBsdW10cmVlLmNvbS9pbWFnZXNlcnZlci9wbHVtdHJlZS9jb21tb24vcHVibGlj L2Nzcy9tYWluc3R5bGUtZW4uY3NzIiByZWw9IlN0eWxlU2hlZXQiIGxhbmc9ImVuIj48L2xpbms+ PHRpdGxlPkxvZyBJbjwvdGl0bGU+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KDQoJ aWYoIXdpbmRvdy5QVEluY2x1ZGVyKSB7DQoJCXdpbmRvdy5QVEluY2x1ZGVyID0ge307DQoJCVBU SW5jbHVkZXIuZ2V0SlNDb21wb25lbnQgPSBmdW5jdGlvbihjb21wb25lbnQsIHZlcnNpb24pIA0K CQl7DQoJCQlpZih2ZXJzaW9uLnRvTG93ZXJDYXNlKSB7IHZlcnNpb24gPSB2ZXJzaW9uLnRvTG93 ZXJDYXNlKCk7IH0NCgkJCXJldHVybiB3aW5kb3dbY29tcG9uZW50ICsgJ18nICsgdmVyc2lvbl07 DQoJCX0NCg0KCQlQVEluY2x1ZGVyLmFkZENTU0xpbmsgPSBmdW5jdGlvbihpbmNsdWRlX3BhdGgp DQoJCXsNCgkJCXZhciBpbmNsdWRlX2xpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5r Jyk7DQoJCQlpbmNsdWRlX2xpbmsucmVsID0gJ3N0eWxlc2hlZXQnOw0KCQkJaW5jbHVkZV9saW5r LnR5cGUgPSAndGV4dC9jc3MnOw0KCQkJaW5jbHVkZV9saW5rLmhyZWYgPSBpbmNsdWRlX3BhdGg7 DQoJCQl2YXIgaW5jbHVkZV9oZWFkcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdo ZWFkJyk7DQoJCQlpZihpbmNsdWRlX2hlYWRzLmxlbmd0aCA+IDApIHsNCgkJCQlpbmNsdWRlX2hl YWRzWzBdLmFwcGVuZENoaWxkKGluY2x1ZGVfbGluayk7DQoJCQl9DQoJCX0NCgkJUFRJbmNsdWRl ci5hZGRKU1NjcmlwdCA9IGZ1bmN0aW9uKGluY2x1ZGVfcGF0aCkNCgkJew0KCQkJZG9jdW1lbnQu d3JpdGUoJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IicgKyBpbmNsdWRlX3Bh dGggKyAnIj48L3NjcicgKyAnaXB0PicpOw0KCQl9DQoJfQ0KCVBUSW5jbHVkZXIuSW1hZ2VTZXJ2 ZXJVUkwgPSAnaHR0cDovL3JvY2tmb3JkLmRldm5ldC5wbHVtdHJlZS5jb20vaW1hZ2VzZXJ2ZXIv JzsNCglQVEluY2x1ZGVyLkJhc2VQYXRoID0gJ3BsdW10cmVlL3BvcnRhbC9wcml2YXRlL2pzLyc7 DQoJUFRJbmNsdWRlci5MYW5nID0gJ2VuJzsNCglQVEluY2x1ZGVyLkNvdW50cnkgPSAnVVMnOw0K CVBUSW5jbHVkZXIuRGVidWcgPSAnJzsNCglQVEluY2x1ZGVyLkxhdGVzdCA9IGZhbHNlOw0KCWRv Y3VtZW50LndyaXRlKCc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInICsgUFRJ bmNsdWRlci5JbWFnZVNlcnZlclVSTCArIFBUSW5jbHVkZXIuQmFzZVBhdGggKyAnanNwb3J0bGV0 LzE4MTgxOS9QVENvbXBvbmVudC5qcyI+PC9zY3InICsgJ2lwdD4nKTsNCg0KPC9zY3JpcHQ+PHNj cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmZ1bmN0aW9uIGV4ZWN1dGVWaWFFbnRlcihldnQp DQp7DQoJZXZ0ID0gKGV2dCkgPyBldnQgOiBldmVudDsNCgl2YXIgY2hhckNvZGUgPSAoZXZ0LmNo YXJDb2RlKSA/IGV2dC5jaGFyQ29kZSA6ICgoZXZ0LndoaWNoKSA/IGV2dC53aGljaCA6IGV2dC5r ZXlDb2RlKTsNCglpZiAoY2hhckNvZGUgPT0gMTMgfHwgY2hhckNvZGUgPT0gMykNCgl7DQoJCXJl dHVybiBkb0xvZ2luKCk7DQoJfQ0KCXJldHVybiB0cnVlOw0KfQ0KDQppZiAoZG9jdW1lbnQubGF5 ZXJzKQ0Kew0KCWRvY3VtZW50LmNhcHR1cmVFdmVudHMoRXZlbnQuS0VZUFJFU1MpDQoJZG9jdW1l bnQub25rZXlwcmVzcz1leGVjdXRlVmlhRW50ZXI7DQp9DQoNCg0KZnVuY3Rpb24gZG9PbkxvYWQo KQ0Kew0KICAgIHJlc3RvcmVMb2dpbkluZm8oKTsNCn0NCg0KZnVuY3Rpb24gZ2V0VXNlclRleHRi b3goKQ0Kew0KICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHQtbG9naW4tdXNl cm5hbWUtdGV4dGJveCcpOw0KfQ0KDQpmdW5jdGlvbiBnZXRQYXNzd29yZEZpZWxkKCkNCnsNCiAg ICByZXR1cm4gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3B0LWxvZ2luLXBhc3N3b3JkLWZpZWxk Jyk7DQp9DQoNCmZ1bmN0aW9uIGdldEF1dG9Tb3VyY2VTZWxlY3QoKQ0Kew0KICAgIHJldHVybiBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgncHQtbG9naW4tYXV0aC1zZWxlY3QnKTsNCn0NCmZ1bmN0 aW9uIGdldFJlbWVtYmVyQ2hlY2tib3goKQ0Kew0KICAgIHJldHVybiBkb2N1bWVudC5nZXRFbGVt ZW50QnlJZCgncHQtbG9naW4tcmVtZW1iZXItY2hlY2tib3gnKTsNCn0NCg0KZnVuY3Rpb24gZG9M b2dpbigpDQp7DQogICAgdmFyIHBlcnNpc3RJbmZvID0gdHJ1ZTsNCiAgICB2YXIgY2IgPSBnZXRS ZW1lbWJlckNoZWNrYm94KCk7DQogICAgaWYgKCFwZXJzaXN0SW5mbyB8fCAhY2IgfHwgIWNiLmNo ZWNrZWQpDQogICAgew0KICAgICAgICBkZWxldGVMb2dpbkluZm8oKTsNCiAgICB9DQogICAgZWxz ZQ0KICAgIHsNCiAgICAgICAgdmFyIHVzZXJOYW1lID0gJyc7DQogICAgICAgIHZhciB1c3IgPSBn ZXRVc2VyVGV4dGJveCgpOw0KICAgICAgICBpZiAodXNyKSB7IHVzZXJOYW1lID0gdXNyLnZhbHVl OyB9DQogICAgICAgIHZhciBhdXRoU291cmNlID0gMDsNCiAgICAgICAgdmFyIHNlbCA9IGdldEF1 dG9Tb3VyY2VTZWxlY3QoKTsNCiAgICAgICAgaWYgKHNlbCkgeyBhdXRoU291cmNlID0gc2VsLnNl bGVjdGVkSW5kZXg7IH0NCiAgICAgICAgc3RvcmVMb2dpbkluZm8odXNlck5hbWUsYXV0aFNvdXJj ZSk7DQogICAgfQ0KICAgIHZhciBsb2dpbkZvcm0gPSBkb2N1bWVudC5sZm9ybTsNCiAgICB2YXIg aGlkZGVuTG9naW4gPSBsb2dpbkZvcm0uaW5faGlfZG9sb2dpbjsNCiAgICBoaWRkZW5Mb2dpbi52 YWx1ZSA9ICd0cnVlJzsNCiAgICBsb2dpbkZvcm0uc3VibWl0KCk7DQp9DQoNCmZ1bmN0aW9uIGRl bGV0ZUxvZ2luSW5mbygpDQp7DQogICAgd3JpdGVMb2dpbkNvb2tpZSgnJywnJyk7DQp9DQoNCmZ1 bmN0aW9uIHN0b3JlTG9naW5JbmZvKHVzZXJOYW1lLGF1dGhTb3VyY2UpDQp7DQogICAgdmFyIHZh bHVlID0gJ3VzZXJcdCcgKyB1c2VyTmFtZSArICdcbmF1dGhcdCcgKyBhdXRoU291cmNlOw0KICAg IHZhciBleHBpcmVzID0ganNwb3J0bGV0XzE4MTgxOS5QVENvb2tpZS5kYXlzQXdheSg2MCk7DQog ICAgd3JpdGVMb2dpbkNvb2tpZSh2YWx1ZSxleHBpcmVzKTsNCn0NCg0KZnVuY3Rpb24gcmVzdG9y ZUxvZ2luSW5mbygpDQp7DQogICAgdmFyIGNvb2tpZSA9IGpzcG9ydGxldF8xODE4MTkuUFRDb29r aWUuZ2V0KCdwdExhc3RMb2dpbkF1dGhTb3VyY2UnKTsNCiAgICBpZiAoY29va2llKQ0KICAgIHsN CiAgICAgICAgdmFyIG52UGFpcnMgPSBjb29raWUuc3BsaXQoJ1xuJyk7DQogICAgICAgIGlmIChu dlBhaXJzICYmIG52UGFpcnMubGVuZ3RoKQ0KICAgICAgICB7DQogICAgICAgICAgICB2YXIgZm91 bmRVc2VyID0gZmFsc2U7DQogICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IG52UGFpcnMu bGVuZ3RoOyBpKyspDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgdmFyIHBhaXIgPSBu dlBhaXJzW2ldOw0KICAgICAgICAgICAgICAgIGlmICghcGFpcikgeyBjb250aW51ZTsgfQ0KICAg ICAgICAgICAgICAgIHZhciB2YWxzID0gcGFpci5zcGxpdCgnXHQnKTsNCiAgICAgICAgICAgICAg ICB2YXIga2V5ID0gdmFsc1swXTsNCiAgICAgICAgICAgICAgICB2YXIgdmFsID0gdmFsc1sxXTsN CiAgICAgICAgICAgICAgICBpZiAoa2V5ID09ICd1c2VyJykNCiAgICAgICAgICAgICAgICB7DQog ICAgICAgICAgICAgICAgICAgIHZhciB1c3IgPSBnZXRVc2VyVGV4dGJveCgpOw0KICAgICAgICAg ICAgICAgICAgICBpZiAodXNyKQ0KICAgICAgICAgICAgICAgICAgICB7DQogICAgICAgICAgICAg ICAgICAgICAgICB1c3IudmFsdWUgPSB2YWw7DQogICAgICAgICAgICAgICAgICAgICAgICBmb3Vu ZFVzZXIgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0K ICAgICAgICAgICAgICAgIGVsc2UgaWYgKGtleSA9PSAnYXV0aCcpDQogICAgICAgICAgICAgICAg ew0KICAgICAgICAgICAgICAgICAgICB2YXIgc2VsID0gZ2V0QXV0b1NvdXJjZVNlbGVjdCgpOw0K ICAgICAgICAgICAgICAgICAgICB2YXIgc3JjID0gcGFyc2VJbnQodmFsKTsNCiAgICAgICAgICAg ICAgICAgICAgaWYgKHNlbCAmJiAhaXNOYU4oc3JjKSkgeyBzZWwuc2VsZWN0ZWRJbmRleCA9IHNy YzsgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIHZhciBj YiA9IGdldFJlbWVtYmVyQ2hlY2tib3goKTsNCiAgICAgICAgICAgIGlmIChjYikgeyBjYi5jaGVj a2VkID0gdHJ1ZTsgfQ0KICAgICAgICAgICAgKGZvdW5kVXNlcikgPyBmb2N1c1Bhc3N3b3JkRmll bGQoKSA6IGZvY3VzVXNlclRleHRib3goKTsNCiAgICAgICAgfSBlbHNlIHsgZm9jdXNVc2VyVGV4 dGJveCgpOyB9DQogICAgfSBlbHNlIHsgZm9jdXNVc2VyVGV4dGJveCgpOyB9DQp9DQoNCmZ1bmN0 aW9uIGZvY3VzVXNlclRleHRib3goKQ0Kew0KICAgIHZhciB1c3IgPSBnZXRVc2VyVGV4dGJveCgp Ow0KICAgIGlmICh1c3IpIHsgdXNyLmZvY3VzKCk7IH0NCn0NCg0KZnVuY3Rpb24gZm9jdXNQYXNz d29yZEZpZWxkKCkNCnsNCiAgICB2YXIgcHcgPSBnZXRQYXNzd29yZEZpZWxkKCk7DQogICAgaWYg KHB3KSB7IHB3LmZvY3VzKCk7IH0NCn0NCg0KZnVuY3Rpb24gd3JpdGVMb2dpbkNvb2tpZSh2YWx1 ZSxleHBpcmVzKQ0Kew0KICAgIGpzcG9ydGxldF8xODE4MTkuUFRDb29raWUuc2V0KCdwdExhc3RM b2dpbkF1dGhTb3VyY2UnLHZhbHVlLGV4cGlyZXMpOw0KfQ0KDQpkb2N1bWVudC5QQ0MuUmVnaXN0 ZXJGb3JXaW5kb3dFdmVudCgnb25sb2FkJyxyZXN0b3JlTG9naW5JbmZvKTsNCg0KPC9zY3JpcHQ+ PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBnX1BUSW1nU3ZySW1nc1VSTCA9ICJo dHRwOi8vcm9ja2ZvcmQuZGV2bmV0LnBsdW10cmVlLmNvbS9pbWFnZXNlcnZlci9wbHVtdHJlZS9w b3J0YWwvcHJpdmF0ZS9pbWcvIjsNCnZhciBnX1NoYXJlZEltZ1N2ckltZ3NVUkwgPSAiaHR0cDov L3JvY2tmb3JkLmRldm5ldC5wbHVtdHJlZS5jb20vaW1hZ2VzZXJ2ZXIvcGx1bXRyZWUvcG9ydGFs L3B1YmxpYy9pbWcvIjt2YXIgZ19IZWxwU3ZyQmFzZVVSTCA9ICJodHRwOi8vcm9ja2ZvcmQuZGV2 bmV0LnBsdW10cmVlLmNvbS9pbWFnZXNlcnZlci9wbHVtdHJlZS8iOw0KPC9zY3JpcHQ+PHNjcmlw dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCWlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQg fHwgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdQVFJvYm9IZWxwLWpzJykpIHsNCgkJZG9jdW1l bnQud3JpdGUoJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBpZD0iUFRSb2JvSGVscC1q cyIgc3JjPSJodHRwOi8vcm9ja2ZvcmQuZGV2bmV0LnBsdW10cmVlLmNvbS9pbWFnZXNlcnZlci9w bHVtdHJlZS9jb21tb24vcHJpdmF0ZS9qcy9qc3JvYm9oZWxwLzE0Njk0MC9QVFJvYm9IZWxwLmpz Ij48L3NjcicgKyAnaXB0PicpOw0KCX0NCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph dmFzY3JpcHQiPg0KZnVuY3Rpb24gT3BlbmVyQVNfR2V0QXBwbGljYXRpb25CYXNlVVJMKCkNCnsN CglyZXR1cm4gImh0dHA6Ly9yb2NrZm9yZC9wb3J0YWwvc2VydmVyLnB0PyI7DQp9DQpmdW5jdGlv biBPcGVuZXJBU19HZXRDdXJyZW50VXNlcklEKCkNCnsNCglyZXR1cm4gIjIiOw0KfQ0KZnVuY3Rp b24gT3BlbmVyQVNfR2V0UGFyZW50U3BhY2VOYW1lKCkNCnsNCglyZXR1cm4gIiI7DQp9DQpmdW5j dGlvbiBPcGVuZXJBU19HZXRQYXJlbnRTcGFjZUlEKCkNCnsNCglyZXR1cm4gIiI7DQp9DQo8L3Nj cmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZnVuY3Rpb24gZ2V0SlNVdGlsVmVy c2lvbk9iamVjdCgpIHsgcmV0dXJuICdqc3BvcnRsZXRfMTgxODE5Jzt9PC9zY3JpcHQ+PHNjcmlw dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cDovL3JvY2tmb3JkLmRldm5ldC5wbHVt dHJlZS5jb20vaW1hZ2VzZXJ2ZXIvcGx1bXRyZWUvcG9ydGFsL3ByaXZhdGUvanMvcHRjb21tb25v cGVuZXIuanMiPjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vKiogVGhl IG9iamVjdCB0aGF0IGhvbGRzIHRoZSBzYWZlIHZhcmlhYmxlcy4gU3RvcmUgdGhlIHZhcnMgYXMg cHJvcGVydGllcyBvbiB0aGUgb2JqZWN0LCBsaWtlIGEgaGFzaHRhYmxlLiAqKi8NCnZhciBnU2Fm ZUpTVmFyQ29udGFpbmVyID0gbmV3IE9iamVjdCgpOw0KLyoqIERlZmluZSBhIG5ldyBzYWZlIHZh cmlhYmxlLCBwYXNzIHRoZSBpbiB0aGUgbmFtZSBhbmQgdGhlIHZhbHVlLlJldHVybnMgdHJ1ZSBp ZiBzdWNjZXNzZnVsLCBtZXRob2QgY2FsbCB3aWxsIGZhaWwgaWYgdGhlIHZhbHVlIGlzIGludmFs aWQuICoqLw0KZnVuY3Rpb24gYWRkU2FmZVZhcihzdHJOYW1lLCBvVmFsdWUpIHsNCglnU2FmZUpT VmFyQ29udGFpbmVyW3N0ck5hbWVdID0gb1ZhbHVlOw0KCXJldHVybiB0cnVlOw0KfQ0KLyoqIFJl dHJpZXZlIGEgc2FmZSB2YXIuIFJldHVybnMgZmFsc2UgaWYgdGhlIHZhcmlhYmxlIGlzIHVuZGVm aW5lZCAgb3IgaWYgdGhlIHZhbHVlIGlzIGFjdHVhbGx5IGZhbHNlLCBidXQgc2FmZSB2YXJzIHNo b3VsZG4ndCBiZSB1c2VkdG8gc3RvcmUgc2ltcGxlIGJvb2xlYW4gdmFsdWVzIGFueXdheS4gKiov DQpmdW5jdGlvbiBnZXRTYWZlVmFyKHN0ck5hbWUpIHsNCgl2YXIgdGVtcCA9IGdTYWZlSlNWYXJD b250YWluZXJbc3RyTmFtZV07DQoJaWYgKHRlbXApIHsgcmV0dXJuIHRlbXA7IH0NCgllbHNlIHsg cmV0dXJuIGZhbHNlO30NCn0NCi8qKiBSZXRyaWV2ZSBhIHNhZmUgdmFyLCBpZiB0aGUgdmFyaWFi bGUgaXMgdW5kZWZpbmVkIGFuIGFsZXJ0IHdpbGwgc2hvd3dpdGggdGhlIG5hbWUgb2YgdGhlIHZh cmlhYmxlLiBVc2UgdGhpcyBtZXRob2QgdG8gcmV0cmlldmUgY3JpdGljYWx2YXJpYWJsZXMuICoq Lw0KZnVuY3Rpb24gZ2V0U2FmZVZhcldhcm4oc3RyTmFtZSkgew0KCXZhciB0ZW1wID0gZ1NhZmVK U1ZhckNvbnRhaW5lcltzdHJOYW1lXTsNCglpZiAodGVtcCkgeyByZXR1cm4gdGVtcDsgfQ0KCWVs c2UgeyBhbGVydCgnU2FmZSBWYXJpYWJsZTogJytzdHJOYW1lKycgaXMgbm90IGRlZmluZWQhJyk7 IH0NCn0NCjwvc2NyaXB0PjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhU2NyaXB0Ij4JZnVuY3Rpb24g YnVpbGRVUkxGcm9tVGVtcGxhdGUoc3RySUQpDQoJew0KCQl2YXIgYXJBcmdzID0gc3RySUQuc3Bs aXQoJywnKTsNCglpZighYXJBcmdzKXsNCgkgIGFsZXJ0KCdJbnZhbGlkIG1lbnUgSUQnKTsNCgkg IHJldHVybiBudWxsOyB9DQoJaWYoYXJBcmdzWzBdID09ICdDJyl7DQoJIHZhciBzdHJDb21tVVJM ID0gUFRDb21tb25PcGVuZXIuZ2V0T3BlbmVyVVJMT3Blbk9iaklEKDUxMiwgYXJBcmdzWzFdLCAn JlBhZ2VJRD0nK2FyQXJnc1syXSsnJywgMikNCgkgaWYgKCBhckFyZ3MubGVuZ3RoID4gMykgeyBz dHJDb21tVVJMICs9ICcmUHJvZmlsZUlEPScrYXJBcmdzWzNdOyB9DQoJICByZXR1cm4gc3RyQ29t bVVSTDsNCgl9IGVsc2UgaWYgKGFyQXJnc1swXSA9PSAnTScpIHsNCgkgcmV0dXJuIFBUQ29tbW9u T3BlbmVyLmdldE9wZW5lclVSTE9wZW5PYmpJRCg1MTgsIDIsICcmUGFnZUlEPScrYXJBcmdzWzFd KycnLCAyKQ0KCX0gZWxzZSBpZiAoYXJBcmdzWzBdID09ICdTTScpIHsNCgkgIHJldHVybiAnaHR0 cDovL3JvY2tmb3JkL3BvcnRhbC9zZXJ2ZXIucHQ/b3Blbj1zcGFjZSZuYW1lPVNpdGVNYXAmcHNu YW1lPUxvZ2luJnBzaWQ9MCZjYWNoZWQ9dHJ1ZSZpbl9oaV91c2VyaWQ9MiZjb250cm9sPVNldFNp dGVNYXAmQ29tbXVuaXR5SUQ9JythckFyZ3NbMV0rJyZNb2RlPScrYXJBcmdzWzJdKyhldmFsKGFy QXJnc1szXSkgPyAnJlByZXZpZXc9JyA6ICcnKTsNCgl9IGVsc2UgaWYgKGFyQXJnc1swXSA9PSAn UycpIHsNCgkgIHJldHVybiBudWxsOw0KCX0gZWxzZSBpZiAoYXJBcmdzWzBdID09ICdFJykgew0K CSAgICB2YXIgcGFyYW1zID0gJyc7DQoJICAgIGlmICggYXJBcmdzLmxlbmd0aCA+IDEgKSB7DQoJ ICAgICAgZm9yICggdmFyIGkgPSAyOyBpIDwgYXJBcmdzLmxlbmd0aDsgaSsrICkgew0KCSAgICAg ICAgcGFyYW1zICs9ICcmJyArIGFyQXJnc1tpXTsNCgkgICAgICB9IH0NCgkgIHJldHVybiAnaHR0 cDovL3JvY2tmb3JkL3BvcnRhbC9zZXJ2ZXIucHQ/b3Blbj1zcGFjZSZuYW1lPScrYXJBcmdzWzFd KycmcHNuYW1lPUxvZ2luJnBzaWQ9MCZjYWNoZWQ9dHJ1ZSZpbl9oaV91c2VyaWQ9MicgKyBwYXJh bXM7DQoJfSBlbHNlIGlmIChhckFyZ3NbMF0gPT0gJ0QnKSB7DQoJIHJldHVybiBQVENvbW1vbk9w ZW5lci5nZXRPcGVuZXJVUkxPcGVuT2JqSUQoMTcsIGFyQXJnc1syXSwgJyZEaXJNb2RlPScrYXJB cmdzWzFdKycnLCAyKQ0KCX0gZWxzZSBpZiAoYXJBcmdzWzBdID09ICdHMScpIHsNCgkgICAgdmFy IHBhcmFtcyA9ICcnOw0KCSAgICBpZiAoIGFyQXJncy5sZW5ndGggPiAxICkgew0KCSAgICAgIGZv ciAoIHZhciBpID0gMjsgaSA8IGFyQXJncy5sZW5ndGg7IGkrKyApIHsNCgkgICAgICAgIHBhcmFt cyArPSAnJicgKyBhckFyZ3NbaV07DQoJICAgICAgfSB9DQoJICByZXR1cm4gJ2h0dHA6Ly9yb2Nr Zm9yZC9wb3J0YWwvc2VydmVyLnB0P29wZW49c3BhY2UmbmFtZT0nK2FyQXJnc1sxXSsnJnBzbmFt ZT1Mb2dpbiZwc2lkPTAmY2FjaGVkPXRydWUmaW5faGlfdXNlcmlkPTInICsgcGFyYW1zOw0KCX0g ZWxzZSB7DQoJICAgIGFsZXJ0KCdVUkwgVHlwZSBpcyBub3QgZGVmaW5lZCcpOw0KCSAgICByZXR1 cm4gbnVsbDsgfQ0KCX0NCglmdW5jdGlvbiB0ZW1wbGF0ZVVSTFJlZGlyZWN0KHRlbXBsYXRlVVJM KSB7DQoJICBpZiAodGVtcGxhdGVVUkwgPT0gbnVsbCkgeyByZXR1cm4gbnVsbDsgfQ0KCSAgdmFy IGFyQXJncyA9IHRlbXBsYXRlVVJMLnNwbGl0KCcsJyk7DQoJIGlmIChhckFyZ3NbMF0gPT0gJ1VQ Jykgew0KCVBUQ29tbW9uT3BlbmVyLm9wZW5JblNhbWVXaW5kb3coUFRDb21tb25PcGVuZXIuZ2V0 T3BlbmVyVVJMT3Blbk9iaklEKDEsIGFyQXJnc1sxXSwgJ251bGwnLCAyKSk7DQoJfSBlbHNlIGlm IChhckFyZ3NbMF0gPT0gJ0RPJykgew0KCVBUQ29tbW9uT3BlbmVyLm9wZW5JblNhbWVXaW5kb3co UFRDb21tb25PcGVuZXIuZ2V0T3BlbmVyVVJMT3Blbk9iaklEKDE4LCBhckFyZ3NbMV0sICdudWxs JywgMikpOw0KCX0gZWxzZSBpZiAoYXJBcmdzWzBdID09ICdGJykgew0KCSAgd2luZG93LmxvY2F0 aW9uID0gYXJBcmdzWzFdOw0KCSB9IGVsc2Ugew0KCSAgIHdpbmRvdy5sb2NhdGlvbiA9IGJ1aWxk VVJMRnJvbVRlbXBsYXRlKHRlbXBsYXRlVVJMKTsNCgkgfQ0KCSANCgl9DQo8L3NjcmlwdD48c2Ny aXB0IHR5cGU9InRleHQvamF2YVNjcmlwdCIgc3JjPSJodHRwOi8vcm9ja2ZvcmQuZGV2bmV0LnBs dW10cmVlLmNvbS9pbWFnZXNlcnZlci9wbHVtdHJlZS9wb3J0YWwvcHJpdmF0ZS9qcy9uYXZqc3Bv cnRhbG1lbnVmdW5jcy5qcyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFTY3JpcHQi IHNyYz0iaHR0cDovL3JvY2tmb3JkLmRldm5ldC5wbHVtdHJlZS5jb20vaW1hZ2VzZXJ2ZXIvcGx1 bXRyZWUvcG9ydGFsL3ByaXZhdGUvanMvbmF2dGFic2VjdGlvbnMuanMiPjwvc2NyaXB0PjxzY3Jp cHQgdHlwZT0idGV4dC9qYXZhU2NyaXB0IiBzcmM9Imh0dHA6Ly9yb2NrZm9yZC5kZXZuZXQucGx1 bXRyZWUuY29tL2ltYWdlc2VydmVyL3BsdW10cmVlL3BvcnRhbC9wcml2YXRlL2pzL25hdmpzcG9y dGFsbWVudWNvbW1vbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi PiAvLyBPdmVycmlkaW5nIGRlZmF1bHQgdmFsdWUgd2l0aCBOYXZpZ2F0aW9uU2V0dGluZ3MueG1s IHZhbHVlDQoJZ01lbnVDZWxsV2lkdGggPSAxODg7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0 L2phdmFzY3JpcHQiPiAvLyBPdmVycmlkaW5nIGRlZmF1bHQgdmFsdWUgd2l0aCBOYXZpZ2F0aW9u U2V0dGluZ3MueG1sIHZhbHVlDQoJZ0hvcml6b250YWxUYWJXaWR0aCA9IDE1MDs8L3NjcmlwdD48 c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+dmFyIGdOYXZUYWJEb3duQXJyb3dJbWFnZUFs dCA9ICdFeHBhbmQgTWVudSc7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi PmRvY3VtZW50LlBDQy5SZWdpc3RlckZvcldpbmRvd0V2ZW50KCJvbmZvY3VzIiwgQ2hlY2tGb3JQ YWdlUmVsb2FkKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+dmFyIHdp bmRvd09ubG9hZEZ1bmN0aW9uID0gKHdpbmRvdy5vbmxvYWQpID8gd2luZG93Lm9ubG9hZCA6IG5l dyBGdW5jdGlvbjsNCmRvY3VtZW50LlBDQy5SZWdpc3RlckZvcldpbmRvd0V2ZW50KCJvbmxvYWQi LCB3aW5kb3dPbmxvYWRGdW5jdGlvbik7DQp2YXIgd2luZG93T25CbHVyRnVuY3Rpb24gPSAod2lu ZG93Lm9uYmx1cikgPyB3aW5kb3cub25ibHVyIDogbmV3IEZ1bmN0aW9uOw0KZG9jdW1lbnQuUEND LlJlZ2lzdGVyRm9yV2luZG93RXZlbnQoIm9uYmx1ciIsIHdpbmRvd09uQmx1ckZ1bmN0aW9uKTsN CnZhciB3aW5kb3dPbkZvY3VzRnVuY3Rpb24gPSAod2luZG93Lm9uZm9jdXMpID8gd2luZG93Lm9u Zm9jdXMgOiBuZXcgRnVuY3Rpb247DQpkb2N1bWVudC5QQ0MuUmVnaXN0ZXJGb3JXaW5kb3dFdmVu dCgib25mb2N1cyIsIHdpbmRvd09uRm9jdXNGdW5jdGlvbik7DQo8L3NjcmlwdD4NCjwvaGVhZD4N Cg0KDQoNCjxib2R5IG9uYWN0aXZhdGU9ImRvY3VtZW50LlBDQy5SYWlzZVdpbmRvd0V2ZW50KGV2 ZW50KTsiIG9uYWZ0ZXJwcmludD0iZG9jdW1lbnQuUENDLlJhaXNlV2luZG93RXZlbnQoZXZlbnQp OyIgb25iZWZvcmVhY3RpdmF0ZT0iZG9jdW1lbnQuUENDLlJhaXNlV2luZG93RXZlbnQoZXZlbnQp OyIgb25iZWZvcmV1bmxvYWQ9ImRvY3VtZW50LlBDQy5SYWlzZVdpbmRvd0V2ZW50KGV2ZW50KTsi IG9uYmx1cj0iZG9jdW1lbnQuUENDLlJhaXNlV2luZG93RXZlbnQoZXZlbnQpOyIgb25jb250cm9s c2V0PSJkb2N1bWVudC5QQ0MuUmFpc2VXaW5kb3dFdmVudChldmVudCk7IiBvbmRlYWN0aXZhdGU9 ImRvY3VtZW50LlBDQy5SYWlzZVdpbmRvd0V2ZW50KGV2ZW50KTsiIG9uZXJyb3I9ImRvY3VtZW50 LlBDQy5SYWlzZVdpbmRvd0V2ZW50KGV2ZW50KTsiIG9uZm9jdXM9ImRvY3VtZW50LlBDQy5SYWlz ZVdpbmRvd0V2ZW50KGV2ZW50KTsiIG9uaGVscD0iZG9jdW1lbnQuUENDLlJhaXNlV2luZG93RXZl bnQoZXZlbnQpOyIgb25sb2FkPSJkb2N1bWVudC5QQ0MuUmFpc2VXaW5kb3dFdmVudChldmVudCk7 IiBvbnJlc2l6ZT0iZG9jdW1lbnQuUENDLlJhaXNlV2luZG93RXZlbnQoZXZlbnQpOyIgb25yZXNp emVlbmQ9ImRvY3VtZW50LlBDQy5SYWlzZVdpbmRvd0V2ZW50KGV2ZW50KTsiIG9ucmVzaXplc3Rh cnQ9ImRvY3VtZW50LlBDQy5SYWlzZVdpbmRvd0V2ZW50KGV2ZW50KTsiIG9udW5sb2FkPSJkb2N1 bWVudC5QQ0MuUmFpc2VXaW5kb3dFdmVudChldmVudCk7IiBtYXJnaW53aWR0aD0iMCIgbWFyZ2lu aGVpZ2h0PSIwIiBsZWZ0bWFyZ2luPSIwIiB0b3BtYXJnaW49IjAiIGNsYXNzPSJwdFBhZ2VVc2Vy LWd1ZXN0Ij48ZGl2IGNsYXNzPSJwb3J0YWxDb250ZW50Ij48dGFibGUgY2VsbHBhZGRpbmc9IjAi IGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIiBjbGFzcz0iYmFuVG9wYmFy QmciIGlkPSJwdC10b3BiYXIiPjx0cj48dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0ibWlkZGxlIiBu b3dyYXA9Im5vd3JhcCI+DQoNCjxzcGFuIGNsYXNzPSJiYW5HcmVldGluZ1RleHQgYmFuVGV4dCIg aWQ9InB0LXVzZXItbmF2Ij4NCg0KPHNwYW4gaWQ9InB0LXdlbGNvbWUtdGV4dCI+V2VsY29tZSwg R3Vlc3Q8L3NwYW4+DQoNCjxzcGFuIGNsYXNzPSJzcGFjZXIiIHN0eWxlPSJwYWRkaW5nLWxlZnQ6 OHB4OyI+PC9zcGFuPg0KDQoNCg0KPHNwYW4gY2xhc3M9InNwYWNlciIgc3R5bGU9InBhZGRpbmct bGVmdDo4cHg7Ij48L3NwYW4+DQoNCjxzcGFuIGlkPSJwdC1sb2dpbi1saW5rIj48YSBocmVmPSJo dHRwOi8vcm9ja2ZvcmQvcG9ydGFsL3NlcnZlci5wdD9vcGVuPXNwYWNlJm5hbWU9TG9naW4maWQ9 Y2FjaGVkJnBzbmFtZT1Mb2dpbiZwc2lkPTAmaW5faGlfdXNlcmlkPTImY2FjaGVkPXRydWUmY29u dHJvbD1Mb2dpbiZsb2dpbj0iIHRpdGxlPSJMb2cgSW4iPkxvZyBJbjwvYT48L3NwYW4+DQoNCjwv c3Bhbj48L3RkPg0KPHRkIGFsaWduPSJyaWdodCIgdmFsaWduPSJtaWRkbGUiIG5vd3JhcD0ibm93 cmFwIj4NCg0KPHNwYW4gY2xhc3M9ImJhbkhlbHBUZXh0IiBpZD0icHQtaGVscC1idXR0b24iPjxh IGhyZWY9IiMiIHRpdGxlPSJHbyB0byBIZWxwIFNlY3Rpb24iIG9uY2xpY2s9IlBUUm9ib0hlbHAu bGF1bmNoSGVscCggJ3B0X2xvZ2luLmh0bScsICdodHRwOi8vcm9ja2ZvcmQuZGV2bmV0LnBsdW10 cmVlLmNvbS9pbWFnZXNlcnZlci9wbHVtdHJlZS9wb3J0YWwvcHJpdmF0ZS9oZWxwL3N0ZC9lbi9w b3J0YWxoZWxwLmh0bScsICc2MDAnLCAnNjAwJyApOyByZXR1cm4gZmFsc2U7Ij48aW1nIHNyYz0i aHR0cDovL3JvY2tmb3JkLmRldm5ldC5wbHVtdHJlZS5jb20vaW1hZ2VzZXJ2ZXIvcGx1bXRyZWUv cG9ydGFsL3B1YmxpYy9pbWcvaWNvbl9oZWxwLmdpZiIgYWx0PSJHbyB0byBIZWxwIFNlY3Rpb24i IGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRsZSIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2Ii8+SGVs cDwvYT4NCg0KPC9zcGFuPjxpbWcgc3JjPSJodHRwOi8vcm9ja2ZvcmQuZGV2bmV0LnBsdW10cmVl LmNvbS9pbWFnZXNlcnZlci9wbHVtdHJlZS9wb3J0YWwvcHVibGljL2ltZy9zcC5naWYiIGFsdD0i IiBib3JkZXI9IjAiIGFsaWduPSJhYnNtaWRkbGUiIGhlaWdodD0iMTAwJSIgd2lkdGg9IjEiIGNs YXNzPSJiZ0RhcmsiLz48c3BhbiBjbGFzcz0iYmFuR3JlZXRpbmdUZXh0IiBpZD0icHQtc2VhcmNo LWNvbnRyb2xzIj48Zm9ybSBtZXRob2Q9ImdldCIgYWN0aW9uPSJodHRwOi8vcm9ja2ZvcmQvcG9y dGFsL3NlcnZlci5wdD8iIG9uc3VibWl0PSJyZXR1cm4gY2hlY2tTZWFyY2hwdGJhbm5lcigpOyIg bmFtZT0icHRiYW5uZXIiIGlkPSJwdGJhbm5lciI+PGlucHV0IHR5cGU9ImhpZGRlbiIgYWx0PSIi IG5hbWU9ImluX2hpX3NwYWNlIiBpZD0iaW5faGlfc3BhY2UiIHZhbHVlPSJTZWFyY2hSZXN1bHQi PjwvaW5wdXQ+PGlucHV0IHR5cGU9ImhpZGRlbiIgYWx0PSIiIG5hbWU9ImluX2hpX2NvbnRyb2wi IGlkPSJpbl9oaV9jb250cm9sIiB2YWx1ZT0iYmFubmVyc3RhcnQiPjwvaW5wdXQ+PGlucHV0IHR5 cGU9ImhpZGRlbiIgYWx0PSIiIG5hbWU9ImluX2hpX3VzZXJpZCIgaWQ9ImluX2hpX3VzZXJpZCIg dmFsdWU9IjIiPjwvaW5wdXQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFTY3JpcHQiPmZ1bmN0aW9u IGNoZWNrU2VhcmNocHRiYW5uZXIoKQ0Kew0KICB2YXIgc2VhcmNoRm9ybSA9IGRvY3VtZW50LnB0 YmFubmVyOw0KICBmb3IgKHZhciBpID0gMDsgaSA8IHNlYXJjaEZvcm0uZWxlbWVudHMubGVuZ3Ro OyBpKyspIHsNCiAgICBpZiAoc2VhcmNoRm9ybS5lbGVtZW50c1tpXS5uYW1lID09ICJpbl90eF9x dWVyeSIpIHsNCiAgICAgaWYgKHNlYXJjaEZvcm0uZWxlbWVudHNbaV0udmFsdWUgPT0gIiIpIHsN CiAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgfQ0KICAgIHJldHVybiB0cnVlOw0KICAgIH0NCiAg fQ0KICByZXR1cm4gZmFsc2U7DQp9DQpmdW5jdGlvbiBzdWJtaXRTZWFyY2hwdGJhbm5lcigpIHsN CiAgaWYgKGNoZWNrU2VhcmNocHRiYW5uZXIoKSkgew0KICAgIHZhciBzZWFyY2hGb3JtID0gZG9j dW1lbnQucHRiYW5uZXI7DQogICAgc2VhcmNoRm9ybS5zdWJtaXQoKTsNCiAgfSBlbHNlIHsNCiAg ICBhbGVydCgnWW91ciBzZWFyY2ggYm94IHdhcyBlbXB0eS4gUGxlYXNlIGVudGVyIHNvbWUgdGV4 dCBpbiB0aGUgc2VhcmNoIGJveC4nKTsNCiAgfQ0KfQ0KZnVuY3Rpb24gaGFuZGxlS2V5RG93bnB0 YmFubmVyKGV2dCkgew0KIGV2dCA9IChldnQpID8gZXZ0IDogKChldmVudCkgPyBldmVudCA6IG51 bGwpOw0KIGlmIChldnQua2V5Q29kZSA9PSAxMyl7DQoJICBpZiAoY2hlY2tTZWFyY2hwdGJhbm5l cigpKSB7DQoJCSAgIHJldHVybiB0cnVlOw0KCSAgfSBlbHNlIHsNCgkgICAgICAgYWxlcnQoJ1lv dXIgc2VhcmNoIGJveCB3YXMgZW1wdHkuIFBsZWFzZSBlbnRlciBzb21lIHRleHQgaW4gdGhlIHNl YXJjaCBib3guJyk7DQoJICAgICAgIHJldHVybiBmYWxzZTsNCgkgIH0NCiB9DQogcmV0dXJuIHRy dWU7DQp9DQo8L3NjcmlwdD5TZWFyY2g6IDxzcGFuIGNsYXNzPSJzcGFjZXIiIHN0eWxlPSJwYWRk aW5nLWxlZnQ6NnB4OyI+PC9zcGFuPiZuYnNwOzxpbnB1dCB0eXBlPSJ0ZXh0IiBhbHQ9IlNlYXJj aCIgb25rZXlkb3duPSJyZXR1cm4gaGFuZGxlS2V5RG93bnB0YmFubmVyKGV2ZW50KTsiIHNpemU9 IjIwIiBtYXhsZW5ndGg9IjIwMCIgY2xhc3M9ImZvcm1UZXh0Ym94VGV4dCIgbmFtZT0iaW5fdHhf cXVlcnkiIHRpdGxlPSJTZWFyY2giIGlkPSJpbnB1dDU0IiB2YWx1ZT0iIj48L2lucHV0PiZuYnNw OzxzcGFuIGlkPSJwdC1zZWFyY2gtc3VibWl0LWJ1dHRvbiI+PGEgaHJlZj0iIyIgdGl0bGU9IlNl YXJjaCIgb25jbGljaz0ic3VibWl0U2VhcmNocHRiYW5uZXIoKTsgcmV0dXJuIGZhbHNlOyI+PGlt ZyBzcmM9Imh0dHA6Ly9yb2NrZm9yZC5kZXZuZXQucGx1bXRyZWUuY29tL2ltYWdlc2VydmVyL3Bs dW10cmVlL3BvcnRhbC9wdWJsaWMvaW1nL2FjdGlvbl9zZWFyY2hfYnV0dG9uLmdpZiIgYWx0PSJT ZWFyY2giIGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRsZSIgaGVpZ2h0PSIyMCIgd2lkdGg9IjMw Ii8+PC9hPjwvc3Bhbj4mbmJzcDs8c3BhbiBpZD0icHQtYWR2YW5jZWQtc2VhcmNoLWJ1dHRvbiI+ PGEgaHJlZj0iaHR0cDovL3JvY2tmb3JkL3BvcnRhbC9zZXJ2ZXIucHQ/b3Blbj1zcGFjZSZuYW1l PUFkdmFuY2VkU2VhcmNoJnBzbmFtZT1Mb2dpbiZwc2lkPTAmY2FjaGVkPXRydWUmaW5faGlfdXNl cmlkPTImY29udHJvbD1FZGl0b3JTdGFydCZlZGl0b3JUeXBlPTEwIiB0aXRsZT0iQWR2YW5jZWQg U2VhcmNoIj48aW1nIHNyYz0iaHR0cDovL3JvY2tmb3JkLmRldm5ldC5wbHVtdHJlZS5jb20vaW1h Z2VzZXJ2ZXIvcGx1bXRyZWUvcG9ydGFsL3ByaXZhdGUvaW1nL2FjdGlvbl9zZWFyY2hfYnV0dG9u X2FkdmFuY2VkLmdpZiIgYWx0PSJBZHZhbmNlZCBTZWFyY2giIGJvcmRlcj0iMCIgYWxpZ249ImFi c21pZGRsZSIgaGVpZ2h0PSIyMCIgd2lkdGg9IjIwIi8+PC9hPjwvc3Bhbj4mbmJzcDs8c3BhbiBp ZD0icHQtZmVkZXJhdGVkLXNlYXJjaC1idXR0b24iPjxhIGhyZWY9Imh0dHA6Ly9yb2NrZm9yZC9w b3J0YWwvc2VydmVyLnB0P29wZW49c3BhY2UmbmFtZT1OZXR3b3JrU2VhcmNoJnBzbmFtZT1Mb2dp biZwc2lkPTAmY2FjaGVkPXRydWUmaW5faGlfdXNlcmlkPTImY29udHJvbD1OZXR3b3JrU2VhcmNo IiB0aXRsZT0iRmVkZXJhdGVkIFNlYXJjaCI+PGltZyBzcmM9Imh0dHA6Ly9yb2NrZm9yZC5kZXZu ZXQucGx1bXRyZWUuY29tL2ltYWdlc2VydmVyL3BsdW10cmVlL3BvcnRhbC9wcml2YXRlL2ltZy9h Y3Rpb25fc2VhcmNoX2J1dHRvbl9uZXR3b3JrLmdpZiIgYWx0PSJGZWRlcmF0ZWQgU2VhcmNoIiBi b3JkZXI9IjAiIGFsaWduPSJhYnNtaWRkbGUiIGhlaWdodD0iMjAiIHdpZHRoPSIyMCIvPjwvYT48 L3NwYW4+PC9mb3JtPg0KPC9zcGFuPjwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjxzY3JpcHQgdHlw ZT0idGV4dC9qYXZhc2NyaXB0Ij4NCmFkZFNhZmVWYXIoJ0RhdGFBUm15cGFnZScsIFtbJ2h0dHA6 Ly9yb2NrZm9yZC5kZXZuZXQucGx1bXRyZWUuY29tL2ltYWdlc2VydmVyL3BsdW10cmVlL3BvcnRh bC9wdWJsaWMvaW1nL2ljb25fbXlwYWdlX21lbnUuZ2lmJywgJzIwJywnPHNwYW4+SG9tZSBQYWdl PC9zcGFuPicsIk0sMTAxIl0JCV0NCik7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz Y3JpcHQiPg0KYWRkU2FmZVZhcignRGF0YUFSY29tbXMnLCBbCQldDQopOzwvc2NyaXB0PjxzY3Jp cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCmFkZFNhZmVWYXIoJ0RhdGFBUmRvY3MnLCBbWydo dHRwOi8vcm9ja2ZvcmQuZGV2bmV0LnBsdW10cmVlLmNvbS9pbWFnZXNlcnZlci9wbHVtdHJlZS9w b3J0YWwvcHVibGljL2ltZy9pY29uX2Jyb3dzZV9tZW51LmdpZicsICcyMCcsJzxzcGFuPkJyb3dz ZSBEaXJlY3Rvcnk8L3NwYW4+JywiRCwxLC0xIl0JCV0NCik7PC9zY3JpcHQ+PHNjcmlwdCB0eXBl PSJ0ZXh0L2phdmFzY3JpcHQiPg0KYWRkU2FmZVZhcignbWFuZFRhYnNBcnJheScsIFsNCgkJXQ0K KTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQphZGRTYWZlVmFyKCdk ZFRhYnNBcnJheScsIFsgWyJNeSBQYWdlcyIsIm15cGFnZSIsIm51bGwiXQ0KLFsiRGlyZWN0b3J5 IiwiZG9jcyIsIm51bGwiXQ0KXSk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp cHQiPglmdW5jdGlvbiB3cml0ZVN0YXJ0VGFibGUoKSB7IGRvY3VtZW50LndyaXRlKCc8dGFibGUg Y2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj48 dHIgY2xhc3M9Im5hdk1pZHRhYkJnIj4nKTsgfQ0KCWZ1bmN0aW9uIHdyaXRlRW5kT2ZUYWJsZSgp IHsgZG9jdW1lbnQud3JpdGUoJzx0ZCB3aWR0aD0iMTAwJSIgY2xhc3M9ImJhbkhlYWRlckJnIj4m bmJzcDs8L3RkPjwvdHI+PC90YWJsZT4nKTsgfQ0KCWZ1bmN0aW9uIHdyaXRlU3BhY2VyVGFibGUo KSB7IGRvY3VtZW50LndyaXRlKCc8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIw IiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj48dHIgY2xhc3M9ImJhbkhlYWRlckJnIj48dGQgY29s c3Bhbj0iMSIgY2xhc3M9Im5hdk1pZHRhYlNwYWNlckJnIj48aW1nIHNyYz0iaHR0cDovL3JvY2tm b3JkLmRldm5ldC5wbHVtdHJlZS5jb20vaW1hZ2VzZXJ2ZXIvcGx1bXRyZWUvcG9ydGFsL3B1Ymxp Yy9pbWcvc3AuZ2lmIiBhbHQ9IiIgYm9yZGVyPSIwIiBoZWlnaHQ9IjQiIHdpZHRoPSIxIi8+PC90 ZD48L3RyPjwvdGFibGU+Jyk7IH0NCglmdW5jdGlvbiB3cml0ZVNwYWNlckNlbGwoKSB7IGRvY3Vt ZW50LndyaXRlKCc8dGQgY29sc3Bhbj0iMSIgY2xhc3M9Im5hdk1pZHRhYlNwYWNlckJnIj48aW1n IHNyYz0iaHR0cDovL3JvY2tmb3JkLmRldm5ldC5wbHVtdHJlZS5jb20vaW1hZ2VzZXJ2ZXIvcGx1 bXRyZWUvcG9ydGFsL3B1YmxpYy9pbWcvc3AuZ2lmIiBhbHQ9IiIgYm9yZGVyPSIwIiBoZWlnaHQ9 IjEiIHdpZHRoPSI0Ii8+PC90ZD4nKTsgfQ0KPC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSJ0ZXh0L2ph dmFTY3JpcHQiPjwvc2NyaXB0PjwhLS0gc3RhcnQgTkFWIERIVE1MIE1JREJBUiAtLT48c2NyaXB0 IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCB8 fCAhZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ1N0cmluZ3MtUFRVLURhdGUtZW4tanMnKSkgew0K CQlkb2N1bWVudC53cml0ZSgnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGlkPSJTdHJp bmdzLVBUVS1EYXRlLWVuLWpzIiBzcmM9Imh0dHA6Ly9yb2NrZm9yZC5kZXZuZXQucGx1bXRyZWUu Y29tL2ltYWdlc2VydmVyL3BsdW10cmVlL2NvbW1vbi9wcml2YXRlL2pzL2pzdXRpbC8xNzA5NzIv U3RyaW5ncy9QVFUtRGF0ZS1lbi5qcyI+PC9zY3InICsgJ2lwdD4nKTsNCgl9DQo8L3NjcmlwdD4N CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCglpZiAoIWRvY3VtZW50LmdldEVsZW1l bnRCeUlkIHx8ICFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnU3RyaW5ncy1QVFUtTnVtYmVyLWVu LWpzJykpIHsNCgkJZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0 IiBpZD0iU3RyaW5ncy1QVFUtTnVtYmVyLWVuLWpzIiBzcmM9Imh0dHA6Ly9yb2NrZm9yZC5kZXZu ZXQucGx1bXRyZWUuY29tL2ltYWdlc2VydmVyL3BsdW10cmVlL2NvbW1vbi9wcml2YXRlL2pzL2pz dXRpbC8xNzA5NzIvU3RyaW5ncy9QVFUtTnVtYmVyLWVuLmpzIj48L3NjcicgKyAnaXB0PicpOw0K CX0NCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCWlmICghZG9j dW1lbnQuZ2V0RWxlbWVudEJ5SWQgfHwgIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdQVFV0aWwt anMnKSkgew0KCQlkb2N1bWVudC53cml0ZSgnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi IGlkPSJQVFV0aWwtanMiIHNyYz0iaHR0cDovL3JvY2tmb3JkLmRldm5ldC5wbHVtdHJlZS5jb20v aW1hZ2VzZXJ2ZXIvcGx1bXRyZWUvY29tbW9uL3ByaXZhdGUvanMvanN1dGlsLzE3MDk3Mi9QVFV0 aWwuanMiPjwvc2NyJyArICdpcHQ+Jyk7DQoJfQ0KPC9zY3JpcHQ+DQo8c2NyaXB0IHR5cGU9InRl eHQvamF2YXNjcmlwdCI+DQoJaWYgKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCB8fCAhZG9jdW1l bnQuZ2V0RWxlbWVudEJ5SWQoJ1BURGF0ZUZvcm1hdHMtanMnKSkgew0KCQlkb2N1bWVudC53cml0 ZSgnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGlkPSJQVERhdGVGb3JtYXRzLWpzIiBz cmM9Imh0dHA6Ly9yb2NrZm9yZC5kZXZuZXQucGx1bXRyZWUuY29tL2ltYWdlc2VydmVyL3BsdW10 cmVlL2NvbW1vbi9wcml2YXRlL2pzL2pzdXRpbC8xNzA5NzIvUFREYXRlRm9ybWF0cy5qcyI+PC9z Y3InICsgJ2lwdD4nKTsNCgl9DQo8L3NjcmlwdD4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgdHlw ZT0idGV4dC9jc3MiIGhyZWY9Imh0dHA6Ly9yb2NrZm9yZC5kZXZuZXQucGx1bXRyZWUuY29tL2lt YWdlc2VydmVyL3BsdW10cmVlL2NvbW1vbi9wcml2YXRlL2pzL2pzcG9ydGFsbWVudXMvMTUxMTUx L3N0eWxlcy9jc3MvUFRQTU1lbnUuY3NzIiAvPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp cHQiPg0KCWlmICghZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQgfHwgIWRvY3VtZW50LmdldEVsZW1l bnRCeUlkKCdQVFBvcnRhbE1lbnVzLWpzJykpIHsNCgkJZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQg dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBpZD0iUFRQb3J0YWxNZW51cy1qcyIgc3JjPSJodHRwOi8v cm9ja2ZvcmQuZGV2bmV0LnBsdW10cmVlLmNvbS9pbWFnZXNlcnZlci9wbHVtdHJlZS9jb21tb24v cHJpdmF0ZS9qcy9qc3BvcnRhbG1lbnVzLzE1MTE1MS9QVFBvcnRhbE1lbnVzLmpzIj48L3Njcicg KyAnaXB0PicpOw0KCX0NCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFTY3JpcHQi PndyaXRlUG9ydGFsTWVudURpdnMoZ2V0U2FmZVZhcldhcm4oJ2RkVGFic0FycmF5JykpOw0KaW5p dEREYW5kTWFuVGFic1Jvd3MoZ2V0U2FmZVZhcldhcm4oJ2RkVGFic0FycmF5JyksZ2V0U2FmZVZh cldhcm4oJ21hbmRUYWJzQXJyYXknKSwnaHR0cDovL3JvY2tmb3JkLmRldm5ldC5wbHVtdHJlZS5j b20vaW1hZ2VzZXJ2ZXIvcGx1bXRyZWUvY29tbW9uL3ByaXZhdGUvanMvanNwb3J0YWxtZW51cy8x NTExNTEvc3R5bGVzL2Nzcy9QVFBNTWVudS5jc3MnKTtkb2N1bWVudC5QQ0MuUmVnaXN0ZXJGb3JX aW5kb3dFdmVudCgib25sb2FkIiwgImdiUGFnZUxvYWRlZCA9IHRydWU7IiApOzwvc2NyaXB0Pjwh LS0gZW5kIE5BViBESFRNTCBNSURCQVIgLS0+PHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3Bh Y2luZz0iMCIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgaWQ9InB0LWhlYWRlciI+PHRyIHZhbGln bj0idG9wIiBjbGFzcz0iYmFuSGVhZGVyQmciPjx0ZCBhbGlnbj0ibGVmdCIgY29sc3Bhbj0iMSIg aWQ9InB0LWhlYWRlci1sZWZ0Ij48aW1nIHNyYz0iaHR0cDovL3JvY2tmb3JkLmRldm5ldC5wbHVt dHJlZS5jb20vaW1hZ2VzZXJ2ZXIvcGx1bXRyZWUvcG9ydGFsL3B1YmxpYy9pbWcvUFRfbG9nb19z bV93aHQuZ2lmIiBhbHQ9IlBsdW10cmVlIExvZ28iIGJvcmRlcj0iMCIgYWxpZ249ImFic21pZGRs ZSIgaGVpZ2h0PSI1MCIgd2lkdGg9IjEyNSIvPjwvdGQ+DQo8dGQgYWxpZ249InJpZ2h0IiBub3dy YXA9Im5vd3JhcCIgY29sc3Bhbj0iMSIgaWQ9InB0LWhlYWRlci1yaWdodCI+PGgxIGNsYXNzPSJi YW5IZWFkZXIiPkxvZyBJbjwvaDE+PGgyIGNsYXNzPSJiYW5TdWJoZWFkIj48L2gyPjwvdGQ+DQo8 L3RyPg0KPC90YWJsZT4NCjxzcGFuIGlkPSJiYW5uZXJlbmQiPjwvc3Bhbj48bGF5ZXIgaWQ9Im5z YmFubmVyZW5kIj48L2xheWVyPjx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjEw IiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj48dHI+PHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRv cCIgY29sc3Bhbj0iMSI+PHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lk dGg9IjEwMCUiIGJvcmRlcj0iMCI+PHRyPjx0ZCBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiIGNv bHNwYW49IjEiPjxmb3JtIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJodHRwOi8vcm9ja2ZvcmQvcG9y dGFsL3NlcnZlci5wdD8iIG5hbWU9Imxmb3JtIiBpZD0ibG9naW5Gb3JtSUQiPjx0YWJsZSBhbGln bj0iY2VudGVyIiBjZWxscGFkZGluZz0iMiIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSI0MDAiPjx0 cj48dGQgY29sc3Bhbj0iMSIgY2xhc3M9ImxvZ2luVGl0bGUiPldlbGNvbWUgdG8geW91ciBQb3J0 YWwuPC90ZD4NCjwvdHI+DQo8dHI+PHRkIGNvbHNwYW49IjEiIGNsYXNzPSJsb2dpblRleHQiPkxv ZyBpbiB0byB5b3VyIHBlcnNvbmFsaXplZCBQb3J0YWwgYWNjb3VudC48YnIvPjxici8+SWYgeW91 IGhhdmUgYW4gZXhpc3RpbmcgYWNjb3VudCwgZW50ZXIgeW91ciBVc2VybmFtZSBhbmQgUGFzc3dv cmQuIElmIG5lY2Vzc2FyeSwgc2VsZWN0IHRoZSBhcHByb3ByaWF0ZSBBdXRoZW50aWNhdGlvbiBT b3VyY2UuIElmIHlvdSB3YW50IHRvIGxvZyBpbiB0byB0aGUgUG9ydGFsIGF1dG9tYXRpY2FsbHks IGNoZWNrIDxiPlJlbWVtYmVyIG15IFBhc3N3b3JkPC9iPiwgYW5kIHRoZW4gY2xpY2sgPGI+TG9n IEluPC9iPi48YnIvPjxici8+VG8gY3JlYXRlIGEgUG9ydGFsIGFjY291bnQsIGNsaWNrIDxiPkNy ZWF0ZSBhbiBhY2NvdW50PC9iPi48L3RkPg0KPC90cj4NCjwvdGFibGU+DQo8aW5wdXQgdHlwZT0i aGlkZGVuIiBhbHQ9IlRoaXMgaXMgYW4gaW5wdXQiIG5hbWU9ImluX2hpX3NwYWNlIiBpZD0iaW5f aGlfc3BhY2UiIHZhbHVlPSJMb2dpbiI+PC9pbnB1dD48aW5wdXQgdHlwZT0iaGlkZGVuIiBhbHQ9 IlRoaXMgaXMgYW4gaW5wdXQiIG5hbWU9ImluX2hpX3NwYWNlSUQiIGlkPSJpbl9oaV9zcGFjZUlE IiB2YWx1ZT0iMCI+PC9pbnB1dD48aW5wdXQgdHlwZT0iaGlkZGVuIiBhbHQ9IlRoaXMgaXMgYW4g aW5wdXQiIG5hbWU9ImluX2hpX2NvbnRyb2wiIGlkPSJpbl9oaV9jb250cm9sIiB2YWx1ZT0iTG9n aW4iPjwvaW5wdXQ+PGlucHV0IHR5cGU9ImhpZGRlbiIgYWx0PSJUaGlzIGlzIGFuIGlucHV0IiBu YW1lPSJpbl9oaV9kb2xvZ2luIiBpZD0iaW5faGlfZG9sb2dpbiIgdmFsdWU9ImZhbHNlICI+PC9p bnB1dD48dGFibGUgYWxpZ249ImNlbnRlciIgY2VsbHBhZGRpbmc9IjIiIGNlbGxzcGFjaW5nPSIw IiB3aWR0aD0iMTAwJSI+PHRyPjx0ZCBjb2xzcGFuPSIyIiBjbGFzcz0ibG9naW5UZXh0Ij48L3Rk Pg0KPC90cj4NCjx0cj48IS0tVXNlcm5hbWU6LS0+PHRkIGFsaWduPSJyaWdodCIgd2lkdGg9IjQw JSIgY29sc3Bhbj0iMSIgY2xhc3M9ImxvZ2luU3VidGl0bGUiPlVzZXJuYW1lOjwvdGQ+DQo8dGQg YWxpZ249ImxlZnQiIHdpZHRoPSI2MCUiIGNvbHNwYW49IjEiIGNsYXNzPSJsb2dpblN1YnRpdGxl Ij48aW5wdXQgdHlwZT0idGV4dCIgYWx0PSJVc2VybmFtZToiIHNpemU9IjMwIiBjbGFzcz0iZm9y bUlucHV0Qm94VGV4dCIgbmFtZT0iaW5fdHhfdXNlcm5hbWUiIGlkPSJwdC1sb2dpbi11c2VybmFt ZS10ZXh0Ym94IiBvbmtleXByZXNzPSJyZXR1cm4gZXhlY3V0ZVZpYUVudGVyKGV2ZW50KTsiIHZh bHVlPSIiPjwvaW5wdXQ+PC90ZD4NCjwvdHI+DQo8dHI+PCEtLVBhc3N3b3JkOi0tPjx0ZCBhbGln bj0icmlnaHQiIHdpZHRoPSI0MCUiIGNvbHNwYW49IjEiIGNsYXNzPSJsb2dpblN1YnRpdGxlIj5Q YXNzd29yZDo8L3RkPg0KPCEtLVBhc3N3b3JkIElucHV0LS0+PHRkIGFsaWduPSJsZWZ0IiB3aWR0 aD0iNjAlIiBjb2xzcGFuPSIxIiBjbGFzcz0ibG9naW5UZXh0Ij48aW5wdXQgdHlwZT0icGFzc3dv cmQiIGFsdD0iUGFzc3dvcmQ6IiBzaXplPSIzMCIgY2xhc3M9ImZvcm1JbnB1dEJveFRleHQiIG5h bWU9ImluX3B3X3VzZXJwYXNzIiBpZD0icHQtbG9naW4tcGFzc3dvcmQtZmllbGQiIG9ua2V5cHJl c3M9InJldHVybiBleGVjdXRlVmlhRW50ZXIoZXZlbnQpOyIgdmFsdWU9IiI+PC9pbnB1dD48L3Rk Pg0KPC90cj4NCjx0cj48dGQgYWxpZ249InJpZ2h0IiB3aWR0aD0iNDAlIiBjb2xzcGFuPSIxIiBj bGFzcz0ibG9naW5TdWJ0aXRsZSI+QXV0aGVudGljYXRpb24gU291cmNlOjwvdGQ+DQo8dGQgYWxp Z249ImxlZnQiIHdpZHRoPSI0MCUiIGNvbHNwYW49IjEiIGNsYXNzPSJsb2dpblRleHQiPjxzZWxl Y3QgY2xhc3M9ImZvcm1QdWxsZG93blRleHQiIG5hbWU9ImluX3NlX2F1dGhzb3VyY2UiIGlkPSJw dC1sb2dpbi1hdXRoLXNlbGVjdCIgbGFuZz0iZW4iIG9ua2V5cHJlc3M9InJldHVybiBleGVjdXRl VmlhRW50ZXIoZXZlbnQpOyI+PG9wdGlvbiB2YWx1ZT0iIiBzZWxlY3RlZD5QbHVtdHJlZSBVc2Vy IERhdGFiYXNlPC9vcHRpb24+PC9zZWxlY3Q+PC90ZD4NCjwvdHI+DQo8dHI+PHRkIGNvbHNwYW49 IjEiIGNsYXNzPSJsb2dpblRleHQiPiZuYnNwOzwvdGQ+DQo8IS0tUmVtZW1iZXIgbXkgUGFzc3dv cmQtLT48dGQgYWxpZ249ImxlZnQiIGNvbHNwYW49IjEiIGNsYXNzPSJsb2dpblRleHQiPjxpbnB1 dCB0eXBlPSJjaGVja2JveCIgYWx0PSJSZW1lbWJlciBteSBQYXNzd29yZCIgY2xhc3M9ImZvcm1D aGVja2JveFRleHQiIG5hbWU9ImluX2NiX3JlbWVtYmVyIiBpZD0icHQtbG9naW4tcmVtZW1iZXIt Y2hlY2tib3giIHZhbHVlPSIiPjwvaW5wdXQ+UmVtZW1iZXIgbXkgUGFzc3dvcmQ8L3RkPg0KPC90 cj4NCjx0cj48dGQgY29sc3Bhbj0iMSI+PC90ZD4NCjx0ZCBhbGlnbj0ibGVmdCIgY29sc3Bhbj0i MSIgY2xhc3M9ImxvZ2luVGV4dCI+PGlucHV0IHR5cGU9ImJ1dHRvbiIgYWx0PSJMb2cgSW4iIG9u Y2xpY2s9ImRvTG9naW4oKTsgcmV0dXJuIGZhbHNlOyIgY2xhc3M9ImZvcm1CdG5UZXh0IiBuYW1l PSJpbl9idV9Mb2dpbiIgdGl0bGU9IkxvZyBJbiIgaWQ9ImlucHV0NTYiIHZhbHVlPSJMb2cgSW4i PjwvaW5wdXQ+Jm5ic3A7PGEgaHJlZj0iaHR0cDovL3JvY2tmb3JkL3BvcnRhbC9zZXJ2ZXIucHQ/ b3Blbj1zcGFjZSZuYW1lPUNyZWF0ZUFjY291bnRBUyZpZD1jYWNoZWQmcHNuYW1lPUxvZ2luJnBz aWQ9MCZpbl9oaV91c2VyaWQ9MiZjYWNoZWQ9dHJ1ZSZjb250cm9sPUNyZWF0ZUFjY291bnRDb250 cm9sIiB0aXRsZT0iQ3JlYXRlIEFuIEFjY291bnQiPkNyZWF0ZSBhbiBhY2NvdW50PC9hPiZuYnNw OzwvdGQ+DQo8L3RyPg0KPC90YWJsZT4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5k b09uTG9hZCgpOw0KPC9zY3JpcHQ+PC9mb3JtPg0KPC90ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPC90 ZD4NCjwvdHI+DQo8L3RhYmxlPg0KPHRhYmxlIGNlbGxwYWRkaW5nPSI1IiBjZWxsc3BhY2luZz0i MCIgd2lkdGg9IjEwMCUiIGJvcmRlcj0iMCIgaWQ9InB0LWZvb3RlciI+PHRyPjx0ZCBhbGlnbj0i Y2VudGVyIiB2YWxpZ249Im1pZGRsZSIgY29sc3Bhbj0iMSIgY2xhc3M9ImZvb3RIZWFkZXJCZyBm b290VGV4dCI+PHNwYW4gY2xhc3M9ImZvb3RTdWJ0aXRsZSI+UGx1bXRyZWUgU29mdHdhcmUsIElu Yy48L3NwYW4+Jm5ic3A7NTAwIFNhbnNvbWUgU3RyZWV0LCBTYW4gRnJhbmNpc2NvLCBDYWxpZm9y bmlhIDk0MTExICBQaG9uZTogKDQxNSkgMzk5LTcwNTAgRmF4OiAoNDE1KSAyNjMtODk5MTwvdGQ+ DQo8L3RyPg0KPC90YWJsZT4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5Jbml0aWFs aXplRXZlbnRzKCk7PC9zY3JpcHQ+PC9kaXY+PGRpdiBjbGFzcz0iZXh0ZXJuYWxDb250ZW50Ij48 L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD48IS0tSG9zdG5hbWU6IHJvY2tmb3JkLS0+PCEtLVRvdGFs IFJlcXVlc3QgVGltZTogMTU3DQpDb250cm9sIFRpbWU6IDANClBhZ2UgQ29uc3RydWN0aW9uIFRp bWU6IDEyNQ0KUGFnZSBEaXNwbGF5IFRpbWU6IDANCi0tPjwhLS1Qb3J0YWwgVmVyc2lvbjogNi4w LjAuMTg2NTIzLCBDaGFuZ2VsaXN0OiAxODY1MjMsIEJ1aWxkIERhdGU6IDA2LzAzLzIwMDUgYXQg MDk6MTEgQU0tLT4= |
From: Jean-Philippe H. <te...@ya...> - 2005-06-03 16:23:05
|
Sorry Marc, this is the good code. HtmlSelect testSelect= thisForm.getSelectByName(TEST_SELECT_NAME); assertTrue(testSelect.isMultipleSelectEnabled());//OK HtmlOption testOption = testSelect.getOptionByValue("002"); testOption.click(); assertTrue(testOption.isSelected());//KO --- Marc Guillemot <mgu...@ya...> a écrit : > Hi, > > what is "localengine"? > > Marc. > > Jean-Philippe HILAIRE wrote: > > Hello guys, > > > > i have some trouble with mutiple select > > > > the select is send in html like this. > > > > <select name="test" multiple="multiple"size="5" > > class="SeHeaderListDb"> > > <option value="000" > selected="selected">All</option> > > <option value="001">test 1</option> > > <option value="002">test 2</option> > > <option value="003">test 3</option> > > <option value="004">test 4</option> > > </select> > > > > the default option selected is the first one. > > > > when i use this code: > > > > HtmlSelect testSelect = > > thisForm.getSelectByName(TEST_SELECT_NAME); > > assertTrue(testSelect.isMultipleSelectEnabled()); > > //OK > > HtmlOption testOption = > > testSelect.getOptionByValue("002"); > > localengine.click(); > > assertTrue(testOption.isSelected());//KO > > > > the test fails. > > > > I did something wrong or it's the htmlunit > behavior ?? > > > > thanks in advance!! > > > > > > > > > > > > > > > > > > > > > > > _____________________________________________________________________________ > > > Découvrez le nouveau Yahoo! Mail : 1 Go d'espace > de stockage pour vos mails, photos et vidéos ! > > Créez votre Yahoo! Mail sur > http://fr.mail.yahoo.com > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by Yahoo. > > Introducing Yahoo! Search Developer Network - > Create apps using Yahoo! > > Search APIs Find out how you can build Yahoo! > directly into your own > > Applications - visit > http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 > > _______________________________________________ > > Htmlunit-user mailing list > > Htm...@li... > > > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by Yahoo. > Introducing Yahoo! Search Developer Network - Create > apps using Yahoo! > Search APIs Find out how you can build Yahoo! > directly into your own > Applications - visit > http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 > _______________________________________________ > Htmlunit-user mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > _____________________________________________________________________________ Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos mails, photos et vidéos ! Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com |
From: Jean-Philippe H. <te...@ya...> - 2005-06-03 16:22:23
|
Sorry marc, this is the good code. HtmlSelect testSelect= thisForm.getSelectByName(TEST_SELECT_NAME); assertTrue(testSelect.isMultipleSelectEnabled());//OK HtmlOption testOption = > > testSelect.getOptionByValue("002"); > > testOption.click(); > > assertTrue(testOption.isSelected());//KO --- Marc Guillemot <mgu...@ya...> a écrit : > Hi, > > what is "localengine"? > > Marc. > > Jean-Philippe HILAIRE wrote: > > Hello guys, > > > > i have some trouble with mutiple select > > > > the select is send in html like this. > > > > <select name="test" multiple="multiple"size="5" > > class="SeHeaderListDb"> > > <option value="000" > selected="selected">All</option> > > <option value="001">test 1</option> > > <option value="002">test 2</option> > > <option value="003">test 3</option> > > <option value="004">test 4</option> > > </select> > > > > the default option selected is the first one. > > > > when i use this code: > > > > HtmlSelect testSelect = > > thisForm.getSelectByName(TEST_SELECT_NAME); > > assertTrue(testSelect.isMultipleSelectEnabled()); > > //OK > > HtmlOption testOption = > > testSelect.getOptionByValue("002"); > > localengine.click(); > > assertTrue(testOption.isSelected());//KO > > > > the test fails. > > > > I did something wrong or it's the htmlunit > behavior ?? > > > > thanks in advance!! > > > > > > > > > > > > > > > > > > > > > > > _____________________________________________________________________________ > > > Découvrez le nouveau Yahoo! Mail : 1 Go d'espace > de stockage pour vos mails, photos et vidéos ! > > Créez votre Yahoo! Mail sur > http://fr.mail.yahoo.com > > > > > > > ------------------------------------------------------- > > This SF.Net email is sponsored by Yahoo. > > Introducing Yahoo! Search Developer Network - > Create apps using Yahoo! > > Search APIs Find out how you can build Yahoo! > directly into your own > > Applications - visit > http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 > > _______________________________________________ > > Htmlunit-user mailing list > > Htm...@li... > > > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by Yahoo. > Introducing Yahoo! Search Developer Network - Create > apps using Yahoo! > Search APIs Find out how you can build Yahoo! > directly into your own > Applications - visit > http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005 > _______________________________________________ > Htmlunit-user mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlunit-user > _____________________________________________________________________________ Découvrez le nouveau Yahoo! Mail : 1 Go d'espace de stockage pour vos mails, photos et vidéos ! Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com |