From: <mgu...@us...> - 2013-10-10 15:39:13
|
Revision: 8643 http://sourceforge.net/p/htmlunit/code/8643 Author: mguillem Date: 2013-10-10 15:39:08 +0000 (Thu, 10 Oct 2013) Log Message: ----------- fixed wrong encoding of multipart form fields (regressions introduced a few weeks ago during upgrade to HttpClient to 4.3) Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/HttpWebConnection.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/HttpWebConnection.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/HttpWebConnection.java 2013-10-10 11:42:22 UTC (rev 8642) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/HttpWebConnection.java 2013-10-10 15:39:08 UTC (rev 8643) @@ -294,8 +294,7 @@ buildFilePart((KeyDataPair) pair, builder); } else { - builder.addTextBody(pair.getName(), pair.getValue(), - ContentType.create(webRequest.getCharset())); + builder.addTextBody(pair.getName(), pair.getValue()); } } method.setEntity(builder.build()); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-10 11:42:22 UTC (rev 8642) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-10 15:39:08 UTC (rev 8643) @@ -489,10 +489,10 @@ webRequest.setAdditionalHeader(headerName, headerValue); } - if ("PUT".equals(request.getMethod()) && request.getContentLength() > 0) { + if (requestParameters.isEmpty() && request.getContentLength() > 0) { final byte[] buffer = new byte[request.getContentLength()]; - request.getInputStream().readLine(buffer, 0, buffer.length); - webRequest.setRequestBody(new String(buffer)); + request.getInputStream().read(buffer, 0, buffer.length); + webRequest.setRequestBody(new String(buffer, webRequest.getCharset())); } else { webRequest.setRequestParameters(requestParameters); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java 2013-10-10 11:42:22 UTC (rev 8642) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java 2013-10-10 15:39:08 UTC (rev 8643) @@ -985,6 +985,28 @@ } /** + * Ensure that Multipart form text fields are correctly encoded. + * This was a regression introduced in 2.12-SNAPSHOT after upgrading to HttpClient to 4.3. + * @throws Exception if the test fails + */ + @Test + public void submitMultipartTextFieldWithRightEncoding() throws Exception { + final String html = "<html><body onload='document.forms[0].submit()'>\n" + + "<form action='foo.html' enctype='multipart/form-data' method='post'>\n" + + " <input name='myField' value='éèêäöü'>\n" + + "</form></body></html>"; + + getMockWebConnection().setDefaultResponse(""); + loadPage2(html); + final String body = getMockWebConnection().getLastWebRequest().getRequestBody(); + final String expected = "Content-Disposition: form-data; name=\"myField\"\r\n" + + "\r\n" + + "éèêäöü"; + + assertTrue("Body: " + body, body.contains(expected)); + } + + /** * Failed as of HtmlUnit-2.7-SNAPSHOT 01.12.2009 as the '#' from the * link together with the fact that submission occurs to the same url * let HtmlUnit think that it as just navigation to an anchor. |
From: <asa...@us...> - 2013-10-11 06:24:12
|
Revision: 8649 http://sourceforge.net/p/htmlunit/code/8649 Author: asashour Date: 2013-10-11 06:24:05 +0000 (Fri, 11 Oct 2013) Log Message: ----------- - BrowserVersion: remove deprecated FIREFOX_3_6, FIREFOX_10, CHROME_16, INTERNET_EXPLORER_6 and INTERNET_EXPLORER_7. - HtmlElement: remove deprecated getElementById() and .hasHtmlElementWithId(), and remove UrlUtils.encodeUrl(). Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlApplet2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlBaseFontTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlBaseTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlBreakTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButton2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButtonInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCanvasTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCaptionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDirectoryTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivision2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlEmbedTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFieldSetTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFontTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFormTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrame2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHorizontalRuleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlInlineFrame2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlIsIndex2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLabel2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLegendTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlListItemTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMenuTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScriptTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlOption2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPage2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlParameterTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPreformattedTextTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlProgressTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlResetInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlScript2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSubmitInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTable2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTableColumnTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTitle2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUnknownElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWordBreakTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentExpressionEvaluatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtmlTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/DebugFrameImplTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEConditionalCompilationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeDateTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeFunctionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeGlobalTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeStringTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/AttrTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/CommentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ConsoleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Document2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragmentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentTypeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Event2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventNodeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MimeTypeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MouseEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MutationEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NamedNodeMap2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NamedNodeMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NavigatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NetscapeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NodeFilterTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NodeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ObjectsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/PropertiesTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/RangeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SVGTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SelectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/StorageTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TreeWalkerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrencyTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataViewTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Float32ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Float64ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Int16ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Int32ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Int8ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint16ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint32ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint8ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint8ClampedArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/CanvasRenderingContext2DTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSMediaRuleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRuleListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSSelectorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration3Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleRuleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleSheetTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleSheetListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMExceptionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMImplementationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMStringMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLButtonElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCanvasElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDListElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDirectoryElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentWrite2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFieldSetElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHRElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHtmlElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInputElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLabelElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLegendElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMediaElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMenuElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMeterElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOListElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOptionElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLParagraphElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLScriptElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSelectElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCaptionElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCellElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableColElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableRowElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableSectionElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTextAreaElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUListElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLVideoElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAngleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSVGElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequestCORSTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequestTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLSerializerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/AlphanumericTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/DigitTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/SimpleFormTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/StringSplitTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/GWT250Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/JQuery182Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/TinyMceTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgAnchorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgCircleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgClipPathTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgDefsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgDescTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgEllipseTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeBlendTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeColorMatrixTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeComponentTransferTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeCompositeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeConvolveMatrixTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeDiffuseLightingTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeDisplacementMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeDistantLightTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFloodTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncATest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncBTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncGTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncRTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeGaussianBlurTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeImageTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeMergeNodeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeMergeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeMorphologyTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeOffsetTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFePointLightTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeSpecularLightingTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeSpotLightTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeTileTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeTurbulenceTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFilterTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgGroupTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgImageTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgLineTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgLinearGradientTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMarkerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMaskTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMatrixTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMetadataTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPathTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPatternTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPolygonTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPolylineTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgRadialGradientTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgRectTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgScriptTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgStopTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgStyleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgSvgTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgSwitchTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgSymbolTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTSpanTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTextPathTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTextTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTitleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgUseTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/xml/XmlPage2Test.java Removed Paths: ------------- trunk/htmlunit/src/test/resources/objects/objects.FF10.txt trunk/htmlunit/src/test/resources/objects/objects.FF3.6.txt trunk/htmlunit/src/test/resources/objects/objects.IE6.txt trunk/htmlunit/src/test/resources/objects/objects.IE7.txt trunk/htmlunit/src/test/resources/objects/properties.FF10.txt trunk/htmlunit/src/test/resources/objects/properties.FF3.6.txt trunk/htmlunit/src/test/resources/objects/properties.IE6.txt trunk/htmlunit/src/test/resources/objects/properties.IE7.txt Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/changes/changes.xml 2013-10-11 06:24:05 UTC (rev 8649) @@ -8,6 +8,14 @@ <body> <release version="2.14" date="???" description="Bugfixes"> + <action type="remove" dev="asashour"> + BrowserVersion: remove deprecated FIREFOX_3_6, FIREFOX_10, CHROME_16, INTERNET_EXPLORER_6 + and INTERNET_EXPLORER_7. + </action> + <action type="remove" dev="asashour"> + HtmlElement: remove deprecated getElementById() and .hasHtmlElementWithId(), + and remove UrlUtils.encodeUrl(). + </action> </release> <release version="2.13" date="Oct 11, 2013" description="Bugfixes"> <action type="update" dev="asashour" issue="1541"> Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -115,26 +115,6 @@ private static final String PLATFORM_WIN32 = "Win32"; /** - * Firefox 3.6. - * @deprecated as of 2.12. Use FF17 instead. - **/ - @Deprecated - public static final BrowserVersion FIREFOX_3_6 = new BrowserVersion( - NETSCAPE, "5.0 (Windows; en-US)", - "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28", - (float) 3.6, "FF3.6", null); - - /** - * Firefox 10. Warning: experimental!!!. - * @deprecated as of 2.12. Use FF17 instead. - */ - @Deprecated - public static final BrowserVersion FIREFOX_10 = new BrowserVersion( - NETSCAPE, "5.0 (Windows)", - "Mozilla/5.0 (Windows NT 6.1; rv:10.0.11) Gecko/20100101 Firefox/10.0.11", - (float) 10.0, "FF10", null); - - /** * Firefox 17 ESR. * @since 2.12 **/ @@ -143,24 +123,6 @@ "Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0", (float) 17.0, "FF17", null); - /** - * Internet Explorer 6. - * @deprecated as of 2.12 - */ - @Deprecated - public static final BrowserVersion INTERNET_EXPLORER_6 = new BrowserVersion( - INTERNET_EXPLORER, "4.0 (compatible; MSIE 6.0b; Windows 98)", - "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)", 6, "IE6", null); - - /** - * Internet Explorer 7. - * @deprecated as of 2.12 - */ - @Deprecated - public static final BrowserVersion INTERNET_EXPLORER_7 = new BrowserVersion( - INTERNET_EXPLORER, "4.0 (compatible; MSIE 7.0; Windows NT 5.1)", - "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)", 7, "IE7", null); - /** Internet Explorer 8. */ public static final BrowserVersion INTERNET_EXPLORER_8 = new BrowserVersion( INTERNET_EXPLORER, "4.0 (compatible; MSIE 8.0; Windows NT 6.0)", @@ -176,18 +138,6 @@ INTERNET_EXPLORER, "5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)", 10, "IE10", null); - /** - * Chrome 16. - * @deprecated as of 2.12 - */ - @Deprecated - public static final BrowserVersion CHROME_16 = new BrowserVersion( - "Netscape", "5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7" - + " (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7" - + " (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7", - 16, "Chrome16", null); - /** Latest Chrome. Work In Progress!!! */ public static final BrowserVersion CHROME = new BrowserVersion( "Netscape", "5.0 (Windows NT 6.1) AppleWebKit/537.36" @@ -201,22 +151,12 @@ /** Register plugins for the browser versions. */ static { - INTERNET_EXPLORER_6.initDefaultFeatures(); - INTERNET_EXPLORER_7.initDefaultFeatures(); INTERNET_EXPLORER_8.initDefaultFeatures(); INTERNET_EXPLORER_9.initDefaultFeatures(); INTERNET_EXPLORER_10.initDefaultFeatures(); - FIREFOX_3_6.initDefaultFeatures(); - FIREFOX_10.initDefaultFeatures(); FIREFOX_17.initDefaultFeatures(); - FIREFOX_3_6.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); - FIREFOX_3_6.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); - FIREFOX_3_6.setCssAcceptHeader("text/css,*/*;q=0.1"); - FIREFOX_10.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); - FIREFOX_10.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); - FIREFOX_10.setCssAcceptHeader("text/css,*/*;q=0.1"); FIREFOX_17.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); FIREFOX_17.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); FIREFOX_17.setCssAcceptHeader("text/css,*/*;q=0.1"); @@ -227,15 +167,8 @@ "Shockwave Flash 9.0 r31", "libflashplayer.so"); flash.getMimeTypes().add(new PluginConfiguration.MimeType("application/x-shockwave-flash", "Shockwave Flash", "swf")); - FIREFOX_3_6.getPlugins().add(flash); - FIREFOX_10.getPlugins().add(flash); FIREFOX_17.getPlugins().add(flash); - CHROME_16.initDefaultFeatures(); - CHROME_16.setApplicationCodeName("Mozilla"); - CHROME_16.setPlatform("MacIntel"); - CHROME_16.setCpuClass(null); - CHROME_16.setBrowserLanguage("undefined"); CHROME.initDefaultFeatures(); CHROME.setApplicationCodeName("Mozilla"); CHROME.setPlatform("MacIntel"); Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -647,52 +647,6 @@ } /** - * Returns the element in this element's page with the specified ID. If more than one element - * has the specified ID (not allowed by the HTML spec), this method returns the first one. - * - * @param id the ID value to search for - * @param <E> the sub-element type - * @return the element in this element's page with the specified ID - * @exception ElementNotFoundException if no element has the specified ID - * @deprecated as of 2.12, please use {@link HtmlPage#getHtmlElementById(String)} - */ - @Deprecated - @SuppressWarnings("unchecked") - public <E extends HtmlElement> E getElementById(final String id) throws ElementNotFoundException { - return (E) ((HtmlPage) getPage()).getHtmlElementById(id); - } - - /** - * <p>Returns <tt>true</tt> if there is an element in this element's page with the specified ID. - * This method is intended for situations where it is enough to know whether a specific - * element is present in the document.</p> - * - * <p>Implementation Note: This method calls {@link #getElementById(String)} internally, - * so writing code such as the following would be extremely inefficient:</p> - * - * <pre> - * if (hasHtmlElementWithId(id)) { - * HtmlElement element = getHtmlElementWithId(id) - * ... - * } - * </pre> - * - * @param id the id to search for - * @return <tt>true</tt> if there is an element in this element's page with the specified ID - * @deprecated as of 2.12, please use {@link HtmlPage#getElementById(String)} - */ - @Deprecated - public boolean hasHtmlElementWithId(final String id) { - try { - getElementById(id); - return true; - } - catch (final ElementNotFoundException e) { - return false; - } - } - - /** * Returns all elements which are descendants of this element and match the specified search criteria. * * @param elementName the name of the element to search for Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -22,7 +22,6 @@ import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.net.URLCodec; -import com.gargoylesoftware.htmlunit.TextUtil; import com.gargoylesoftware.htmlunit.WebAssert; /** @@ -203,22 +202,6 @@ * * @param url the URL to encode * @param minimalQueryEncoding whether or not to perform minimal query encoding, like IE does - * @return the encoded URL - * @deprecated as of 2.12, please use {@link #encodeUrl(URL, boolean, String)} instead - */ - @Deprecated - public static URL encodeUrl(final URL url, final boolean minimalQueryEncoding) { - return encodeUrl(url, minimalQueryEncoding, TextUtil.DEFAULT_CHARSET); - } - - /** - * <p>Encodes illegal characters in the specified URL's path, query string and anchor according to the URL - * encoding rules observed in real browsers.</p> - * - * <p>For example, this method changes <tt>"http://first/?a=b c"</tt> to <tt>"http://first/?a=b%20c"</tt>.</p> - * - * @param url the URL to encode - * @param minimalQueryEncoding whether or not to perform minimal query encoding, like IE does * @param charset the charset * @return the encoded URL */ Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -70,21 +70,9 @@ if (BrowserVersionClassRunner.containsTestMethods(klass)) { final List<String> browsers = WebDriverTestCase.getBrowsersProperties(); - if (browsers.contains("hu") || browsers.contains("hu-ff3.6")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_3_6, false)); - } - if (/* browsers.contains("hu") ||*/ browsers.contains("hu-ff10")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_10, false)); - } if (browsers.contains("hu") || browsers.contains("hu-ff17")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_17, false)); } - if (/*browsers.contains("hu") ||*/ browsers.contains("hu-ie6")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_6, false)); - } - if (/*browsers.contains("hu") ||*/ browsers.contains("hu-ie7")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_7, false)); - } if (browsers.contains("hu") || browsers.contains("hu-ie8")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_8, false)); } @@ -99,21 +87,9 @@ } if (WebDriverTestCase.class.isAssignableFrom(klass)) { - if (browsers.contains("ff3.6")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_3_6, true)); - } - if (browsers.contains("ff10")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_10, true)); - } if (browsers.contains("ff17")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_17, true)); } - if (browsers.contains("ie6")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_6, true)); - } - if (browsers.contains("ie7")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_7, true)); - } if (browsers.contains("ie8")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_8, true)); } @@ -181,12 +157,6 @@ /** All versions of Internet Explorer. */ IE, - /** Internet Explorer 6. */ - IE6, - - /** Internet Explorer 7. */ - IE7, - /** Internet Explorer 8. */ IE8, @@ -199,12 +169,6 @@ /** All versions of Firefox. */ FF, - /** Firefox 3.6. */ - FF3_6, - - /** Firefox 10. */ - FF10, - /** Firefox 17. */ FF17, @@ -251,12 +215,6 @@ /** Alerts for any Internet Explorer, it can be overridden by specific IE version. */ String[] IE() default { EMPTY_DEFAULT }; - /** Alerts for Internet Explorer 6. If not defined, {@link #IE()} is used. */ - String[] IE6() default { EMPTY_DEFAULT }; - - /** Alerts for Internet Explorer 7. If not defined, {@link #IE()} is used. */ - String[] IE7() default { EMPTY_DEFAULT }; - /** Alerts for Internet Explorer 8. If not defined, {@link #IE()} is used. */ String[] IE8() default { EMPTY_DEFAULT }; @@ -269,12 +227,6 @@ /** Alerts for any Firefox, it can be overridden by specific FF version. */ String[] FF() default { EMPTY_DEFAULT }; - /** Alerts for Firefox 3.6. If not defined, {@link #FF()} is used. */ - String[] FF3_6() default { EMPTY_DEFAULT }; - - /** Alerts for Firefox 10. If not defined, {@link #FF()} is used. */ - String[] FF10() default { EMPTY_DEFAULT }; - /** Alerts for Firefox 17. If not defined, {@link #FF()} is used. */ String[] FF17() default { EMPTY_DEFAULT }; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -71,13 +71,7 @@ expectedAlerts = alerts.value(); } else { - if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_6) { - expectedAlerts = firstDefined(alerts.IE6(), alerts.IE(), alerts.DEFAULT()); - } - else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_7) { - expectedAlerts = firstDefined(alerts.IE7(), alerts.IE(), alerts.DEFAULT()); - } - else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { + if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { expectedAlerts = firstDefined(alerts.IE8(), alerts.IE(), alerts.DEFAULT()); } else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_9) { @@ -86,12 +80,6 @@ else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_10) { expectedAlerts = firstDefined(alerts.IE10(), alerts.IE(), alerts.DEFAULT()); } - else if (browserVersion_ == BrowserVersion.FIREFOX_3_6) { - expectedAlerts = firstDefined(alerts.FF3_6(), alerts.FF(), alerts.DEFAULT()); - } - else if (browserVersion_ == BrowserVersion.FIREFOX_10) { - expectedAlerts = firstDefined(alerts.FF10(), alerts.FF(), alerts.DEFAULT()); - } else if (browserVersion_ == BrowserVersion.FIREFOX_17) { expectedAlerts = firstDefined(alerts.FF17(), alerts.FF(), alerts.DEFAULT()); } @@ -236,18 +224,6 @@ } break; - case IE6: - if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_6) { - return true; - } - break; - - case IE7: - if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_7) { - return true; - } - break; - case IE8: if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { return true; @@ -272,18 +248,6 @@ } break; - case FF3_6: - if (browserVersion_ == BrowserVersion.FIREFOX_3_6) { - return true; - } - break; - - case FF10: - if (browserVersion_ == BrowserVersion.FIREFOX_10) { - return true; - } - break; - case FF17: if (browserVersion_ == BrowserVersion.FIREFOX_17) { return true; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -31,15 +31,10 @@ */ @Test public void getBrowserVersionNumeric() { - assertEquals(3.6f, BrowserVersion.FIREFOX_3_6.getBrowserVersionNumeric()); - assertEquals(10.0f, BrowserVersion.FIREFOX_10.getBrowserVersionNumeric()); assertEquals(17.0f, BrowserVersion.FIREFOX_17.getBrowserVersionNumeric()); - assertEquals(6.0f, BrowserVersion.INTERNET_EXPLORER_6.getBrowserVersionNumeric()); - assertEquals(7.0f, BrowserVersion.INTERNET_EXPLORER_7.getBrowserVersionNumeric()); assertEquals(8.0f, BrowserVersion.INTERNET_EXPLORER_8.getBrowserVersionNumeric()); assertEquals(9.0f, BrowserVersion.INTERNET_EXPLORER_9.getBrowserVersionNumeric()); assertEquals(10.0f, BrowserVersion.INTERNET_EXPLORER_10.getBrowserVersionNumeric()); - assertEquals(16.0f, BrowserVersion.CHROME_16.getBrowserVersionNumeric()); assertEquals(29.0f, BrowserVersion.CHROME.getBrowserVersionNumeric()); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -77,20 +77,18 @@ * <pre> browsers=hu,ff17,ie9 ie.bin=C:\\path\\to\\32bit\\IEDriverServer.exe [Windows] - ff3.6.bin=c:\\location_to_firefox.exe [Windows] ff17.bin=/usr/bin/firefox [Unix-like] chrome.bin=/path/to/chromedriver [Unix-like] * </pre> - * The file should contain four properties: "browsers", "ie.bin", "ff3.6.bin", "ff17.bin", and "chrome.bin". + * The file should contain four properties: "browsers", "ie.bin", "ff17.bin", and "chrome.bin". * <ul> * <li>browsers: is a comma separated list contains any combination of "hu" (for HtmlUnit with all browser versions), - * "hu-ie6", "hu-ie7", "hu-ie8", "hu-ie9", "hu-ff3.6", "hu-ff17", - * "ff3.6", "ff17", "ie6", "ie7", "ie8", "ie9", "chrome", which will be used to driver real browsers, + * "hu-ie8", "hu-ie9", "hu-ff17", + * "ff17", "ie8", "ie9", "chrome", which will be used to driver real browsers, * note that you can't define more than one IE as there is no standard way * to have multiple IEs on the same machine</li> * <li>ie.bin: is the location of the IEDriverServer binary (see * <a href="http://code.google.com/p/selenium/downloads/list">IEDriverServer downloads</a></li> - * <li>ff3.6.bin: is the location of the FF3.6 binary, in Windows use double back-slashes</li> * <li>ff17.bin: is the location of the FF17 binary, in Windows use double back-slashes</li> * <li>chrome.bin: is the location of the ChromeDriver binary (see * <a href="http://code.google.com/p/chromedriver/downloads/list">Chrome Driver downloads</a></li> @@ -109,8 +107,6 @@ private static List<String> BROWSERS_PROPERTIES_; private static String IE_BIN_; - private static String FF3_6_BIN_; - private static String FF10_BIN_; private static String FF17_BIN_; private static String CHROME_BIN_; @@ -148,8 +144,6 @@ = Arrays.asList(properties.getProperty("browsers", "hu") .replaceAll(" ", "").toLowerCase().split(",")); IE_BIN_ = properties.getProperty("ie.bin"); - FF3_6_BIN_ = properties.getProperty("ff3.6.bin"); - FF10_BIN_ = properties.getProperty("ff10.bin"); FF17_BIN_ = properties.getProperty("ff17.bin"); CHROME_BIN_ = properties.getProperty("chrome.bin"); } @@ -251,13 +245,7 @@ } String ffBinary = null; - if (BrowserVersion.FIREFOX_3_6 == getBrowserVersion()) { - ffBinary = FF3_6_BIN_; - } - else if (BrowserVersion.FIREFOX_10 == getBrowserVersion()) { - ffBinary = FF10_BIN_; - } - else if (BrowserVersion.FIREFOX_17 == getBrowserVersion()) { + if (BrowserVersion.FIREFOX_17 == getBrowserVersion()) { ffBinary = FF17_BIN_; } if (ffBinary != null) { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -37,7 +37,6 @@ */ @Test @Alerts(DEFAULT = { "undefined", "undefined" }, - IE6 = { "<div/>", "undefined" }, IE8 = { "<div/>", "undefined" }) public void xml() throws Exception { final String html = "<html><head><title>foo</title><script>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -15,7 +15,6 @@ package com.gargoylesoftware.htmlunit.html; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE6; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; import org.junit.Test; @@ -90,9 +89,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_applet() throws Exception { loadPageWithAlerts2(elementClosesItself("applet")); } @@ -111,9 +109,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_audio() throws Exception { loadPageWithAlerts2(elementClosesItself("audio")); } @@ -187,7 +184,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") public void elementClosesItself_body() throws Exception { loadPageWithAlerts2(elementClosesItself("body")); @@ -226,9 +222,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_canvas() throws Exception { loadPageWithAlerts2(elementClosesItself("canvas")); } @@ -238,9 +233,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_caption() throws Exception { loadPageWithAlerts2(elementClosesItself("caption")); } @@ -377,7 +371,7 @@ */ @Test @Alerts("1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_form() throws Exception { loadPageWithAlerts2(elementClosesItself("form")); } @@ -387,7 +381,6 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") @NotYetImplemented(FF) public void elementClosesItself_frame() throws Exception { @@ -399,7 +392,6 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") @NotYetImplemented public void elementClosesItself_frameset() throws Exception { @@ -411,9 +403,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h1() throws Exception { loadPageWithAlerts2(elementClosesItself("h1")); } @@ -423,9 +414,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h2() throws Exception { loadPageWithAlerts2(elementClosesItself("h2")); } @@ -435,9 +425,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h3() throws Exception { loadPageWithAlerts2(elementClosesItself("h3")); } @@ -447,9 +436,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h4() throws Exception { loadPageWithAlerts2(elementClosesItself("h4")); } @@ -459,9 +447,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h5() throws Exception { loadPageWithAlerts2(elementClosesItself("h5")); } @@ -471,9 +458,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h6() throws Exception { loadPageWithAlerts2(elementClosesItself("h6")); } @@ -501,7 +487,6 @@ */ @Test @Alerts(DEFAULT = "2", - IE6 = "null", IE8 = "null") @NotYetImplemented(FF) public void elementClosesItself_html() throws Exception { @@ -513,9 +498,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_iframe() throws Exception { loadPageWithAlerts2(elementClosesItself("iframe")); } @@ -589,9 +573,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_legend() throws Exception { loadPageWithAlerts2(elementClosesItself("legend")); } @@ -673,9 +656,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_multicol() throws Exception { loadPageWithAlerts2(elementClosesItself("multicol")); } @@ -695,9 +677,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_noembed() throws Exception { loadPageWithAlerts2(elementClosesItself("noembed")); } @@ -707,9 +688,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_noframes() throws Exception { loadPageWithAlerts2(elementClosesItself("noframes")); } @@ -719,7 +699,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") public void elementClosesItself_noscript() throws Exception { loadPageWithAlerts2(elementClosesItself("noscript")); @@ -730,9 +709,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_object() throws Exception { loadPageWithAlerts2(elementClosesItself("object")); } @@ -751,7 +729,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") @NotYetImplemented public void elementClosesItself_optgroup() throws Exception { @@ -809,9 +786,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_progress() throws Exception { loadPageWithAlerts2(elementClosesItself("progress")); } @@ -839,7 +815,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") @NotYetImplemented public void elementClosesItself_script() throws Exception { @@ -879,7 +854,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") @NotYetImplemented(FF) public void elementClosesItself_spacer() throws Exception { @@ -918,9 +892,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_style() throws Exception { loadPageWithAlerts2(elementClosesItself("style")); } @@ -948,7 +921,6 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") @NotYetImplemented(FF) public void elementClosesItself_table() throws Exception { @@ -960,9 +932,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_col() throws Exception { loadPageWithAlerts2(elementClosesItself("col")); } @@ -972,9 +943,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_colgroup() throws Exception { loadPageWithAlerts2(elementClosesItself("colgroup")); } @@ -984,9 +954,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_tbody() throws Exception { loadPageWithAlerts2(elementClosesItself("tbody")); } @@ -996,9 +965,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_td() throws Exception { loadPageWithAlerts2(elementClosesItself("td")); } @@ -1008,9 +976,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_th() throws Exception { loadPageWithAlerts2(elementClosesItself("th")); } @@ -1020,9 +987,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_tr() throws Exception { loadPageWithAlerts2(elementClosesItself("tr")); } @@ -1041,9 +1007,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_tfoot() throws Exception { loadPageWithAlerts2(elementClosesItself("tfoot")); } @@ -1053,9 +1018,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_thead() throws Exception { loadPageWithAlerts2(elementClosesItself("thead")); } @@ -1074,7 +1038,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") @NotYetImplemented(FF) public void elementClosesItself_title() throws Exception { @@ -1113,9 +1076,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_video() throws Exception { loadPageWithAlerts2(elementClosesItself("video")); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-10-11 04:18:19 UTC (rev 8648) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-10-11 06:24:05 UTC (rev 8649) @@ -15,9 +15,7 @@ package com.gargoylesoftware.htmlunit.html; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF3_6; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE6; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; import org.junit.Test; @@ -59,8 +5... [truncated message content] |
From: <asa...@us...> - 2013-10-11 11:05:37
|
Revision: 8651 http://sourceforge.net/p/htmlunit/code/8651 Author: asashour Date: 2013-10-11 11:05:30 +0000 (Fri, 11 Oct 2013) Log Message: ----------- Revert: - BrowserVersion: remove deprecated FIREFOX_3_6, FIREFOX_10, CHROME_16, INTERNET_EXPLORER_6 and INTERNET_EXPLORER_7. - HtmlElement: remove deprecated getElementById() and .hasHtmlElementWithId(), and remove UrlUtils.encodeUrl(). Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlApplet2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlBaseFontTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlBaseTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlBreakTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButton2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButtonInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCanvasTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCaptionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDirectoryTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivision2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlEmbedTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFieldSetTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFontTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFormTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrame2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHorizontalRuleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlInlineFrame2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlIsIndex2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLabel2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLegendTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlListItemTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMenuTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScriptTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlOption2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPage2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlParameterTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPreformattedTextTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlProgressTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlResetInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlScript2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSubmitInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTable2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTableColumnTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTitle2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUnknownElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWordBreakTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentExpressionEvaluatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtmlTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/DebugFrameImplTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEConditionalCompilationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeDateTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeFunctionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeGlobalTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeStringTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/AttrTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/CommentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ConsoleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Document2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragmentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentTypeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Event2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventNodeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MimeTypeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MouseEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MutationEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NamedNodeMap2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NamedNodeMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NavigatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NetscapeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NodeFilterTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NodeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ObjectsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/PropertiesTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/RangeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SVGTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SelectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/StorageTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TreeWalkerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrencyTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataViewTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Float32ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Float64ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Int16ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Int32ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Int8ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint16ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint32ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint8ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint8ClampedArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/CanvasRenderingContext2DTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSMediaRuleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRuleListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSSelectorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration3Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleRuleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleSheetTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleSheetListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMExceptionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMImplementationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMStringMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLButtonElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCanvasElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDListElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDirectoryElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentWrite2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFieldSetElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHRElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHtmlElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInputElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLabelElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLegendElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMediaElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMenuElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMeterElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOListElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOptionElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLParagraphElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLScriptElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSelectElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCaptionElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCellElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableColElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableRowElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableSectionElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTextAreaElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUListElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLVideoElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAngleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSVGElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequestCORSTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequestTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLSerializerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/AlphanumericTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/DigitTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/SimpleFormTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/StringSplitTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/GWT250Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/JQuery182Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/TinyMceTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgAnchorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgCircleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgClipPathTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgDefsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgDescTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgEllipseTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeBlendTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeColorMatrixTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeComponentTransferTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeCompositeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeConvolveMatrixTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeDiffuseLightingTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeDisplacementMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeDistantLightTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFloodTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncATest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncBTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncGTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncRTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeGaussianBlurTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeImageTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeMergeNodeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeMergeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeMorphologyTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeOffsetTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFePointLightTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeSpecularLightingTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeSpotLightTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeTileTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeTurbulenceTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFilterTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgGroupTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgImageTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgLineTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgLinearGradientTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMarkerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMaskTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMatrixTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMetadataTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPathTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPatternTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPolygonTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPolylineTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgRadialGradientTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgRectTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgScriptTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgStopTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgStyleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgSvgTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgSwitchTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgSymbolTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTSpanTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTextPathTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTextTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTitleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgUseTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/xml/XmlPage2Test.java Added Paths: ----------- trunk/htmlunit/src/test/resources/objects/objects.FF10.txt trunk/htmlunit/src/test/resources/objects/objects.FF3.6.txt trunk/htmlunit/src/test/resources/objects/objects.IE6.txt trunk/htmlunit/src/test/resources/objects/objects.IE7.txt trunk/htmlunit/src/test/resources/objects/properties.FF10.txt trunk/htmlunit/src/test/resources/objects/properties.FF3.6.txt trunk/htmlunit/src/test/resources/objects/properties.IE6.txt trunk/htmlunit/src/test/resources/objects/properties.IE7.txt Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/changes/changes.xml 2013-10-11 11:05:30 UTC (rev 8651) @@ -8,14 +8,6 @@ <body> <release version="2.14" date="???" description="Bugfixes"> - <action type="remove" dev="asashour"> - BrowserVersion: remove deprecated FIREFOX_3_6, FIREFOX_10, CHROME_16, INTERNET_EXPLORER_6 - and INTERNET_EXPLORER_7. - </action> - <action type="remove" dev="asashour"> - HtmlElement: remove deprecated getElementById() and .hasHtmlElementWithId(), - and remove UrlUtils.encodeUrl(). - </action> </release> <release version="2.13" date="Oct 11, 2013" description="Bugfixes"> <action type="update" dev="asashour" issue="1541"> Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -115,6 +115,26 @@ private static final String PLATFORM_WIN32 = "Win32"; /** + * Firefox 3.6. + * @deprecated as of 2.12. Use FF17 instead. + **/ + @Deprecated + public static final BrowserVersion FIREFOX_3_6 = new BrowserVersion( + NETSCAPE, "5.0 (Windows; en-US)", + "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28", + (float) 3.6, "FF3.6", null); + + /** + * Firefox 10. Warning: experimental!!!. + * @deprecated as of 2.12. Use FF17 instead. + */ + @Deprecated + public static final BrowserVersion FIREFOX_10 = new BrowserVersion( + NETSCAPE, "5.0 (Windows)", + "Mozilla/5.0 (Windows NT 6.1; rv:10.0.11) Gecko/20100101 Firefox/10.0.11", + (float) 10.0, "FF10", null); + + /** * Firefox 17 ESR. * @since 2.12 **/ @@ -123,6 +143,24 @@ "Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0", (float) 17.0, "FF17", null); + /** + * Internet Explorer 6. + * @deprecated as of 2.12 + */ + @Deprecated + public static final BrowserVersion INTERNET_EXPLORER_6 = new BrowserVersion( + INTERNET_EXPLORER, "4.0 (compatible; MSIE 6.0b; Windows 98)", + "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)", 6, "IE6", null); + + /** + * Internet Explorer 7. + * @deprecated as of 2.12 + */ + @Deprecated + public static final BrowserVersion INTERNET_EXPLORER_7 = new BrowserVersion( + INTERNET_EXPLORER, "4.0 (compatible; MSIE 7.0; Windows NT 5.1)", + "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)", 7, "IE7", null); + /** Internet Explorer 8. */ public static final BrowserVersion INTERNET_EXPLORER_8 = new BrowserVersion( INTERNET_EXPLORER, "4.0 (compatible; MSIE 8.0; Windows NT 6.0)", @@ -138,6 +176,18 @@ INTERNET_EXPLORER, "5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)", 10, "IE10", null); + /** + * Chrome 16. + * @deprecated as of 2.12 + */ + @Deprecated + public static final BrowserVersion CHROME_16 = new BrowserVersion( + "Netscape", "5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7" + + " (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7" + + " (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7", + 16, "Chrome16", null); + /** Latest Chrome. Work In Progress!!! */ public static final BrowserVersion CHROME = new BrowserVersion( "Netscape", "5.0 (Windows NT 6.1) AppleWebKit/537.36" @@ -151,12 +201,22 @@ /** Register plugins for the browser versions. */ static { + INTERNET_EXPLORER_6.initDefaultFeatures(); + INTERNET_EXPLORER_7.initDefaultFeatures(); INTERNET_EXPLORER_8.initDefaultFeatures(); INTERNET_EXPLORER_9.initDefaultFeatures(); INTERNET_EXPLORER_10.initDefaultFeatures(); + FIREFOX_3_6.initDefaultFeatures(); + FIREFOX_10.initDefaultFeatures(); FIREFOX_17.initDefaultFeatures(); + FIREFOX_3_6.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); + FIREFOX_3_6.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); + FIREFOX_3_6.setCssAcceptHeader("text/css,*/*;q=0.1"); + FIREFOX_10.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); + FIREFOX_10.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); + FIREFOX_10.setCssAcceptHeader("text/css,*/*;q=0.1"); FIREFOX_17.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); FIREFOX_17.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); FIREFOX_17.setCssAcceptHeader("text/css,*/*;q=0.1"); @@ -167,8 +227,15 @@ "Shockwave Flash 9.0 r31", "libflashplayer.so"); flash.getMimeTypes().add(new PluginConfiguration.MimeType("application/x-shockwave-flash", "Shockwave Flash", "swf")); + FIREFOX_3_6.getPlugins().add(flash); + FIREFOX_10.getPlugins().add(flash); FIREFOX_17.getPlugins().add(flash); + CHROME_16.initDefaultFeatures(); + CHROME_16.setApplicationCodeName("Mozilla"); + CHROME_16.setPlatform("MacIntel"); + CHROME_16.setCpuClass(null); + CHROME_16.setBrowserLanguage("undefined"); CHROME.initDefaultFeatures(); CHROME.setApplicationCodeName("Mozilla"); CHROME.setPlatform("MacIntel"); Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -647,6 +647,52 @@ } /** + * Returns the element in this element's page with the specified ID. If more than one element + * has the specified ID (not allowed by the HTML spec), this method returns the first one. + * + * @param id the ID value to search for + * @param <E> the sub-element type + * @return the element in this element's page with the specified ID + * @exception ElementNotFoundException if no element has the specified ID + * @deprecated as of 2.12, please use {@link HtmlPage#getHtmlElementById(String)} + */ + @Deprecated + @SuppressWarnings("unchecked") + public <E extends HtmlElement> E getElementById(final String id) throws ElementNotFoundException { + return (E) ((HtmlPage) getPage()).getHtmlElementById(id); + } + + /** + * <p>Returns <tt>true</tt> if there is an element in this element's page with the specified ID. + * This method is intended for situations where it is enough to know whether a specific + * element is present in the document.</p> + * + * <p>Implementation Note: This method calls {@link #getElementById(String)} internally, + * so writing code such as the following would be extremely inefficient:</p> + * + * <pre> + * if (hasHtmlElementWithId(id)) { + * HtmlElement element = getHtmlElementWithId(id) + * ... + * } + * </pre> + * + * @param id the id to search for + * @return <tt>true</tt> if there is an element in this element's page with the specified ID + * @deprecated as of 2.12, please use {@link HtmlPage#getElementById(String)} + */ + @Deprecated + public boolean hasHtmlElementWithId(final String id) { + try { + getElementById(id); + return true; + } + catch (final ElementNotFoundException e) { + return false; + } + } + + /** * Returns all elements which are descendants of this element and match the specified search criteria. * * @param elementName the name of the element to search for Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -22,6 +22,7 @@ import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.net.URLCodec; +import com.gargoylesoftware.htmlunit.TextUtil; import com.gargoylesoftware.htmlunit.WebAssert; /** @@ -202,6 +203,22 @@ * * @param url the URL to encode * @param minimalQueryEncoding whether or not to perform minimal query encoding, like IE does + * @return the encoded URL + * @deprecated as of 2.12, please use {@link #encodeUrl(URL, boolean, String)} instead + */ + @Deprecated + public static URL encodeUrl(final URL url, final boolean minimalQueryEncoding) { + return encodeUrl(url, minimalQueryEncoding, TextUtil.DEFAULT_CHARSET); + } + + /** + * <p>Encodes illegal characters in the specified URL's path, query string and anchor according to the URL + * encoding rules observed in real browsers.</p> + * + * <p>For example, this method changes <tt>"http://first/?a=b c"</tt> to <tt>"http://first/?a=b%20c"</tt>.</p> + * + * @param url the URL to encode + * @param minimalQueryEncoding whether or not to perform minimal query encoding, like IE does * @param charset the charset * @return the encoded URL */ Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -70,9 +70,21 @@ if (BrowserVersionClassRunner.containsTestMethods(klass)) { final List<String> browsers = WebDriverTestCase.getBrowsersProperties(); + if (browsers.contains("hu") || browsers.contains("hu-ff3.6")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_3_6, false)); + } + if (/* browsers.contains("hu") ||*/ browsers.contains("hu-ff10")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_10, false)); + } if (browsers.contains("hu") || browsers.contains("hu-ff17")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_17, false)); } + if (/*browsers.contains("hu") ||*/ browsers.contains("hu-ie6")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_6, false)); + } + if (/*browsers.contains("hu") ||*/ browsers.contains("hu-ie7")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_7, false)); + } if (browsers.contains("hu") || browsers.contains("hu-ie8")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_8, false)); } @@ -87,9 +99,21 @@ } if (WebDriverTestCase.class.isAssignableFrom(klass)) { + if (browsers.contains("ff3.6")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_3_6, true)); + } + if (browsers.contains("ff10")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_10, true)); + } if (browsers.contains("ff17")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_17, true)); } + if (browsers.contains("ie6")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_6, true)); + } + if (browsers.contains("ie7")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_7, true)); + } if (browsers.contains("ie8")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_8, true)); } @@ -157,6 +181,12 @@ /** All versions of Internet Explorer. */ IE, + /** Internet Explorer 6. */ + IE6, + + /** Internet Explorer 7. */ + IE7, + /** Internet Explorer 8. */ IE8, @@ -169,6 +199,12 @@ /** All versions of Firefox. */ FF, + /** Firefox 3.6. */ + FF3_6, + + /** Firefox 10. */ + FF10, + /** Firefox 17. */ FF17, @@ -215,6 +251,12 @@ /** Alerts for any Internet Explorer, it can be overridden by specific IE version. */ String[] IE() default { EMPTY_DEFAULT }; + /** Alerts for Internet Explorer 6. If not defined, {@link #IE()} is used. */ + String[] IE6() default { EMPTY_DEFAULT }; + + /** Alerts for Internet Explorer 7. If not defined, {@link #IE()} is used. */ + String[] IE7() default { EMPTY_DEFAULT }; + /** Alerts for Internet Explorer 8. If not defined, {@link #IE()} is used. */ String[] IE8() default { EMPTY_DEFAULT }; @@ -227,6 +269,12 @@ /** Alerts for any Firefox, it can be overridden by specific FF version. */ String[] FF() default { EMPTY_DEFAULT }; + /** Alerts for Firefox 3.6. If not defined, {@link #FF()} is used. */ + String[] FF3_6() default { EMPTY_DEFAULT }; + + /** Alerts for Firefox 10. If not defined, {@link #FF()} is used. */ + String[] FF10() default { EMPTY_DEFAULT }; + /** Alerts for Firefox 17. If not defined, {@link #FF()} is used. */ String[] FF17() default { EMPTY_DEFAULT }; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -71,7 +71,13 @@ expectedAlerts = alerts.value(); } else { - if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { + if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_6) { + expectedAlerts = firstDefined(alerts.IE6(), alerts.IE(), alerts.DEFAULT()); + } + else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_7) { + expectedAlerts = firstDefined(alerts.IE7(), alerts.IE(), alerts.DEFAULT()); + } + else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { expectedAlerts = firstDefined(alerts.IE8(), alerts.IE(), alerts.DEFAULT()); } else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_9) { @@ -80,6 +86,12 @@ else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_10) { expectedAlerts = firstDefined(alerts.IE10(), alerts.IE(), alerts.DEFAULT()); } + else if (browserVersion_ == BrowserVersion.FIREFOX_3_6) { + expectedAlerts = firstDefined(alerts.FF3_6(), alerts.FF(), alerts.DEFAULT()); + } + else if (browserVersion_ == BrowserVersion.FIREFOX_10) { + expectedAlerts = firstDefined(alerts.FF10(), alerts.FF(), alerts.DEFAULT()); + } else if (browserVersion_ == BrowserVersion.FIREFOX_17) { expectedAlerts = firstDefined(alerts.FF17(), alerts.FF(), alerts.DEFAULT()); } @@ -224,6 +236,18 @@ } break; + case IE6: + if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_6) { + return true; + } + break; + + case IE7: + if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_7) { + return true; + } + break; + case IE8: if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { return true; @@ -248,6 +272,18 @@ } break; + case FF3_6: + if (browserVersion_ == BrowserVersion.FIREFOX_3_6) { + return true; + } + break; + + case FF10: + if (browserVersion_ == BrowserVersion.FIREFOX_10) { + return true; + } + break; + case FF17: if (browserVersion_ == BrowserVersion.FIREFOX_17) { return true; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -31,10 +31,15 @@ */ @Test public void getBrowserVersionNumeric() { + assertEquals(3.6f, BrowserVersion.FIREFOX_3_6.getBrowserVersionNumeric()); + assertEquals(10.0f, BrowserVersion.FIREFOX_10.getBrowserVersionNumeric()); assertEquals(17.0f, BrowserVersion.FIREFOX_17.getBrowserVersionNumeric()); + assertEquals(6.0f, BrowserVersion.INTERNET_EXPLORER_6.getBrowserVersionNumeric()); + assertEquals(7.0f, BrowserVersion.INTERNET_EXPLORER_7.getBrowserVersionNumeric()); assertEquals(8.0f, BrowserVersion.INTERNET_EXPLORER_8.getBrowserVersionNumeric()); assertEquals(9.0f, BrowserVersion.INTERNET_EXPLORER_9.getBrowserVersionNumeric()); assertEquals(10.0f, BrowserVersion.INTERNET_EXPLORER_10.getBrowserVersionNumeric()); + assertEquals(16.0f, BrowserVersion.CHROME_16.getBrowserVersionNumeric()); assertEquals(29.0f, BrowserVersion.CHROME.getBrowserVersionNumeric()); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -77,18 +77,20 @@ * <pre> browsers=hu,ff17,ie9 ie.bin=C:\\path\\to\\32bit\\IEDriverServer.exe [Windows] + ff3.6.bin=c:\\location_to_firefox.exe [Windows] ff17.bin=/usr/bin/firefox [Unix-like] chrome.bin=/path/to/chromedriver [Unix-like] * </pre> - * The file should contain four properties: "browsers", "ie.bin", "ff17.bin", and "chrome.bin". + * The file should contain four properties: "browsers", "ie.bin", "ff3.6.bin", "ff17.bin", and "chrome.bin". * <ul> * <li>browsers: is a comma separated list contains any combination of "hu" (for HtmlUnit with all browser versions), - * "hu-ie8", "hu-ie9", "hu-ff17", - * "ff17", "ie8", "ie9", "chrome", which will be used to driver real browsers, + * "hu-ie6", "hu-ie7", "hu-ie8", "hu-ie9", "hu-ff3.6", "hu-ff17", + * "ff3.6", "ff17", "ie6", "ie7", "ie8", "ie9", "chrome", which will be used to driver real browsers, * note that you can't define more than one IE as there is no standard way * to have multiple IEs on the same machine</li> * <li>ie.bin: is the location of the IEDriverServer binary (see * <a href="http://code.google.com/p/selenium/downloads/list">IEDriverServer downloads</a></li> + * <li>ff3.6.bin: is the location of the FF3.6 binary, in Windows use double back-slashes</li> * <li>ff17.bin: is the location of the FF17 binary, in Windows use double back-slashes</li> * <li>chrome.bin: is the location of the ChromeDriver binary (see * <a href="http://code.google.com/p/chromedriver/downloads/list">Chrome Driver downloads</a></li> @@ -107,6 +109,8 @@ private static List<String> BROWSERS_PROPERTIES_; private static String IE_BIN_; + private static String FF3_6_BIN_; + private static String FF10_BIN_; private static String FF17_BIN_; private static String CHROME_BIN_; @@ -144,6 +148,8 @@ = Arrays.asList(properties.getProperty("browsers", "hu") .replaceAll(" ", "").toLowerCase().split(",")); IE_BIN_ = properties.getProperty("ie.bin"); + FF3_6_BIN_ = properties.getProperty("ff3.6.bin"); + FF10_BIN_ = properties.getProperty("ff10.bin"); FF17_BIN_ = properties.getProperty("ff17.bin"); CHROME_BIN_ = properties.getProperty("chrome.bin"); } @@ -245,7 +251,13 @@ } String ffBinary = null; - if (BrowserVersion.FIREFOX_17 == getBrowserVersion()) { + if (BrowserVersion.FIREFOX_3_6 == getBrowserVersion()) { + ffBinary = FF3_6_BIN_; + } + else if (BrowserVersion.FIREFOX_10 == getBrowserVersion()) { + ffBinary = FF10_BIN_; + } + else if (BrowserVersion.FIREFOX_17 == getBrowserVersion()) { ffBinary = FF17_BIN_; } if (ffBinary != null) { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -37,6 +37,7 @@ */ @Test @Alerts(DEFAULT = { "undefined", "undefined" }, + IE6 = { "<div/>", "undefined" }, IE8 = { "<div/>", "undefined" }) public void xml() throws Exception { final String html = "<html><head><title>foo</title><script>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -15,6 +15,7 @@ package com.gargoylesoftware.htmlunit.html; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE6; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; import org.junit.Test; @@ -89,8 +90,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_applet() throws Exception { loadPageWithAlerts2(elementClosesItself("applet")); } @@ -109,8 +111,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_audio() throws Exception { loadPageWithAlerts2(elementClosesItself("audio")); } @@ -184,6 +187,7 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") public void elementClosesItself_body() throws Exception { loadPageWithAlerts2(elementClosesItself("body")); @@ -222,8 +226,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_canvas() throws Exception { loadPageWithAlerts2(elementClosesItself("canvas")); } @@ -233,8 +238,9 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_caption() throws Exception { loadPageWithAlerts2(elementClosesItself("caption")); } @@ -371,7 +377,7 @@ */ @Test @Alerts("1") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_form() throws Exception { loadPageWithAlerts2(elementClosesItself("form")); } @@ -381,6 +387,7 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") @NotYetImplemented(FF) public void elementClosesItself_frame() throws Exception { @@ -392,6 +399,7 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") @NotYetImplemented public void elementClosesItself_frameset() throws Exception { @@ -403,8 +411,9 @@ */ @Test @Alerts(DEFAULT = "0", + IE6 = "1", IE8 = "1") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_h1() throws Exception { loadPageWithAlerts2(elementClosesItself("h1")); } @@ -414,8 +423,9 @@ */ @Test @Alerts(DEFAULT = "0", + IE6 = "1", IE8 = "1") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_h2() throws Exception { loadPageWithAlerts2(elementClosesItself("h2")); } @@ -425,8 +435,9 @@ */ @Test @Alerts(DEFAULT = "0", + IE6 = "1", IE8 = "1") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_h3() throws Exception { loadPageWithAlerts2(elementClosesItself("h3")); } @@ -436,8 +447,9 @@ */ @Test @Alerts(DEFAULT = "0", + IE6 = "1", IE8 = "1") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_h4() throws Exception { loadPageWithAlerts2(elementClosesItself("h4")); } @@ -447,8 +459,9 @@ */ @Test @Alerts(DEFAULT = "0", + IE6 = "1", IE8 = "1") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_h5() throws Exception { loadPageWithAlerts2(elementClosesItself("h5")); } @@ -458,8 +471,9 @@ */ @Test @Alerts(DEFAULT = "0", + IE6 = "1", IE8 = "1") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_h6() throws Exception { loadPageWithAlerts2(elementClosesItself("h6")); } @@ -487,6 +501,7 @@ */ @Test @Alerts(DEFAULT = "2", + IE6 = "null", IE8 = "null") @NotYetImplemented(FF) public void elementClosesItself_html() throws Exception { @@ -498,8 +513,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_iframe() throws Exception { loadPageWithAlerts2(elementClosesItself("iframe")); } @@ -573,8 +589,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_legend() throws Exception { loadPageWithAlerts2(elementClosesItself("legend")); } @@ -656,8 +673,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_multicol() throws Exception { loadPageWithAlerts2(elementClosesItself("multicol")); } @@ -677,8 +695,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_noembed() throws Exception { loadPageWithAlerts2(elementClosesItself("noembed")); } @@ -688,8 +707,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_noframes() throws Exception { loadPageWithAlerts2(elementClosesItself("noframes")); } @@ -699,6 +719,7 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") public void elementClosesItself_noscript() throws Exception { loadPageWithAlerts2(elementClosesItself("noscript")); @@ -709,8 +730,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_object() throws Exception { loadPageWithAlerts2(elementClosesItself("object")); } @@ -729,6 +751,7 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") @NotYetImplemented public void elementClosesItself_optgroup() throws Exception { @@ -786,8 +809,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_progress() throws Exception { loadPageWithAlerts2(elementClosesItself("progress")); } @@ -815,6 +839,7 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") @NotYetImplemented public void elementClosesItself_script() throws Exception { @@ -854,6 +879,7 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") @NotYetImplemented(FF) public void elementClosesItself_spacer() throws Exception { @@ -892,8 +918,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_style() throws Exception { loadPageWithAlerts2(elementClosesItself("style")); } @@ -921,6 +948,7 @@ */ @Test @Alerts(DEFAULT = "0", + IE6 = "1", IE8 = "1") @NotYetImplemented(FF) public void elementClosesItself_table() throws Exception { @@ -932,8 +960,9 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_col() throws Exception { loadPageWithAlerts2(elementClosesItself("col")); } @@ -943,8 +972,9 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_colgroup() throws Exception { loadPageWithAlerts2(elementClosesItself("colgroup")); } @@ -954,8 +984,9 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_tbody() throws Exception { loadPageWithAlerts2(elementClosesItself("tbody")); } @@ -965,8 +996,9 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_td() throws Exception { loadPageWithAlerts2(elementClosesItself("td")); } @@ -976,8 +1008,9 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_th() throws Exception { loadPageWithAlerts2(elementClosesItself("th")); } @@ -987,8 +1020,9 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_tr() throws Exception { loadPageWithAlerts2(elementClosesItself("tr")); } @@ -1007,8 +1041,9 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_tfoot() throws Exception { loadPageWithAlerts2(elementClosesItself("tfoot")); } @@ -1018,8 +1053,9 @@ */ @Test @Alerts(DEFAULT = "null", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_thead() throws Exception { loadPageWithAlerts2(elementClosesItself("thead")); } @@ -1038,6 +1074,7 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") @NotYetImplemented(FF) public void elementClosesItself_title() throws Exception { @@ -1076,8 +1113,9 @@ */ @Test @Alerts(DEFAULT = "1", + IE6 = "0", IE8 = "0") - @NotYetImplemented(IE8) + @NotYetImplemented({ IE6, IE8 }) public void elementClosesItself_video() throws Exception { loadPageWithAlerts2(elementClosesItself("video")); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-10-11 07:50:35 UTC (rev 8650) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-10-11 11:05:30 UTC (rev 8651) @@ -15,7 +15,9 @@ package com.gargoylesoftware.htmlunit.html; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF3_6; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE6; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; import org.junit.Test; @@ -57,... [truncated message content] |
From: <asa...@us...> - 2013-10-11 13:09:20
|
Revision: 8652 http://sourceforge.net/p/htmlunit/code/8652 Author: asashour Date: 2013-10-11 13:09:11 +0000 (Fri, 11 Oct 2013) Log Message: ----------- Revert the revert :) - BrowserVersion: remove deprecated FIREFOX_3_6, FIREFOX_10, CHROME_16, INTERNET_EXPLORER_6 and INTERNET_EXPLORER_7. - HtmlElement: remove deprecated getElementById() and .hasHtmlElementWithId(), and remove UrlUtils.encodeUrl(). Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlApplet2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlBaseFontTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlBaseTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlBreakTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButton2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlButtonInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCanvasTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCaptionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlCheckBoxInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDirectoryTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivision2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlEmbedTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFieldSetTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFontTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFormTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrame2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHorizontalRuleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlInlineFrame2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlIsIndex2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLabel2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLegendTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlListItemTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMenuTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScriptTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlOption2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPage2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlParameterTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlPreformattedTextTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlProgressTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlRadioButtonInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlResetInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlScript2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSubmitInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTable2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTableColumnTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlTitle2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUnknownElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWordBreakTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentExpressionEvaluatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtmlTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/DebugFrameImplTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEConditionalCompilationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeDateTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeFunctionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeGlobalTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeStringTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/AttrTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/CommentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ConsoleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Document2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragmentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentTypeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Event2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventNodeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MimeTypeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MouseEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MutationEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NamedNodeMap2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NamedNodeMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NavigatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NetscapeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NodeFilterTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NodeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ObjectsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/PropertiesTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/RangeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SVGTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SelectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/StorageTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TreeWalkerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrencyTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataViewTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Float32ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Float64ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Int16ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Int32ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Int8ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint16ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint32ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint8ArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/Uint8ClampedArrayTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/CanvasRenderingContext2DTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSMediaRuleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRuleListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSSelectorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration3Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleRuleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleSheetTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleSheetListTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMExceptionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMImplementationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMStringMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLButtonElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCanvasElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDListElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDirectoryElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentWrite2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFieldSetElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHRElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHtmlElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInputElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLabelElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLegendElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMediaElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMenuElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMeterElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOListElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOptionElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLParagraphElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLScriptElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSelectElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCaptionElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCellElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableColElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableRowElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableSectionElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTextAreaElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUListElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLVideoElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAngleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSVGElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequest2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequestCORSTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLHttpRequestTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLSerializerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/AlphanumericTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/DigitTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/SimpleFormTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/StringSplitTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/GWT250Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/JQuery182Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/libraries/TinyMceTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgAnchorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgCircleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgClipPathTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgDefsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgDescTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgEllipseTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeBlendTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeColorMatrixTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeComponentTransferTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeCompositeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeConvolveMatrixTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeDiffuseLightingTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeDisplacementMapTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeDistantLightTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFloodTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncATest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncBTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncGTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeFuncRTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeGaussianBlurTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeImageTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeMergeNodeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeMergeTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeMorphologyTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeOffsetTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFePointLightTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeSpecularLightingTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeSpotLightTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeTileTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFeTurbulenceTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgFilterTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgGroupTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgImageTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgLineTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgLinearGradientTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMarkerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMaskTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMatrixTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMetadataTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPathTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPatternTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPolygonTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgPolylineTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgRadialGradientTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgRectTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgScriptTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgStopTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgStyleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgSvgTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgSwitchTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgSymbolTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTSpanTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTextPathTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTextTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgTitleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgUseTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/xml/XmlPage2Test.java Removed Paths: ------------- trunk/htmlunit/src/test/resources/objects/objects.FF10.txt trunk/htmlunit/src/test/resources/objects/objects.FF3.6.txt trunk/htmlunit/src/test/resources/objects/objects.IE6.txt trunk/htmlunit/src/test/resources/objects/objects.IE7.txt trunk/htmlunit/src/test/resources/objects/properties.FF10.txt trunk/htmlunit/src/test/resources/objects/properties.FF3.6.txt trunk/htmlunit/src/test/resources/objects/properties.IE6.txt trunk/htmlunit/src/test/resources/objects/properties.IE7.txt Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/changes/changes.xml 2013-10-11 13:09:11 UTC (rev 8652) @@ -8,6 +8,14 @@ <body> <release version="2.14" date="???" description="Bugfixes"> + <action type="remove" dev="asashour"> + BrowserVersion: remove deprecated FIREFOX_3_6, FIREFOX_10, CHROME_16, INTERNET_EXPLORER_6 + and INTERNET_EXPLORER_7. + </action> + <action type="remove" dev="asashour"> + HtmlElement: remove deprecated getElementById() and .hasHtmlElementWithId(), + and remove UrlUtils.encodeUrl(). + </action> </release> <release version="2.13" date="Oct 11, 2013" description="Bugfixes"> <action type="update" dev="asashour" issue="1541"> Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -115,26 +115,6 @@ private static final String PLATFORM_WIN32 = "Win32"; /** - * Firefox 3.6. - * @deprecated as of 2.12. Use FF17 instead. - **/ - @Deprecated - public static final BrowserVersion FIREFOX_3_6 = new BrowserVersion( - NETSCAPE, "5.0 (Windows; en-US)", - "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28", - (float) 3.6, "FF3.6", null); - - /** - * Firefox 10. Warning: experimental!!!. - * @deprecated as of 2.12. Use FF17 instead. - */ - @Deprecated - public static final BrowserVersion FIREFOX_10 = new BrowserVersion( - NETSCAPE, "5.0 (Windows)", - "Mozilla/5.0 (Windows NT 6.1; rv:10.0.11) Gecko/20100101 Firefox/10.0.11", - (float) 10.0, "FF10", null); - - /** * Firefox 17 ESR. * @since 2.12 **/ @@ -143,24 +123,6 @@ "Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0", (float) 17.0, "FF17", null); - /** - * Internet Explorer 6. - * @deprecated as of 2.12 - */ - @Deprecated - public static final BrowserVersion INTERNET_EXPLORER_6 = new BrowserVersion( - INTERNET_EXPLORER, "4.0 (compatible; MSIE 6.0b; Windows 98)", - "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)", 6, "IE6", null); - - /** - * Internet Explorer 7. - * @deprecated as of 2.12 - */ - @Deprecated - public static final BrowserVersion INTERNET_EXPLORER_7 = new BrowserVersion( - INTERNET_EXPLORER, "4.0 (compatible; MSIE 7.0; Windows NT 5.1)", - "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)", 7, "IE7", null); - /** Internet Explorer 8. */ public static final BrowserVersion INTERNET_EXPLORER_8 = new BrowserVersion( INTERNET_EXPLORER, "4.0 (compatible; MSIE 8.0; Windows NT 6.0)", @@ -176,18 +138,6 @@ INTERNET_EXPLORER, "5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)", "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)", 10, "IE10", null); - /** - * Chrome 16. - * @deprecated as of 2.12 - */ - @Deprecated - public static final BrowserVersion CHROME_16 = new BrowserVersion( - "Netscape", "5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7" - + " (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7", - "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7" - + " (KHTML, like Gecko) Chrome/16.0.912.63 Safari/535.7", - 16, "Chrome16", null); - /** Latest Chrome. Work In Progress!!! */ public static final BrowserVersion CHROME = new BrowserVersion( "Netscape", "5.0 (Windows NT 6.1) AppleWebKit/537.36" @@ -201,22 +151,12 @@ /** Register plugins for the browser versions. */ static { - INTERNET_EXPLORER_6.initDefaultFeatures(); - INTERNET_EXPLORER_7.initDefaultFeatures(); INTERNET_EXPLORER_8.initDefaultFeatures(); INTERNET_EXPLORER_9.initDefaultFeatures(); INTERNET_EXPLORER_10.initDefaultFeatures(); - FIREFOX_3_6.initDefaultFeatures(); - FIREFOX_10.initDefaultFeatures(); FIREFOX_17.initDefaultFeatures(); - FIREFOX_3_6.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); - FIREFOX_3_6.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); - FIREFOX_3_6.setCssAcceptHeader("text/css,*/*;q=0.1"); - FIREFOX_10.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); - FIREFOX_10.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); - FIREFOX_10.setCssAcceptHeader("text/css,*/*;q=0.1"); FIREFOX_17.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); FIREFOX_17.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); FIREFOX_17.setCssAcceptHeader("text/css,*/*;q=0.1"); @@ -227,15 +167,8 @@ "Shockwave Flash 9.0 r31", "libflashplayer.so"); flash.getMimeTypes().add(new PluginConfiguration.MimeType("application/x-shockwave-flash", "Shockwave Flash", "swf")); - FIREFOX_3_6.getPlugins().add(flash); - FIREFOX_10.getPlugins().add(flash); FIREFOX_17.getPlugins().add(flash); - CHROME_16.initDefaultFeatures(); - CHROME_16.setApplicationCodeName("Mozilla"); - CHROME_16.setPlatform("MacIntel"); - CHROME_16.setCpuClass(null); - CHROME_16.setBrowserLanguage("undefined"); CHROME.initDefaultFeatures(); CHROME.setApplicationCodeName("Mozilla"); CHROME.setPlatform("MacIntel"); Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlElement.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -647,52 +647,6 @@ } /** - * Returns the element in this element's page with the specified ID. If more than one element - * has the specified ID (not allowed by the HTML spec), this method returns the first one. - * - * @param id the ID value to search for - * @param <E> the sub-element type - * @return the element in this element's page with the specified ID - * @exception ElementNotFoundException if no element has the specified ID - * @deprecated as of 2.12, please use {@link HtmlPage#getHtmlElementById(String)} - */ - @Deprecated - @SuppressWarnings("unchecked") - public <E extends HtmlElement> E getElementById(final String id) throws ElementNotFoundException { - return (E) ((HtmlPage) getPage()).getHtmlElementById(id); - } - - /** - * <p>Returns <tt>true</tt> if there is an element in this element's page with the specified ID. - * This method is intended for situations where it is enough to know whether a specific - * element is present in the document.</p> - * - * <p>Implementation Note: This method calls {@link #getElementById(String)} internally, - * so writing code such as the following would be extremely inefficient:</p> - * - * <pre> - * if (hasHtmlElementWithId(id)) { - * HtmlElement element = getHtmlElementWithId(id) - * ... - * } - * </pre> - * - * @param id the id to search for - * @return <tt>true</tt> if there is an element in this element's page with the specified ID - * @deprecated as of 2.12, please use {@link HtmlPage#getElementById(String)} - */ - @Deprecated - public boolean hasHtmlElementWithId(final String id) { - try { - getElementById(id); - return true; - } - catch (final ElementNotFoundException e) { - return false; - } - } - - /** * Returns all elements which are descendants of this element and match the specified search criteria. * * @param elementName the name of the element to search for Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/util/UrlUtils.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -22,7 +22,6 @@ import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.net.URLCodec; -import com.gargoylesoftware.htmlunit.TextUtil; import com.gargoylesoftware.htmlunit.WebAssert; /** @@ -203,22 +202,6 @@ * * @param url the URL to encode * @param minimalQueryEncoding whether or not to perform minimal query encoding, like IE does - * @return the encoded URL - * @deprecated as of 2.12, please use {@link #encodeUrl(URL, boolean, String)} instead - */ - @Deprecated - public static URL encodeUrl(final URL url, final boolean minimalQueryEncoding) { - return encodeUrl(url, minimalQueryEncoding, TextUtil.DEFAULT_CHARSET); - } - - /** - * <p>Encodes illegal characters in the specified URL's path, query string and anchor according to the URL - * encoding rules observed in real browsers.</p> - * - * <p>For example, this method changes <tt>"http://first/?a=b c"</tt> to <tt>"http://first/?a=b%20c"</tt>.</p> - * - * @param url the URL to encode - * @param minimalQueryEncoding whether or not to perform minimal query encoding, like IE does * @param charset the charset * @return the encoded URL */ Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -70,21 +70,9 @@ if (BrowserVersionClassRunner.containsTestMethods(klass)) { final List<String> browsers = WebDriverTestCase.getBrowsersProperties(); - if (browsers.contains("hu") || browsers.contains("hu-ff3.6")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_3_6, false)); - } - if (/* browsers.contains("hu") ||*/ browsers.contains("hu-ff10")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_10, false)); - } if (browsers.contains("hu") || browsers.contains("hu-ff17")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_17, false)); } - if (/*browsers.contains("hu") ||*/ browsers.contains("hu-ie6")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_6, false)); - } - if (/*browsers.contains("hu") ||*/ browsers.contains("hu-ie7")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_7, false)); - } if (browsers.contains("hu") || browsers.contains("hu-ie8")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_8, false)); } @@ -99,21 +87,9 @@ } if (WebDriverTestCase.class.isAssignableFrom(klass)) { - if (browsers.contains("ff3.6")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_3_6, true)); - } - if (browsers.contains("ff10")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_10, true)); - } if (browsers.contains("ff17")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_17, true)); } - if (browsers.contains("ie6")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_6, true)); - } - if (browsers.contains("ie7")) { - runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_7, true)); - } if (browsers.contains("ie8")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_8, true)); } @@ -181,12 +157,6 @@ /** All versions of Internet Explorer. */ IE, - /** Internet Explorer 6. */ - IE6, - - /** Internet Explorer 7. */ - IE7, - /** Internet Explorer 8. */ IE8, @@ -199,12 +169,6 @@ /** All versions of Firefox. */ FF, - /** Firefox 3.6. */ - FF3_6, - - /** Firefox 10. */ - FF10, - /** Firefox 17. */ FF17, @@ -251,12 +215,6 @@ /** Alerts for any Internet Explorer, it can be overridden by specific IE version. */ String[] IE() default { EMPTY_DEFAULT }; - /** Alerts for Internet Explorer 6. If not defined, {@link #IE()} is used. */ - String[] IE6() default { EMPTY_DEFAULT }; - - /** Alerts for Internet Explorer 7. If not defined, {@link #IE()} is used. */ - String[] IE7() default { EMPTY_DEFAULT }; - /** Alerts for Internet Explorer 8. If not defined, {@link #IE()} is used. */ String[] IE8() default { EMPTY_DEFAULT }; @@ -269,12 +227,6 @@ /** Alerts for any Firefox, it can be overridden by specific FF version. */ String[] FF() default { EMPTY_DEFAULT }; - /** Alerts for Firefox 3.6. If not defined, {@link #FF()} is used. */ - String[] FF3_6() default { EMPTY_DEFAULT }; - - /** Alerts for Firefox 10. If not defined, {@link #FF()} is used. */ - String[] FF10() default { EMPTY_DEFAULT }; - /** Alerts for Firefox 17. If not defined, {@link #FF()} is used. */ String[] FF17() default { EMPTY_DEFAULT }; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -71,13 +71,7 @@ expectedAlerts = alerts.value(); } else { - if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_6) { - expectedAlerts = firstDefined(alerts.IE6(), alerts.IE(), alerts.DEFAULT()); - } - else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_7) { - expectedAlerts = firstDefined(alerts.IE7(), alerts.IE(), alerts.DEFAULT()); - } - else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { + if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { expectedAlerts = firstDefined(alerts.IE8(), alerts.IE(), alerts.DEFAULT()); } else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_9) { @@ -86,12 +80,6 @@ else if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_10) { expectedAlerts = firstDefined(alerts.IE10(), alerts.IE(), alerts.DEFAULT()); } - else if (browserVersion_ == BrowserVersion.FIREFOX_3_6) { - expectedAlerts = firstDefined(alerts.FF3_6(), alerts.FF(), alerts.DEFAULT()); - } - else if (browserVersion_ == BrowserVersion.FIREFOX_10) { - expectedAlerts = firstDefined(alerts.FF10(), alerts.FF(), alerts.DEFAULT()); - } else if (browserVersion_ == BrowserVersion.FIREFOX_17) { expectedAlerts = firstDefined(alerts.FF17(), alerts.FF(), alerts.DEFAULT()); } @@ -236,18 +224,6 @@ } break; - case IE6: - if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_6) { - return true; - } - break; - - case IE7: - if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_7) { - return true; - } - break; - case IE8: if (browserVersion_ == BrowserVersion.INTERNET_EXPLORER_8) { return true; @@ -272,18 +248,6 @@ } break; - case FF3_6: - if (browserVersion_ == BrowserVersion.FIREFOX_3_6) { - return true; - } - break; - - case FF10: - if (browserVersion_ == BrowserVersion.FIREFOX_10) { - return true; - } - break; - case FF17: if (browserVersion_ == BrowserVersion.FIREFOX_17) { return true; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -31,15 +31,10 @@ */ @Test public void getBrowserVersionNumeric() { - assertEquals(3.6f, BrowserVersion.FIREFOX_3_6.getBrowserVersionNumeric()); - assertEquals(10.0f, BrowserVersion.FIREFOX_10.getBrowserVersionNumeric()); assertEquals(17.0f, BrowserVersion.FIREFOX_17.getBrowserVersionNumeric()); - assertEquals(6.0f, BrowserVersion.INTERNET_EXPLORER_6.getBrowserVersionNumeric()); - assertEquals(7.0f, BrowserVersion.INTERNET_EXPLORER_7.getBrowserVersionNumeric()); assertEquals(8.0f, BrowserVersion.INTERNET_EXPLORER_8.getBrowserVersionNumeric()); assertEquals(9.0f, BrowserVersion.INTERNET_EXPLORER_9.getBrowserVersionNumeric()); assertEquals(10.0f, BrowserVersion.INTERNET_EXPLORER_10.getBrowserVersionNumeric()); - assertEquals(16.0f, BrowserVersion.CHROME_16.getBrowserVersionNumeric()); assertEquals(29.0f, BrowserVersion.CHROME.getBrowserVersionNumeric()); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -77,20 +77,18 @@ * <pre> browsers=hu,ff17,ie9 ie.bin=C:\\path\\to\\32bit\\IEDriverServer.exe [Windows] - ff3.6.bin=c:\\location_to_firefox.exe [Windows] ff17.bin=/usr/bin/firefox [Unix-like] chrome.bin=/path/to/chromedriver [Unix-like] * </pre> - * The file should contain four properties: "browsers", "ie.bin", "ff3.6.bin", "ff17.bin", and "chrome.bin". + * The file should contain four properties: "browsers", "ie.bin", "ff17.bin", and "chrome.bin". * <ul> * <li>browsers: is a comma separated list contains any combination of "hu" (for HtmlUnit with all browser versions), - * "hu-ie6", "hu-ie7", "hu-ie8", "hu-ie9", "hu-ff3.6", "hu-ff17", - * "ff3.6", "ff17", "ie6", "ie7", "ie8", "ie9", "chrome", which will be used to driver real browsers, + * "hu-ie8", "hu-ie9", "hu-ff17", + * "ff17", "ie8", "ie9", "chrome", which will be used to driver real browsers, * note that you can't define more than one IE as there is no standard way * to have multiple IEs on the same machine</li> * <li>ie.bin: is the location of the IEDriverServer binary (see * <a href="http://code.google.com/p/selenium/downloads/list">IEDriverServer downloads</a></li> - * <li>ff3.6.bin: is the location of the FF3.6 binary, in Windows use double back-slashes</li> * <li>ff17.bin: is the location of the FF17 binary, in Windows use double back-slashes</li> * <li>chrome.bin: is the location of the ChromeDriver binary (see * <a href="http://code.google.com/p/chromedriver/downloads/list">Chrome Driver downloads</a></li> @@ -109,8 +107,6 @@ private static List<String> BROWSERS_PROPERTIES_; private static String IE_BIN_; - private static String FF3_6_BIN_; - private static String FF10_BIN_; private static String FF17_BIN_; private static String CHROME_BIN_; @@ -148,8 +144,6 @@ = Arrays.asList(properties.getProperty("browsers", "hu") .replaceAll(" ", "").toLowerCase().split(",")); IE_BIN_ = properties.getProperty("ie.bin"); - FF3_6_BIN_ = properties.getProperty("ff3.6.bin"); - FF10_BIN_ = properties.getProperty("ff10.bin"); FF17_BIN_ = properties.getProperty("ff17.bin"); CHROME_BIN_ = properties.getProperty("chrome.bin"); } @@ -251,13 +245,7 @@ } String ffBinary = null; - if (BrowserVersion.FIREFOX_3_6 == getBrowserVersion()) { - ffBinary = FF3_6_BIN_; - } - else if (BrowserVersion.FIREFOX_10 == getBrowserVersion()) { - ffBinary = FF10_BIN_; - } - else if (BrowserVersion.FIREFOX_17 == getBrowserVersion()) { + if (BrowserVersion.FIREFOX_17 == getBrowserVersion()) { ffBinary = FF17_BIN_; } if (ffBinary != null) { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -37,7 +37,6 @@ */ @Test @Alerts(DEFAULT = { "undefined", "undefined" }, - IE6 = { "<div/>", "undefined" }, IE8 = { "<div/>", "undefined" }) public void xml() throws Exception { final String html = "<html><head><title>foo</title><script>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -15,7 +15,6 @@ package com.gargoylesoftware.htmlunit.html; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE6; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; import org.junit.Test; @@ -90,9 +89,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_applet() throws Exception { loadPageWithAlerts2(elementClosesItself("applet")); } @@ -111,9 +109,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_audio() throws Exception { loadPageWithAlerts2(elementClosesItself("audio")); } @@ -187,7 +184,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") public void elementClosesItself_body() throws Exception { loadPageWithAlerts2(elementClosesItself("body")); @@ -226,9 +222,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_canvas() throws Exception { loadPageWithAlerts2(elementClosesItself("canvas")); } @@ -238,9 +233,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_caption() throws Exception { loadPageWithAlerts2(elementClosesItself("caption")); } @@ -377,7 +371,7 @@ */ @Test @Alerts("1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_form() throws Exception { loadPageWithAlerts2(elementClosesItself("form")); } @@ -387,7 +381,6 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") @NotYetImplemented(FF) public void elementClosesItself_frame() throws Exception { @@ -399,7 +392,6 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") @NotYetImplemented public void elementClosesItself_frameset() throws Exception { @@ -411,9 +403,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h1() throws Exception { loadPageWithAlerts2(elementClosesItself("h1")); } @@ -423,9 +414,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h2() throws Exception { loadPageWithAlerts2(elementClosesItself("h2")); } @@ -435,9 +425,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h3() throws Exception { loadPageWithAlerts2(elementClosesItself("h3")); } @@ -447,9 +436,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h4() throws Exception { loadPageWithAlerts2(elementClosesItself("h4")); } @@ -459,9 +447,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h5() throws Exception { loadPageWithAlerts2(elementClosesItself("h5")); } @@ -471,9 +458,8 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_h6() throws Exception { loadPageWithAlerts2(elementClosesItself("h6")); } @@ -501,7 +487,6 @@ */ @Test @Alerts(DEFAULT = "2", - IE6 = "null", IE8 = "null") @NotYetImplemented(FF) public void elementClosesItself_html() throws Exception { @@ -513,9 +498,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_iframe() throws Exception { loadPageWithAlerts2(elementClosesItself("iframe")); } @@ -589,9 +573,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_legend() throws Exception { loadPageWithAlerts2(elementClosesItself("legend")); } @@ -673,9 +656,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_multicol() throws Exception { loadPageWithAlerts2(elementClosesItself("multicol")); } @@ -695,9 +677,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_noembed() throws Exception { loadPageWithAlerts2(elementClosesItself("noembed")); } @@ -707,9 +688,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_noframes() throws Exception { loadPageWithAlerts2(elementClosesItself("noframes")); } @@ -719,7 +699,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") public void elementClosesItself_noscript() throws Exception { loadPageWithAlerts2(elementClosesItself("noscript")); @@ -730,9 +709,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_object() throws Exception { loadPageWithAlerts2(elementClosesItself("object")); } @@ -751,7 +729,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") @NotYetImplemented public void elementClosesItself_optgroup() throws Exception { @@ -809,9 +786,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_progress() throws Exception { loadPageWithAlerts2(elementClosesItself("progress")); } @@ -839,7 +815,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") @NotYetImplemented public void elementClosesItself_script() throws Exception { @@ -879,7 +854,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") @NotYetImplemented(FF) public void elementClosesItself_spacer() throws Exception { @@ -918,9 +892,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_style() throws Exception { loadPageWithAlerts2(elementClosesItself("style")); } @@ -948,7 +921,6 @@ */ @Test @Alerts(DEFAULT = "0", - IE6 = "1", IE8 = "1") @NotYetImplemented(FF) public void elementClosesItself_table() throws Exception { @@ -960,9 +932,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_col() throws Exception { loadPageWithAlerts2(elementClosesItself("col")); } @@ -972,9 +943,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_colgroup() throws Exception { loadPageWithAlerts2(elementClosesItself("colgroup")); } @@ -984,9 +954,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_tbody() throws Exception { loadPageWithAlerts2(elementClosesItself("tbody")); } @@ -996,9 +965,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_td() throws Exception { loadPageWithAlerts2(elementClosesItself("td")); } @@ -1008,9 +976,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_th() throws Exception { loadPageWithAlerts2(elementClosesItself("th")); } @@ -1020,9 +987,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_tr() throws Exception { loadPageWithAlerts2(elementClosesItself("tr")); } @@ -1041,9 +1007,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_tfoot() throws Exception { loadPageWithAlerts2(elementClosesItself("tfoot")); } @@ -1053,9 +1018,8 @@ */ @Test @Alerts(DEFAULT = "null", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_thead() throws Exception { loadPageWithAlerts2(elementClosesItself("thead")); } @@ -1074,7 +1038,6 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") @NotYetImplemented(FF) public void elementClosesItself_title() throws Exception { @@ -1113,9 +1076,8 @@ */ @Test @Alerts(DEFAULT = "1", - IE6 = "0", IE8 = "0") - @NotYetImplemented({ IE6, IE8 }) + @NotYetImplemented(IE8) public void elementClosesItself_video() throws Exception { loadPageWithAlerts2(elementClosesItself("video")); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-10-11 11:05:30 UTC (rev 8651) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-10-11 13:09:11 UTC (rev 8652) @@ -15,9 +15,7 @@ package com.gargoylesoftware.htmlunit.html; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF3_6; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE6; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; import org.ju... [truncated message content] |
From: <rb...@us...> - 2013-10-13 11:27:28
|
Revision: 8653 http://sourceforge.net/p/htmlunit/code/8653 Author: rbri Date: 2013-10-13 11:27:24 +0000 (Sun, 13 Oct 2013) Log Message: ----------- some more HTMLElementClasses added to come closer to the modern browsers Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDelElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInsElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlModificationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElementTest.java Added Paths: ----------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionDescriptionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionTermElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElementTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2013-10-11 13:09:11 UTC (rev 8652) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -722,6 +722,11 @@ @BrowserFeature(@WebBrowser(IE)) JS_ATTR_FIRST_LAST_CHILD_RETURNS_NULL, + /** Indicates that HTMLBlockElements returning 'HTMLElement' + * as class name. */ + @BrowserFeature(@WebBrowser(FF)) + JS_BLOCK_COMMON_CLASS_NAME, + /** Indicates that the getBoundingClientRect adds an offset of 2. */ @BrowserFeature(@WebBrowser(IE)) JS_BOUNDING_CLIENT_RECT_OFFSET_TWO, @@ -785,6 +790,11 @@ @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME) }) JS_DEFINE_GETTER, + /** Indicates that HTMLDefinition...Elements returning 'HTMLElement' + * as class name. */ + @BrowserFeature(@WebBrowser(FF)) + JS_DEFINITION_COMMON_CLASS_NAME, + /** Javascript doctyp.entities returns an empty string (IE). */ @BrowserFeature(@WebBrowser(IE)) JS_DOCTYPE_ENTITIES_EMPTY_STRING, @@ -993,6 +1003,11 @@ @BrowserFeature({ @WebBrowser(value = IE, minVersion = 8), @WebBrowser(FF), @WebBrowser(CHROME) }) JS_LOCATION_HASH_IS_DECODED, + /** Indicates that HTMLModElements returning 'HTMLPhraseElement' + * as class name. */ + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 8)) + JS_MOD_PHRASE_CLASS_NAME, + /** * Indicates if the String representation of a native function begins and ends with a \n. */ @@ -1033,6 +1048,11 @@ @BrowserFeature(@WebBrowser(IE)) JS_PARENT_PROTO_PROPERTIES, + /** Indicates that HTMLPhraseElements returning 'HTMLElement' + * as class name. */ + @BrowserFeature(@WebBrowser(FF)) + JS_PHRASE_COMMON_CLASS_NAME, + /** Indicates that the prefix property returns an empty string if no prefix defined. */ @BrowserFeature(@WebBrowser(IE)) JS_PREFIX_RETURNS_EMPTY_WHEN_UNDEFINED, @@ -1041,6 +1061,11 @@ @BrowserFeature(@WebBrowser(value = FF, maxVersion = 3.6f)) JS_QUERYCOMMAND_SUPPORTED_ONLY_DESIGNMODE, + /** Indicates that HTMLBlockQuoteElement returning 'HTMLBlockElement' + * as class name. */ + @BrowserFeature(@WebBrowser(IE)) + JS_QUOTE_CLASS_NAMEBLOCK, + /** Javascript script.text(...) reexecutes the script (IE). */ @BrowserFeature(@WebBrowser(IE)) JS_SCRIPT_ALWAYS_REEXECUTE_ON_SET_TEXT, Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java 2013-10-11 13:09:11 UTC (rev 8652) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -130,6 +130,7 @@ import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLBRElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLBaseElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLBaseFontElement; +import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLBlockElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLBlockQuoteElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLBodyElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLButtonElement; @@ -137,6 +138,8 @@ import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLCollection; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLCollectionTags; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDListElement; +import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDefinitionDescriptionElement; +import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDefinitionTermElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDelElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDirectoryElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDivElement; @@ -175,6 +178,7 @@ import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLOptionsCollection; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLParagraphElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLParamElement; +import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLPhraseElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLPreElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLProgressElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLScriptElement; @@ -296,8 +300,11 @@ FormChild.class, FormField.class, Geolocation.class, History.class, HTMLAnchorElement.class, HTMLAppletElement.class, HTMLAreaElement.class, HTMLAudioElement.class, HTMLBRElement.class, HTMLBaseElement.class, HTMLBaseFontElement.class, HTMLBGSoundElement.class, + HTMLBlockElement.class, HTMLBlockQuoteElement.class, HTMLBodyElement.class, HTMLButtonElement.class, HTMLCanvasElement.class, - HTMLCollection.class, HTMLCollectionTags.class, HTMLDListElement.class, + HTMLCollection.class, HTMLCollectionTags.class, + HTMLDefinitionDescriptionElement.class, HTMLDefinitionTermElement.class, + HTMLDListElement.class, HTMLDelElement.class, HTMLDirectoryElement.class, HTMLDivElement.class, HTMLDocument.class, HTMLElement.class, HTMLEmbedElement.class, HTMLFieldSetElement.class, HTMLFontElement.class, HTMLFormElement.class, HTMLFrameElement.class, HTMLFrameSetElement.class, @@ -308,6 +315,7 @@ HTMLMediaElement.class, HTMLMenuElement.class, HTMLMetaElement.class, HTMLMeterElement.class, HTMLOListElement.class, HTMLObjectElement.class, HTMLOptGroupElement.class, HTMLOptionElement.class, HTMLOptionsCollection.class, HTMLParagraphElement.class, HTMLParamElement.class, + HTMLPhraseElement.class, HTMLPreElement.class, HTMLProgressElement.class, HTMLScriptElement.class, HTMLSelectElement.class, HTMLSourceElement.class, HTMLSpacerElement.class, HTMLSpanElement.class, HTMLStyleElement.class, HTMLTableCaptionElement.class, HTMLTableCellElement.class, HTMLTableColElement.class, Added: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java (rev 0) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.javascript.host.html; + +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_BLOCK_COMMON_CLASS_NAME; + +import com.gargoylesoftware.htmlunit.html.DomNode; +import com.gargoylesoftware.htmlunit.html.HtmlCenter; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.host.ActiveXObject; + +/** + * The JavaScript object "HTMLBlockElement". + * + * @version $Revision$ + * @author Ronald Brill + */ +@JsxClass(domClasses = { HtmlCenter.class }) +public class HTMLBlockElement extends HTMLElement { + + /** + * Sets the DOM node that corresponds to this JavaScript object. + * @param domNode the DOM node + */ + @Override + public void setDomNode(final DomNode domNode) { + super.setDomNode(domNode); + + if (domNode instanceof HtmlCenter) { + ActiveXObject.addProperty(this, "cite", true, true); + } + } + + /** + * Returns the value of the "cite" property. + * @return the value of the "cite" property + */ + public String getCite() { + final String cite = getDomNodeOrDie().getAttribute("cite"); + return cite; + } + + /** + * Returns the value of the "cite" property. + * @param cite the value + */ + public void setCite(final String cite) { + getDomNodeOrDie().setAttribute("cite", cite); + } + + /** + * Returns the value of the "dateTime" property. + * @return the value of the "dateTime" property + */ + public String getDateTime() { + final String dateTime = getDomNodeOrDie().getAttribute("datetime"); + return dateTime; + } + + /** + * Returns the value of the "dateTime" property. + * @param dateTime the value + */ + public void setDateTime(final String dateTime) { + getDomNodeOrDie().setAttribute("datetime", dateTime); + } + + /** + * Returns whether the end tag is forbidden or not. + * @see <a href="http://www.w3.org/TR/html4/index/elements.html">HTML 4 specs</a> + * @return whether the end tag is forbidden or not + */ + protected boolean isEndTagForbidden() { + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public String getClassName() { + if (getWindow().getWebWindow() != null && getBrowserVersion().hasFeature(JS_BLOCK_COMMON_CLASS_NAME)) { + return "HTMLElement"; + } + return super.getClassName(); + } +} Property changes on: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java 2013-10-11 13:09:11 UTC (rev 8652) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -14,6 +14,8 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_QUOTE_CLASS_NAMEBLOCK; + import com.gargoylesoftware.htmlunit.html.HtmlBlockQuote; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; @@ -34,6 +36,9 @@ */ @Override public String getClassName() { + if (getWindow().getWebWindow() != null && getBrowserVersion().hasFeature(JS_QUOTE_CLASS_NAMEBLOCK)) { + return "HTMLBlockElement"; + } return "HTMLQuoteElement"; } Added: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionDescriptionElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionDescriptionElement.java (rev 0) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionDescriptionElement.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.javascript.host.html; + +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_DEFINITION_COMMON_CLASS_NAME; + +import com.gargoylesoftware.htmlunit.html.HtmlDefinitionDescription; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; + +/** + * The JavaScript object "HTMLDefinitionDescriptionElement". + * + * @version $Revision$ + * @author Ronald Brill + */ +@JsxClass(domClasses = { HtmlDefinitionDescription.class }) +public class HTMLDefinitionDescriptionElement extends HTMLElement { + + /** + * Returns the value of the "cite" property. + * @return the value of the "cite" property + */ + public String getCite() { + final String cite = getDomNodeOrDie().getAttribute("cite"); + return cite; + } + + /** + * Returns the value of the "cite" property. + * @param cite the value + */ + public void setCite(final String cite) { + getDomNodeOrDie().setAttribute("cite", cite); + } + + /** + * Returns the value of the "dateTime" property. + * @return the value of the "dateTime" property + */ + public String getDateTime() { + final String dateTime = getDomNodeOrDie().getAttribute("datetime"); + return dateTime; + } + + /** + * Returns the value of the "dateTime" property. + * @param dateTime the value + */ + public void setDateTime(final String dateTime) { + getDomNodeOrDie().setAttribute("datetime", dateTime); + } + + /** + * Returns whether the end tag is forbidden or not. + * @see <a href="http://www.w3.org/TR/html4/index/elements.html">HTML 4 specs</a> + * @return whether the end tag is forbidden or not + */ + protected boolean isEndTagForbidden() { + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public String getClassName() { + if (getWindow().getWebWindow() != null && getBrowserVersion().hasFeature(JS_DEFINITION_COMMON_CLASS_NAME)) { + return "HTMLElement"; + } + return "HTMLDDElement"; + } +} Property changes on: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionDescriptionElement.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionTermElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionTermElement.java (rev 0) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionTermElement.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -0,0 +1,84 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.javascript.host.html; + +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_DEFINITION_COMMON_CLASS_NAME; + +import com.gargoylesoftware.htmlunit.html.HtmlDefinitionTerm; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; + +/** + * The JavaScript object "HTMLDefinitionTermElement". + * + * @version $Revision$ + * @author Ronald Brill + */ +@JsxClass(domClasses = { HtmlDefinitionTerm.class }) +public class HTMLDefinitionTermElement extends HTMLElement { + + /** + * Returns the value of the "cite" property. + * @return the value of the "cite" property + */ + public String getCite() { + final String cite = getDomNodeOrDie().getAttribute("cite"); + return cite; + } + + /** + * Returns the value of the "cite" property. + * @param cite the value + */ + public void setCite(final String cite) { + getDomNodeOrDie().setAttribute("cite", cite); + } + + /** + * Returns the value of the "dateTime" property. + * @return the value of the "dateTime" property + */ + public String getDateTime() { + final String dateTime = getDomNodeOrDie().getAttribute("datetime"); + return dateTime; + } + + /** + * Returns the value of the "dateTime" property. + * @param dateTime the value + */ + public void setDateTime(final String dateTime) { + getDomNodeOrDie().setAttribute("datetime", dateTime); + } + + /** + * Returns whether the end tag is forbidden or not. + * @see <a href="http://www.w3.org/TR/html4/index/elements.html">HTML 4 specs</a> + * @return whether the end tag is forbidden or not + */ + protected boolean isEndTagForbidden() { + return false; + } + + /** + * {@inheritDoc} + */ + @Override + public String getClassName() { + if (getWindow().getWebWindow() != null && getBrowserVersion().hasFeature(JS_DEFINITION_COMMON_CLASS_NAME)) { + return "HTMLElement"; + } + return "HTMLDTElement"; + } +} Property changes on: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionTermElement.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDelElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDelElement.java 2013-10-11 13:09:11 UTC (rev 8652) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDelElement.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -14,6 +14,8 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_MOD_PHRASE_CLASS_NAME; + import com.gargoylesoftware.htmlunit.html.HtmlDeletedText; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; @@ -75,4 +77,15 @@ public String getDefaultStyleDisplay() { return "inline"; } + + /** + * {@inheritDoc} + */ + @Override + public String getClassName() { + if (getWindow().getWebWindow() != null && getBrowserVersion().hasFeature(JS_MOD_PHRASE_CLASS_NAME)) { + return "HTMLPhraseElement"; + } + return "HTMLModElement"; + } } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInsElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInsElement.java 2013-10-11 13:09:11 UTC (rev 8652) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInsElement.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -14,6 +14,8 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_MOD_PHRASE_CLASS_NAME; + import com.gargoylesoftware.htmlunit.html.HtmlInsertedText; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; @@ -75,4 +77,15 @@ public String getDefaultStyleDisplay() { return "inline"; } + + /** + * {@inheritDoc} + */ + @Override + public String getClassName() { + if (getWindow().getWebWindow() != null && getBrowserVersion().hasFeature(JS_MOD_PHRASE_CLASS_NAME)) { + return "HTMLPhraseElement"; + } + return "HTMLModElement"; + } } Added: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java (rev 0) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.javascript.host.html; + +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTMLABBREVIATED; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_PHRASE_COMMON_CLASS_NAME; + +import com.gargoylesoftware.htmlunit.html.DomNode; +import com.gargoylesoftware.htmlunit.html.HtmlAbbreviated; +import com.gargoylesoftware.htmlunit.html.HtmlAcronym; +import com.gargoylesoftware.htmlunit.html.HtmlBidirectionalOverride; +import com.gargoylesoftware.htmlunit.html.HtmlBig; +import com.gargoylesoftware.htmlunit.html.HtmlBlink; +import com.gargoylesoftware.htmlunit.html.HtmlBold; +import com.gargoylesoftware.htmlunit.html.HtmlCitation; +import com.gargoylesoftware.htmlunit.html.HtmlCode; +import com.gargoylesoftware.htmlunit.html.HtmlDefinition; +import com.gargoylesoftware.htmlunit.html.HtmlEmphasis; +import com.gargoylesoftware.htmlunit.html.HtmlItalic; +import com.gargoylesoftware.htmlunit.html.HtmlKeyboard; +import com.gargoylesoftware.htmlunit.html.HtmlNoBreak; +import com.gargoylesoftware.htmlunit.html.HtmlS; +import com.gargoylesoftware.htmlunit.html.HtmlSample; +import com.gargoylesoftware.htmlunit.html.HtmlSmall; +import com.gargoylesoftware.htmlunit.html.HtmlStrike; +import com.gargoylesoftware.htmlunit.html.HtmlStrong; +import com.gargoylesoftware.htmlunit.html.HtmlSubscript; +import com.gargoylesoftware.htmlunit.html.HtmlSuperscript; +import com.gargoylesoftware.htmlunit.html.HtmlTeletype; +import com.gargoylesoftware.htmlunit.html.HtmlUnderlined; +import com.gargoylesoftware.htmlunit.html.HtmlVariable; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.host.ActiveXObject; + +/** + * The JavaScript object "HTMLSpanElement". + * + * @version $Revision$ + * @author Ahmed Ashour + * @author Daniel Gredler + * @author Ronald Brill + */ +@JsxClass(domClasses = { + HtmlAbbreviated.class, + HtmlAcronym.class, + HtmlBidirectionalOverride.class, HtmlBig.class, HtmlBlink.class, HtmlBold.class, + HtmlCitation.class, HtmlCode.class, + HtmlDefinition.class, + HtmlEmphasis.class, + HtmlItalic.class, + HtmlKeyboard.class, + HtmlNoBreak.class, + HtmlS.class, HtmlSample.class, HtmlSmall.class, HtmlStrike.class, + HtmlSubscript.class, HtmlSuperscript.class, HtmlStrong.class, + HtmlTeletype.class, + HtmlUnderlined.class, + HtmlVariable.class, + }) +public class HTMLPhraseElement extends HTMLElement { + private boolean endTagForbidden_; + + /** + * Sets the DOM node that corresponds to this JavaScript object. + * @param domNode the DOM node + */ + @Override + public void setDomNode(final DomNode domNode) { + super.setDomNode(domNode); + + if ((domNode instanceof HtmlAbbreviated && getBrowserVersion().hasFeature(HTMLABBREVIATED)) + || domNode instanceof HtmlAcronym + || domNode instanceof HtmlBidirectionalOverride + || domNode instanceof HtmlBig + || domNode instanceof HtmlBlink + || domNode instanceof HtmlBold + || domNode instanceof HtmlCitation + || domNode instanceof HtmlCode + || domNode instanceof HtmlDefinition + || domNode instanceof HtmlEmphasis + || domNode instanceof HtmlItalic + || domNode instanceof HtmlKeyboard + || domNode instanceof HtmlNoBreak + || domNode instanceof HtmlS + || domNode instanceof HtmlSample + || domNode instanceof HtmlSmall + || domNode instanceof HtmlStrong + || domNode instanceof HtmlStrike + || domNode instanceof HtmlSubscript + || domNode instanceof HtmlSuperscript + || domNode instanceof HtmlTeletype + || domNode instanceof HtmlUnderlined + || domNode instanceof HtmlVariable + ) { + ActiveXObject.addProperty(this, "cite", true, true); + ActiveXObject.addProperty(this, "dateTime", true, true); + return; + } + } + + /** + * Returns the value of the "cite" property. + * @return the value of the "cite" property + */ + public String getCite() { + final String cite = getDomNodeOrDie().getAttribute("cite"); + return cite; + } + + /** + * Returns the value of the "cite" property. + * @param cite the value + */ + public void setCite(final String cite) { + getDomNodeOrDie().setAttribute("cite", cite); + } + + /** + * Returns the value of the "dateTime" property. + * @return the value of the "dateTime" property + */ + public String getDateTime() { + final String dateTime = getDomNodeOrDie().getAttribute("datetime"); + return dateTime; + } + + /** + * Returns the value of the "dateTime" property. + * @param dateTime the value + */ + public void setDateTime(final String dateTime) { + getDomNodeOrDie().setAttribute("datetime", dateTime); + } + + /** + * Returns whether the end tag is forbidden or not. + * @see <a href="http://www.w3.org/TR/html4/index/elements.html">HTML 4 specs</a> + * @return whether the end tag is forbidden or not + */ + protected boolean isEndTagForbidden() { + return endTagForbidden_; + } + + /** + * <span style="color:red">INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.</span><br/> + * {@inheritDoc} + */ + @Override + public String getDefaultStyleDisplay() { + return "inline"; + } + + /** + * {@inheritDoc} + */ + @Override + public String getClassName() { + if (getWindow().getWebWindow() != null && getBrowserVersion().hasFeature(JS_PHRASE_COMMON_CLASS_NAME)) { + return "HTMLElement"; + } + return super.getClassName(); + } +} Property changes on: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java 2013-10-11 13:09:11 UTC (rev 8652) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -15,42 +15,15 @@ package com.gargoylesoftware.htmlunit.javascript.host.html; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.GENERATED_90; -import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTMLABBREVIATED; import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.html.DomNode; -import com.gargoylesoftware.htmlunit.html.HtmlAbbreviated; -import com.gargoylesoftware.htmlunit.html.HtmlAcronym; import com.gargoylesoftware.htmlunit.html.HtmlAddress; -import com.gargoylesoftware.htmlunit.html.HtmlBidirectionalOverride; -import com.gargoylesoftware.htmlunit.html.HtmlBig; -import com.gargoylesoftware.htmlunit.html.HtmlBlink; -import com.gargoylesoftware.htmlunit.html.HtmlBold; -import com.gargoylesoftware.htmlunit.html.HtmlCenter; -import com.gargoylesoftware.htmlunit.html.HtmlCitation; -import com.gargoylesoftware.htmlunit.html.HtmlCode; -import com.gargoylesoftware.htmlunit.html.HtmlDefinition; -import com.gargoylesoftware.htmlunit.html.HtmlDefinitionDescription; -import com.gargoylesoftware.htmlunit.html.HtmlDefinitionTerm; -import com.gargoylesoftware.htmlunit.html.HtmlEmphasis; import com.gargoylesoftware.htmlunit.html.HtmlExample; -import com.gargoylesoftware.htmlunit.html.HtmlItalic; -import com.gargoylesoftware.htmlunit.html.HtmlKeyboard; import com.gargoylesoftware.htmlunit.html.HtmlListing; import com.gargoylesoftware.htmlunit.html.HtmlMultiColumn; -import com.gargoylesoftware.htmlunit.html.HtmlNoBreak; import com.gargoylesoftware.htmlunit.html.HtmlPlainText; -import com.gargoylesoftware.htmlunit.html.HtmlS; -import com.gargoylesoftware.htmlunit.html.HtmlSample; -import com.gargoylesoftware.htmlunit.html.HtmlSmall; import com.gargoylesoftware.htmlunit.html.HtmlSpan; -import com.gargoylesoftware.htmlunit.html.HtmlStrike; -import com.gargoylesoftware.htmlunit.html.HtmlStrong; -import com.gargoylesoftware.htmlunit.html.HtmlSubscript; -import com.gargoylesoftware.htmlunit.html.HtmlSuperscript; -import com.gargoylesoftware.htmlunit.html.HtmlTeletype; -import com.gargoylesoftware.htmlunit.html.HtmlUnderlined; -import com.gargoylesoftware.htmlunit.html.HtmlVariable; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; import com.gargoylesoftware.htmlunit.javascript.host.ActiveXObject; @@ -62,13 +35,12 @@ * @author Daniel Gredler * @author Ronald Brill */ -@JsxClass(domClasses = { HtmlAbbreviated.class, HtmlAcronym.class, HtmlAddress.class, - HtmlBidirectionalOverride.class, HtmlBig.class, HtmlBold.class, HtmlBlink.class, HtmlCenter.class, - HtmlCitation.class, HtmlCode.class, HtmlDefinition.class, HtmlDefinitionDescription.class, - HtmlDefinitionTerm.class, HtmlEmphasis.class, HtmlItalic.class, HtmlKeyboard.class, HtmlListing.class, - HtmlMultiColumn.class, HtmlNoBreak.class, HtmlPlainText.class, HtmlS.class, HtmlSample.class, - HtmlSmall.class, HtmlSpan.class, HtmlStrike.class, HtmlStrong.class, HtmlSubscript.class, - HtmlSuperscript.class, HtmlTeletype.class, HtmlUnderlined.class, HtmlVariable.class, HtmlExample.class }) +@JsxClass(domClasses = { + HtmlAddress.class, + HtmlListing.class, + HtmlMultiColumn.class, HtmlPlainText.class, + HtmlSpan.class, + HtmlExample.class }) public class HTMLSpanElement extends HTMLElement { private boolean endTagForbidden_; @@ -88,36 +60,7 @@ return; } - if ((domNode instanceof HtmlAbbreviated && browser.hasFeature(HTMLABBREVIATED)) - || domNode instanceof HtmlAcronym - || domNode instanceof HtmlBidirectionalOverride - || domNode instanceof HtmlBig - || domNode instanceof HtmlBold - || domNode instanceof HtmlBlink - || domNode instanceof HtmlCitation - || domNode instanceof HtmlCode - || domNode instanceof HtmlDefinition - || domNode instanceof HtmlEmphasis - || domNode instanceof HtmlItalic - || domNode instanceof HtmlKeyboard - || domNode instanceof HtmlNoBreak - || domNode instanceof HtmlS - || domNode instanceof HtmlSample - || domNode instanceof HtmlSmall - || domNode instanceof HtmlStrike - || domNode instanceof HtmlStrong - || domNode instanceof HtmlSubscript - || domNode instanceof HtmlSuperscript - || domNode instanceof HtmlTeletype - || domNode instanceof HtmlUnderlined - || domNode instanceof HtmlVariable) { - ActiveXObject.addProperty(this, "cite", true, true); - ActiveXObject.addProperty(this, "dateTime", true, true); - return; - } - if (domNode instanceof HtmlAddress - || domNode instanceof HtmlCenter || domNode instanceof HtmlExample || domNode instanceof HtmlListing || domNode instanceof HtmlPlainText) { @@ -186,9 +129,7 @@ public String getDefaultStyleDisplay() { final String tagName = getTagName(); if ("ADDRESS".equals(tagName) - || "CENTER".equals(tagName) - || "DD".equals(tagName) - || "DT".equals(tagName)) { + || "CENTER".equals(tagName)) { return super.getDefaultStyleDisplay(); } return "inline"; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlModificationTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlModificationTest.java 2013-10-11 13:09:11 UTC (rev 8652) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlModificationTest.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -34,7 +34,7 @@ * @throws Exception if the test fails */ @Test - @Alerts(FF = { "[object HTMLInsElement]", "[object HTMLDelElement]" }, IE = { "[object]", "[object]" }) + @Alerts(FF = { "[object HTMLModElement]", "[object HTMLModElement]" }, IE = { "[object]", "[object]" }) public void simpleScriptable() throws Exception { final String html = "<html><head>\n" + "<script>\n" Added: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElementTest.java (rev 0) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElementTest.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.javascript.host.html; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import com.gargoylesoftware.htmlunit.BrowserRunner; +import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; +import com.gargoylesoftware.htmlunit.BrowserRunner.Browser; +import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; +import com.gargoylesoftware.htmlunit.WebDriverTestCase; + +/** + * Unit tests for {@link HTMLPhraseElement}. + * + * @version $Revision$ + * @author ronald Brill + */ +@RunWith(BrowserRunner.class) +public class HTMLPhraseElementTest extends WebDriverTestCase { + + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts(FF = {"[object HTMLElement] undefined", "[object HTMLElement] undefined" }, + IE = {"[object] ", "[object] " }, + IE10 = {"[object HTMLPhraseElement] ", "[object HTMLPhraseElement] undefined" }) + @NotYetImplemented(Browser.FF) + public void cite() throws Exception { + final String html = + "<html>\n" + + " <head>\n" + + " <script>\n" + + " function test() {\n" + + " debug(document.createElement('abbr'));\n" + + " debug(document.createElement('big'));\n" + + " }\n" + + " function debug(e) {\n" + + " alert(e + ' ' + e.cite);\n" + + " }\n" + + " </script>\n" + + " </head>\n" + + " <body onload='test()'></body>\n" + + "</html>"; + + loadPageWithAlerts2(html); + } +} Property changes on: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElementTest.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElementTest.java 2013-10-11 13:09:11 UTC (rev 8652) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElementTest.java 2013-10-13 11:27:24 UTC (rev 8653) @@ -14,14 +14,11 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; - import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; import com.gargoylesoftware.htmlunit.WebDriverTestCase; /** @@ -69,17 +66,15 @@ * @throws Exception if an error occurs */ @Test - @Alerts(FF = {"[object HTMLElement] undefined", "[object HTMLSpanElement] undefined" }, - IE = {"[object] ", "[object] undefined" }, - IE10 = {"[object HTMLPhraseElement] ", "[object HTMLSpanElement] undefined" }) - @NotYetImplemented(FF17) + @Alerts(FF = "[object HTMLSpanElement] undefined" , + IE = "[object] undefined", + IE10 = "[object HTMLSpanElement] undefined") public void cite() throws Exception { final String html = "<html>\n" + " <head>\n" + " <script>\n" + " function test() {\n" - + " debug(document.createElement('abbr'));\n" + " debug(document.createElement('span'));\n" + " }\n" + " function debug(e) {\n" |
From: <asa...@us...> - 2013-10-18 10:40:18
|
Revision: 8658 http://sourceforge.net/p/htmlunit/code/8658 Author: asashour Date: 2013-10-18 10:40:15 +0000 (Fri, 18 Oct 2013) Log Message: ----------- docs: remove links to ntlm.html Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider.java trunk/htmlunit/src/site/site.xml trunk/htmlunit/src/site/xdoc/index.xml Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider.java 2013-10-18 08:17:22 UTC (rev 8657) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider.java 2013-10-18 10:40:15 UTC (rev 8658) @@ -31,7 +31,6 @@ * credentials for both web servers and proxies. Supports Digest * authentication, and Basic HTTP authentication. * - * See <a href="http://htmlunit.sourceforge.net/ntlm.html">NTLM authentication</a> to use NTLM from HtlmUnit. * @version $Revision$ * @author Daniel Gredler * @author Vikram Shitole @@ -84,7 +83,6 @@ * @param workstation The workstation the authentication request is originating from. * Essentially, the computer name for this machine. * @param domain the domain to authenticate within - * @see <a href="http://htmlunit.sourceforge.net/ntlm.html">How to use NTML authenticaion</a> */ public void addNTLMCredentials(final String username, final String password, final String host, final int port, final String workstation, final String domain) { Modified: trunk/htmlunit/src/site/site.xml =================================================================== --- trunk/htmlunit/src/site/site.xml 2013-10-18 08:17:22 UTC (rev 8657) +++ trunk/htmlunit/src/site/site.xml 2013-10-18 10:40:15 UTC (rev 8658) @@ -28,7 +28,6 @@ </menu> <menu name="User docs"> <item name="Logging" href="/logging.html"/> - <item name="NTLM authentication" href="/ntlm.html"/> <item name="FAQ" href="/faq.html"/> </menu> <menu name="Support"> Modified: trunk/htmlunit/src/site/xdoc/index.xml =================================================================== --- trunk/htmlunit/src/site/xdoc/index.xml 2013-10-18 08:17:22 UTC (rev 8657) +++ trunk/htmlunit/src/site/xdoc/index.xml 2013-10-18 10:40:15 UTC (rev 8658) @@ -141,7 +141,7 @@ </ul> </li> <li>Proxy server support</li> - <li>Support for basic and <a href="ntlm.html">NTLM</a> authentication</li> + <li>Support for basic and NTLM authentication</li> <li>Excellent JavaScript support (see <a href="#JavaScript_Support">the JavaScript section</a> below)</li> </ul> </p> |
From: <rb...@us...> - 2013-10-18 18:58:06
|
Revision: 8662 http://sourceforge.net/p/htmlunit/code/8662 Author: rbri Date: 2013-10-18 18:58:03 +0000 (Fri, 18 Oct 2013) Log Message: ----------- some more HTMLElementClasses added to come closer to the modern browsers Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java Added Paths: ----------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRp.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRt.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRuby.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2013-10-18 18:47:53 UTC (rev 8661) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2013-10-18 18:58:03 UTC (rev 8662) @@ -498,6 +498,10 @@ @BrowserFeature(@WebBrowser(IE)) HEADER_CONTENT_DISPOSITION_ABSOLUTE_PATH, + /** Indicates if HTML5 ruby tags ruby, tp and rt are recognized. */ + @BrowserFeature({ @WebBrowser(IE) }) + HTML5_RUBY_TAGS, + /** Indicates if HTML5 tags source, video and audio are recognized. */ @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME) }) HTML5_TAGS, Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java 2013-10-18 18:47:53 UTC (rev 8661) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java 2013-10-18 18:58:03 UTC (rev 8662) @@ -16,6 +16,7 @@ import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.CANVAS; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTML5_TAGS; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTML5_RUBY_TAGS; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTMLBASEFONT_SUPPORTED; import java.util.Arrays; @@ -79,7 +80,9 @@ HtmlNoScript.TAG_NAME, HtmlObject.TAG_NAME, HtmlOrderedList.TAG_NAME, HtmlOptionGroup.TAG_NAME, HtmlOption.TAG_NAME, HtmlParagraph.TAG_NAME, HtmlParameter.TAG_NAME, HtmlPlainText.TAG_NAME, HtmlPreformattedText.TAG_NAME, - HtmlProgress.TAG_NAME, HtmlS.TAG_NAME, HtmlSample.TAG_NAME, + HtmlProgress.TAG_NAME, + HtmlRp.TAG_NAME, HtmlRt.TAG_NAME, HtmlRuby.TAG_NAME, + HtmlS.TAG_NAME, HtmlSample.TAG_NAME, HtmlScript.TAG_NAME, HtmlSelect.TAG_NAME, HtmlSmall.TAG_NAME, HtmlSource.TAG_NAME, HtmlSpacer.TAG_NAME, HtmlSpan.TAG_NAME, HtmlStrike.TAG_NAME, HtmlStrong.TAG_NAME, HtmlStyle.TAG_NAME, @@ -409,6 +412,30 @@ else if (tagName.equals(HtmlProgress.TAG_NAME)) { element = new HtmlProgress(namespaceURI, qualifiedName, page, attributeMap); } + else if (tagName.equals(HtmlRp.TAG_NAME)) { + if (page.getWebClient().getBrowserVersion().hasFeature(HTML5_RUBY_TAGS)) { + element = new HtmlRp(namespaceURI, qualifiedName, page, attributeMap); + } + else { + return UnknownElementFactory.instance.createElementNS(page, namespaceURI, qualifiedName, attributes); + } + } + else if (tagName.equals(HtmlRt.TAG_NAME)) { + if (page.getWebClient().getBrowserVersion().hasFeature(HTML5_RUBY_TAGS)) { + element = new HtmlRt(namespaceURI, qualifiedName, page, attributeMap); + } + else { + return UnknownElementFactory.instance.createElementNS(page, namespaceURI, qualifiedName, attributes); + } + } + else if (tagName.equals(HtmlRuby.TAG_NAME)) { + if (page.getWebClient().getBrowserVersion().hasFeature(HTML5_RUBY_TAGS)) { + element = new HtmlRuby(namespaceURI, qualifiedName, page, attributeMap); + } + else { + return UnknownElementFactory.instance.createElementNS(page, namespaceURI, qualifiedName, attributes); + } + } else if (tagName.equals(HtmlS.TAG_NAME)) { element = new HtmlS(namespaceURI, qualifiedName, page, attributeMap); } Added: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRp.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRp.java (rev 0) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRp.java 2013-10-18 18:58:03 UTC (rev 8662) @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.html; + +import java.util.Map; + +import com.gargoylesoftware.htmlunit.SgmlPage; + +/** + * Wrapper for the HTML element "rp". + * + * @version $Revision$ + * @author Ronald Brill + */ +public class HtmlRp extends HtmlElement { + + /** The HTML tag represented by this element. */ + public static final String TAG_NAME = "rp"; + + /** + * Creates a new instance. + * + * @param namespaceURI the URI that identifies an XML namespace + * @param qualifiedName the qualified name of the element type to instantiate + * @param page the page that contains this element + * @param attributes the initial attributes + */ + HtmlRp(final String namespaceURI, final String qualifiedName, final SgmlPage page, + final Map<String, DomAttr> attributes) { + super(namespaceURI, qualifiedName, page, attributes); + } +} Property changes on: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRp.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRt.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRt.java (rev 0) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRt.java 2013-10-18 18:58:03 UTC (rev 8662) @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.html; + +import java.util.Map; + +import com.gargoylesoftware.htmlunit.SgmlPage; + +/** + * Wrapper for the HTML element "rt". + * + * @version $Revision$ + * @author Ronald Brill + */ +public class HtmlRt extends HtmlElement { + + /** The HTML tag represented by this element. */ + public static final String TAG_NAME = "rt"; + + /** + * Creates a new instance. + * + * @param namespaceURI the URI that identifies an XML namespace + * @param qualifiedName the qualified name of the element type to instantiate + * @param page the page that contains this element + * @param attributes the initial attributes + */ + HtmlRt(final String namespaceURI, final String qualifiedName, final SgmlPage page, + final Map<String, DomAttr> attributes) { + super(namespaceURI, qualifiedName, page, attributes); + } +} Property changes on: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRt.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRuby.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRuby.java (rev 0) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRuby.java 2013-10-18 18:58:03 UTC (rev 8662) @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.html; + +import java.util.Map; + +import com.gargoylesoftware.htmlunit.SgmlPage; + +/** + * Wrapper for the HTML element "ruby". + * + * @version $Revision$ + * @author Ronald Brill + */ +public class HtmlRuby extends HtmlElement { + + /** The HTML tag represented by this element. */ + public static final String TAG_NAME = "ruby"; + + /** + * Creates a new instance. + * + * @param namespaceURI the URI that identifies an XML namespace + * @param qualifiedName the qualified name of the element type to instantiate + * @param page the page that contains this element + * @param attributes the initial attributes + */ + HtmlRuby(final String namespaceURI, final String qualifiedName, final SgmlPage page, + final Map<String, DomAttr> attributes) { + super(namespaceURI, qualifiedName, page, attributes); + } +} Property changes on: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlRuby.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java 2013-10-18 18:47:53 UTC (rev 8661) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java 2013-10-18 18:58:03 UTC (rev 8662) @@ -14,6 +14,7 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.CSS_DISPLAY_DEFAULT; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTMLABBREVIATED; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_PHRASE_COMMON_CLASS_NAME; @@ -31,6 +32,9 @@ import com.gargoylesoftware.htmlunit.html.HtmlItalic; import com.gargoylesoftware.htmlunit.html.HtmlKeyboard; import com.gargoylesoftware.htmlunit.html.HtmlNoBreak; +import com.gargoylesoftware.htmlunit.html.HtmlRp; +import com.gargoylesoftware.htmlunit.html.HtmlRt; +import com.gargoylesoftware.htmlunit.html.HtmlRuby; import com.gargoylesoftware.htmlunit.html.HtmlS; import com.gargoylesoftware.htmlunit.html.HtmlSample; import com.gargoylesoftware.htmlunit.html.HtmlSmall; @@ -62,6 +66,7 @@ HtmlItalic.class, HtmlKeyboard.class, HtmlNoBreak.class, + HtmlRt.class, HtmlRp.class, HtmlRuby.class, HtmlS.class, HtmlSample.class, HtmlSmall.class, HtmlStrike.class, HtmlSubscript.class, HtmlSuperscript.class, HtmlStrong.class, HtmlTeletype.class, @@ -158,6 +163,20 @@ */ @Override public String getDefaultStyleDisplay() { + final String tagName = getTagName(); + if ("RUBY".equals(tagName)) { + if (getBrowserVersion().hasFeature(CSS_DISPLAY_DEFAULT)) { + return "inline"; + } + return "ruby"; + } + if ("RT".equals(tagName)) { + if (getBrowserVersion().hasFeature(CSS_DISPLAY_DEFAULT)) { + return "inline"; + } + return "ruby-text"; + } + return "inline"; } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java 2013-10-18 18:47:53 UTC (rev 8661) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLElementsTest.java 2013-10-18 18:58:03 UTC (rev 8662) @@ -15,6 +15,7 @@ package com.gargoylesoftware.htmlunit.html; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE10; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; import org.junit.Test; @@ -31,6 +32,7 @@ * @version $Revision$ * @author Ahmed Ashour * @author Frank Danek + * @author Ronald Brill */ @RunWith(BrowserRunner.class) public class HTMLElementsTest extends WebDriverTestCase { @@ -796,6 +798,39 @@ * @throws Exception if the test fails */ @Test + @Alerts(DEFAULT = "1", + IE8 = "0") + @NotYetImplemented({ FF, IE10 }) + public void elementClosesItself_ruby() throws Exception { + loadPageWithAlerts2(elementClosesItself("ruby")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "1", + IE8 = "0") + @NotYetImplemented(IE8) + public void elementClosesItself_rp() throws Exception { + loadPageWithAlerts2(elementClosesItself("rp")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "1", + IE8 = "0") + @NotYetImplemented(IE8) + public void elementClosesItself_rt() throws Exception { + loadPageWithAlerts2(elementClosesItself("rt")); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts("1") public void elementClosesItself_s() throws Exception { loadPageWithAlerts2(elementClosesItself("s")); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-10-18 18:47:53 UTC (rev 8661) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-10-18 18:58:03 UTC (rev 8662) @@ -804,6 +804,39 @@ * @throws Exception if the test fails */ @Test + @Alerts(DEFAULT = { "3", "2", "2", "3", "2", "2" }, + IE8 = { "1", "1", "1", "2", "2", "1" }) + @NotYetImplemented(IE8) + public void childNodes_ruby() throws Exception { + loadPageWithAlerts2(createHtmlForChildNodes("ruby")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = { "3", "2", "2", "3", "2", "2" }, + IE8 = { "1", "1", "1", "2", "2", "1" }) + @NotYetImplemented() + public void childNodes_rt() throws Exception { + loadPageWithAlerts2(createHtmlForChildNodes("rt")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = { "3", "2", "2", "3", "2", "2" }, + IE8 = { "1", "1", "1", "2", "2", "1" }) + @NotYetImplemented() + public void childNodes_rp() throws Exception { + loadPageWithAlerts2(createHtmlForChildNodes("rp")); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts(DEFAULT = { "3", "2", "2", "3", "2", "3" }, IE8 = { "3", "3", "2", "4", "4", "3" }) @NotYetImplemented(IE8) Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2013-10-18 18:47:53 UTC (rev 8661) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2013-10-18 18:58:03 UTC (rev 8662) @@ -3507,6 +3507,36 @@ * @throws Exception if the test fails */ @Test + @Alerts(DEFAULT = "<ruby></ruby>", + IE8 = "<RUBY></RUBY>") + public void outerHTML_ruby() throws Exception { + loadPageWithAlerts2(outerHTML("ruby")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "<rt></rt>", + IE8 = "<RT></RT>") + public void outerHTML_rt() throws Exception { + loadPageWithAlerts2(outerHTML("rt")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "<rp></rp>", + IE8 = "<RP></RP>") + public void outerHTML_rp() throws Exception { + loadPageWithAlerts2(outerHTML("rp")); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts(DEFAULT = "<img>", IE8 = "<IMG>") public void outerHTML_img() throws Exception { |
From: <rb...@us...> - 2013-10-19 12:10:59
|
Revision: 8667 http://sourceforge.net/p/htmlunit/code/8667 Author: rbri Date: 2013-10-19 12:10:53 +0000 (Sat, 19 Oct 2013) Log Message: ----------- more HTMLElement class fixes Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSpanTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java 2013-10-19 11:57:27 UTC (rev 8666) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java 2013-10-19 12:10:53 UTC (rev 8667) @@ -17,7 +17,10 @@ import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_BLOCK_COMMON_CLASS_NAME; import com.gargoylesoftware.htmlunit.html.DomNode; +import com.gargoylesoftware.htmlunit.html.HtmlAddress; import com.gargoylesoftware.htmlunit.html.HtmlCenter; +import com.gargoylesoftware.htmlunit.html.HtmlExample; +import com.gargoylesoftware.htmlunit.html.HtmlListing; import com.gargoylesoftware.htmlunit.html.HtmlPlainText; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; import com.gargoylesoftware.htmlunit.javascript.host.ActiveXObject; @@ -28,7 +31,12 @@ * @version $Revision$ * @author Ronald Brill */ -@JsxClass(domClasses = { HtmlCenter.class, HtmlPlainText.class }) +@JsxClass(domClasses = { + HtmlAddress.class, + HtmlCenter.class, + HtmlExample.class, + HtmlListing.class, + HtmlPlainText.class }) public class HTMLBlockElement extends HTMLElement { /** @@ -95,4 +103,18 @@ } return super.getClassName(); } + + /** + * <span style="color:red">INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.</span><br/> + * {@inheritDoc} + */ + @Override + public String getDefaultStyleDisplay() { + final String tagName = getTagName(); + if ("ADDRESS".equals(tagName) + || "CENTER".equals(tagName)) { + return super.getDefaultStyleDisplay(); + } + return "inline"; + } } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java 2013-10-19 11:57:27 UTC (rev 8666) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java 2013-10-19 12:10:53 UTC (rev 8667) @@ -18,13 +18,9 @@ import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.html.DomNode; -import com.gargoylesoftware.htmlunit.html.HtmlAddress; -import com.gargoylesoftware.htmlunit.html.HtmlExample; -import com.gargoylesoftware.htmlunit.html.HtmlListing; import com.gargoylesoftware.htmlunit.html.HtmlMultiColumn; import com.gargoylesoftware.htmlunit.html.HtmlSpan; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; -import com.gargoylesoftware.htmlunit.javascript.host.ActiveXObject; /** * The JavaScript object "HTMLSpanElement". @@ -35,11 +31,8 @@ * @author Ronald Brill */ @JsxClass(domClasses = { - HtmlAddress.class, - HtmlListing.class, HtmlMultiColumn.class, - HtmlSpan.class, - HtmlExample.class }) + HtmlSpan.class }) public class HTMLSpanElement extends HTMLElement { private boolean endTagForbidden_; @@ -58,12 +51,6 @@ return; } - - if (domNode instanceof HtmlAddress - || domNode instanceof HtmlExample - || domNode instanceof HtmlListing) { - ActiveXObject.addProperty(this, "cite", true, true); - } } /** @@ -125,11 +112,6 @@ */ @Override public String getDefaultStyleDisplay() { - final String tagName = getTagName(); - if ("ADDRESS".equals(tagName) - || "CENTER".equals(tagName)) { - return super.getDefaultStyleDisplay(); - } return "inline"; } } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSpanTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSpanTest.java 2013-10-19 11:57:27 UTC (rev 8666) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlSpanTest.java 2013-10-19 12:10:53 UTC (rev 8667) @@ -56,7 +56,7 @@ * @throws Exception if the test fails */ @Test - @Alerts(FF = "[object HTMLSpanElement]", IE = "[object]") + @Alerts(FF = "[object HTMLElement]", IE = "[object]") public void simpleScriptable_others() throws Exception { final String html = "<html><head>\n" + "<script>\n" |
From: <rb...@us...> - 2013-10-22 18:11:28
|
Revision: 8672 http://sourceforge.net/p/htmlunit/code/8672 Author: rbri Date: 2013-10-22 18:11:22 +0000 (Tue, 22 Oct 2013) Log Message: ----------- improved/more flexible javascript engine configuration; more HTMLelement fixes Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClass.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Attr.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASection.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CharacterDataImpl.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Comment.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragment.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentType.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormChild.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/ProcessingInstruction.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/SimpleArray.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Text.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferView.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewBase.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataView.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRule.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAreaElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAudioElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBGSoundElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLButtonElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCanvasElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDListElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionDescriptionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDefinitionTermElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDelElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDirectoryElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDivElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFieldSetElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFontElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameSetElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHRElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHeadElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHeadingElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHtmlElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIFrameElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInlineQuotationElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInputElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLInsElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLIsIndexElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLIElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLabelElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLegendElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLLinkElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLListElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMapElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMediaElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMenuElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMetaElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLMeterElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOListElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLObjectElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOptGroupElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLOptionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLParagraphElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLParamElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPreElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLProgressElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLScriptElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSelectElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSourceElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpacerElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLSpanElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLStyleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCaptionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableCellElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableColElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableComponent.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableRowElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTableSectionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTextAreaElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLTitleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUListElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUnknownElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLVideoElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLWBRElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAltGlyphElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAnimateElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAnimateMotionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAnimateTransformElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGCircleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGClipPathElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGDefsElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGDescElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGEllipseElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEBlendElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEColorMatrixElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEComponentTransferElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFECompositeElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEConvolveMatrixElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEDiffuseLightingElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEDisplacementMapElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEDistantLightElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFloodElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFuncAElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFuncBElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFuncGElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEFuncRElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEGaussianBlurElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEImageElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEMergeElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEMergeNodeElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEMorphologyElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEOffsetElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFEPointLightElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFESpecularLightingElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFESpotLightElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFETileElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFETurbulenceElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGFilterElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGForeignObjectElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGGElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGImageElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGLineElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGLinearGradientElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGMarkerElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGMaskElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGMetadataElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGMpathElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGPathElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGPatternElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGPolygonElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGPolylineElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGRadialGradientElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGRectElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSVGElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGScriptElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSetElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGStopElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGStyleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSwitchElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSymbolElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGTSpanElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGTextElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGTextPathElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGTitleElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGUseElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlIsIndexTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlResetInputTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWordBreakTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLPhraseElementTest.java Added Paths: ----------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLNoShowElement.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -19,8 +19,10 @@ import java.lang.reflect.Method; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; import java.util.WeakHashMap; import org.apache.commons.logging.Log; @@ -171,6 +173,7 @@ import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLMenuElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLMetaElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLMeterElement; +import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLNoShowElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLOListElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLObjectElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLOptGroupElement; @@ -297,7 +300,8 @@ DOMTokenList.class, Document.class, DocumentFragment.class, DocumentType.class, Element.class, Enumerator.class, Event.class, EventNode.class, External.class, Float32Array.class, Float64Array.class, - FormChild.class, FormField.class, Geolocation.class, History.class, + FormChild.class, FormField.class, Geolocation.class, + HashChangeEvent.class, History.class, HTMLAnchorElement.class, HTMLAppletElement.class, HTMLAreaElement.class, HTMLAudioElement.class, HTMLBRElement.class, HTMLBaseElement.class, HTMLBaseFontElement.class, HTMLBGSoundElement.class, HTMLBlockElement.class, @@ -313,6 +317,7 @@ HTMLInsElement.class, HTMLIsIndexElement.class, HTMLLIElement.class, HTMLLabelElement.class, HTMLLegendElement.class, HTMLLinkElement.class, HTMLListElement.class, HTMLMapElement.class, HTMLMediaElement.class, HTMLMenuElement.class, HTMLMetaElement.class, HTMLMeterElement.class, + HTMLNoShowElement.class, HTMLOListElement.class, HTMLObjectElement.class, HTMLOptGroupElement.class, HTMLOptionElement.class, HTMLOptionsCollection.class, HTMLParagraphElement.class, HTMLParamElement.class, HTMLPhraseElement.class, @@ -320,8 +325,10 @@ HTMLSelectElement.class, HTMLSourceElement.class, HTMLSpacerElement.class, HTMLSpanElement.class, HTMLStyleElement.class, HTMLTableCaptionElement.class, HTMLTableCellElement.class, HTMLTableColElement.class, HTMLTableComponent.class, HTMLTableElement.class, HTMLTableRowElement.class, HTMLTableSectionElement.class, - HTMLTextAreaElement.class, HTMLTitleElement.class, HTMLUListElement.class, HTMLUnknownElement.class, - HTMLVideoElement.class, HTMLWBRElement.class, HashChangeEvent.class, History.class, + HTMLTextAreaElement.class, HTMLTitleElement.class, + HTMLUListElement.class, HTMLUnknownElement.class, + HTMLWBRElement.class, + HTMLVideoElement.class, Int16Array.class, Int32Array.class, Int8Array.class, KeyboardEvent.class, Location.class, MediaList.class, MessageEvent.class, MimeType.class, MimeTypeArray.class, MouseEvent.class, @@ -425,7 +432,6 @@ private ClassConfiguration processClass(final Class<? extends SimpleScriptable> klass, final BrowserVersion browser) { if (browser != null) { - final JsxClass jsxClass = klass.getAnnotation(JsxClass.class); final String expectedBrowserName; if (browser.isIE()) { expectedBrowserName = "IE"; @@ -437,75 +443,122 @@ expectedBrowserName = "CHROME"; } final float browserVersionNumeric = browser.getBrowserVersionNumeric(); + + final String hostClassName = klass.getName(); + final JsxClasses jsxClasses = klass.getAnnotation(JsxClasses.class); + if (jsxClasses != null + && isSupported(jsxClasses.browsers(), expectedBrowserName, browserVersionNumeric)) { + if (klass.getAnnotation(JsxClass.class) != null) { + throw new RuntimeException("Invalid JsxClasses/JsxClass annotation; class '" + + hostClassName + "' has both."); + } + final boolean isJsObject = jsxClasses.isJSObject(); + final JsxClass[] jsxClassValues = jsxClasses.value(); + + final Set<Class<?>> domClasses = new HashSet<Class<?>>(); + + for (int i = 0; i < jsxClassValues.length; i++) { + final JsxClass jsxClass = jsxClassValues[i]; + + if (jsxClass != null + && isSupported(jsxClass.browsers(), expectedBrowserName, browserVersionNumeric)) { + domClasses.add(jsxClass.domClass()); + } + } + + final ClassConfiguration classConfiguration = + new ClassConfiguration(klass, domClasses.toArray(new Class<?>[0]), isJsObject); + + process(classConfiguration, hostClassName, expectedBrowserName, + browserVersionNumeric); + return classConfiguration; + } + + final JsxClass jsxClass = klass.getAnnotation(JsxClass.class); if (jsxClass != null && isSupported(jsxClass.browsers(), expectedBrowserName, browserVersionNumeric)) { - final String hostClassName = klass.getName(); - final Class<?>[] domClasses = jsxClass.domClasses(); + final Set<Class<?>> domClasses = new HashSet<Class<?>>(); + final Class<?> domClass = jsxClass.domClass(); + if (domClass != null && domClass != Object.class) { + domClasses.add(domClass); + } - final boolean isJsObject = jsxClass.isJSObject(); - final ClassConfiguration classConfiguration = new ClassConfiguration(klass, domClasses, isJsObject); + final ClassConfiguration classConfiguration + = new ClassConfiguration(klass, domClasses.toArray(new Class<?>[0]), true); - final String simpleClassName = hostClassName.substring(hostClassName.lastIndexOf('.') + 1); - ClassnameMap_.put(hostClassName, simpleClassName); - final Map<String, Method> allGetters = new HashMap<String, Method>(); - final Map<String, Method> allSetters = new HashMap<String, Method>(); - for (final Method method : classConfiguration.getHostClass().getDeclaredMethods()) { - for (final Annotation annotation : method.getAnnotations()) { - if (annotation instanceof JsxGetter) { - final JsxGetter jsxGetter = (JsxGetter) annotation; - if (isSupported(jsxGetter.value(), expectedBrowserName, browserVersionNumeric)) { - String property; - if (jsxGetter.propertyName().isEmpty()) { - property = method.getName().substring(3); - property = Character.toLowerCase(property.charAt(0)) + property.substring(1); - } - else { - property = jsxGetter.propertyName(); - } - allGetters.put(property, method); - } + process(classConfiguration, hostClassName, expectedBrowserName, + browserVersionNumeric); + return classConfiguration; + } + } + return null; + } + + private void process(final ClassConfiguration classConfiguration, + final String hostClassName, final String expectedBrowserName, + final float browserVersionNumeric) { + final String simpleClassName = hostClassName.substring(hostClassName.lastIndexOf('.') + 1); + +// if (ClassnameMap_.containsKey(hostClassName)) { +// throw new RuntimeException("Invalid JsxClasses/JsxClass configuration; two mappings for class '" +// + hostClassName + "'."); +// } + ClassnameMap_.put(hostClassName, simpleClassName); + final Map<String, Method> allGetters = new HashMap<String, Method>(); + final Map<String, Method> allSetters = new HashMap<String, Method>(); + for (final Method method : classConfiguration.getHostClass().getDeclaredMethods()) { + for (final Annotation annotation : method.getAnnotations()) { + if (annotation instanceof JsxGetter) { + final JsxGetter jsxGetter = (JsxGetter) annotation; + if (isSupported(jsxGetter.value(), expectedBrowserName, browserVersionNumeric)) { + String property; + if (jsxGetter.propertyName().isEmpty()) { + property = method.getName().substring(3); + property = Character.toLowerCase(property.charAt(0)) + property.substring(1); } - else if (annotation instanceof JsxSetter) { - final JsxSetter jsxSetter = (JsxSetter) annotation; - if (isSupported(jsxSetter.value(), expectedBrowserName, browserVersionNumeric)) { - String property; - if (jsxSetter.propertyName().isEmpty()) { - property = method.getName().substring(3); - property = Character.toLowerCase(property.charAt(0)) + property.substring(1); - } - else { - property = jsxSetter.propertyName(); - } - allSetters.put(property, method); - } + else { + property = jsxGetter.propertyName(); } - else if (annotation instanceof JsxFunction) { - if (isSupported(((JsxFunction) annotation).value(), - expectedBrowserName, browserVersionNumeric)) { - classConfiguration.addFunction(method); - } + allGetters.put(property, method); + } + } + else if (annotation instanceof JsxSetter) { + final JsxSetter jsxSetter = (JsxSetter) annotation; + if (isSupported(jsxSetter.value(), expectedBrowserName, browserVersionNumeric)) { + String property; + if (jsxSetter.propertyName().isEmpty()) { + property = method.getName().substring(3); + property = Character.toLowerCase(property.charAt(0)) + property.substring(1); } - else if (annotation instanceof JsxConstructor) { - classConfiguration.setJSConstructor(method); + else { + property = jsxSetter.propertyName(); } + allSetters.put(property, method); } } - for (final Field field : classConfiguration.getHostClass().getDeclaredFields()) { - final JsxConstant jsxConstant = field.getAnnotation(JsxConstant.class); - if (jsxConstant != null - && isSupported(jsxConstant.value(), expectedBrowserName, browserVersionNumeric)) { - classConfiguration.addConstant(field.getName()); + else if (annotation instanceof JsxFunction) { + if (isSupported(((JsxFunction) annotation).value(), + expectedBrowserName, browserVersionNumeric)) { + classConfiguration.addFunction(method); } } - for (final Entry<String, Method> getterEntry : allGetters.entrySet()) { - final String property = getterEntry.getKey(); - classConfiguration.addProperty(property, - getterEntry.getValue(), allSetters.get(property)); + else if (annotation instanceof JsxConstructor) { + classConfiguration.setJSConstructor(method); } - return classConfiguration; } } - return null; + for (final Field field : classConfiguration.getHostClass().getDeclaredFields()) { + final JsxConstant jsxConstant = field.getAnnotation(JsxConstant.class); + if (jsxConstant != null + && isSupported(jsxConstant.value(), expectedBrowserName, browserVersionNumeric)) { + classConfiguration.addConstant(field.getName()); + } + } + for (final Entry<String, Method> getterEntry : allGetters.entrySet()) { + final String property = getterEntry.getKey(); + classConfiguration.addProperty(property, + getterEntry.getValue(), allSetters.get(property)); + } } private static boolean isSupported(final WebBrowser[] browsers, final String expectedBrowserName, @@ -552,8 +605,7 @@ * are the JavaScript class names (e.g. "HTMLAnchorElement"). * @return the mappings */ - public Map<Class<?>, Class<? extends SimpleScriptable>> - getDomJavaScriptMapping() { + public Map<Class<?>, Class<? extends SimpleScriptable>> getDomJavaScriptMapping() { if (domJavaScriptMap_ != null) { return domJavaScriptMap_; } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClass.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClass.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClass.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -34,16 +34,12 @@ public @interface JsxClass { /** The DOM class (if any). */ - Class<?>[] domClasses() default { }; + Class<?> domClass() default Object.class; - /** Is JavaScript Object. */ - boolean isJSObject() default true; - /** The {@link WebBrowser}s supported by this constant. */ WebBrowser[] browsers() default { @WebBrowser(IE), @WebBrowser(FF), @WebBrowser(CHROME) }; - } Added: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java (rev 0) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2002-2013 Gargoyle Software Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gargoylesoftware.htmlunit.javascript.configuration; + +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.CHROME; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * An annotation to mark a Java class as JavaScript class. + * + * @version $Revision$ + * @author Ronald Brill + */ +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +public @interface JsxClasses { + + /** The different classes. */ + JsxClass[] value() default { }; + + /** Is JavaScript Object. */ + boolean isJSObject() default true; + + /** The {@link WebBrowser}s supported by this constant. */ + WebBrowser[] browsers() default { + @WebBrowser(IE), + @WebBrowser(FF), + @WebBrowser(CHROME) + }; +} Property changes on: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JsxClasses.java ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Author Date Id Revision \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Attr.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Attr.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Attr.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -42,7 +42,7 @@ * @author Sudhan Moghe * @author Ronald Brill */ -@JsxClass(domClasses = DomAttr.class) +@JsxClass(domClass = DomAttr.class) public class Attr extends Node { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASection.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASection.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CDATASection.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -23,7 +23,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = DomCDataSection.class) +@JsxClass(domClass = DomCDataSection.class) public final class CDATASection extends Text { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CharacterDataImpl.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CharacterDataImpl.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/CharacterDataImpl.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -27,7 +27,7 @@ * @author David K. Taylor * @author Chris Erskine */ -@JsxClass(domClasses = DomCharacterData.class) +@JsxClass(domClass = DomCharacterData.class) public class CharacterDataImpl extends Node { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Comment.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Comment.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Comment.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -35,7 +35,7 @@ * @author Mirko Friedenhagen * @author Ahmed Ashour */ -@JsxClass(domClasses = DomComment.class) +@JsxClass(domClass = DomComment.class) public final class Comment extends CharacterDataImpl { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragment.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragment.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentFragment.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -40,7 +40,7 @@ * @see <a href="http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-core.html#ID-B63ED1A3"> * W3C Dom Level 1</a> */ -@JsxClass(domClasses = DomDocumentFragment.class) +@JsxClass(domClass = DomDocumentFragment.class) public class DocumentFragment extends Node { //TODO: seems that in IE, DocumentFragment extends HTMLDocument Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentType.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentType.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/DocumentType.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -38,7 +38,7 @@ * @see <a href="http://msdn.microsoft.com/en-us/library/ms762752.aspx">MSDN documentation</a> * @see <a href="http://www.xulplanet.com/references/objref/DocumentType.html">XUL Planet</a> */ -@JsxClass(domClasses = DomDocumentType.class) +@JsxClass(domClass = DomDocumentType.class) public class DocumentType extends Node { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Element.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -51,7 +51,7 @@ * @author Sudhan Moghe * @author Ronald Brill */ -@JsxClass(domClasses = DomElement.class) +@JsxClass(domClass = DomElement.class) public class Element extends EventNode { private NamedNodeMap attributes_; Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormChild.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormChild.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormChild.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -15,7 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript.host; import com.gargoylesoftware.htmlunit.html.HtmlForm; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLElement; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLFormElement; @@ -26,7 +26,9 @@ * @version $Revision$ * @author Daniel Gredler */ -@JsxClass(isJSObject = false) +@JsxClasses( + isJSObject = false +) public class FormChild extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/FormField.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -20,7 +20,7 @@ import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.HtmlElement; import com.gargoylesoftware.htmlunit.html.HtmlForm; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -35,7 +35,9 @@ * @author Chris Erskine * @author Ahmed Ashour */ -@JsxClass(isJSObject = false) +@JsxClasses( + isJSObject = false +) public class FormField extends FormChild { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/ProcessingInstruction.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/ProcessingInstruction.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/ProcessingInstruction.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -25,7 +25,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = DomProcessingInstruction.class) +@JsxClass(domClass = DomProcessingInstruction.class) public final class ProcessingInstruction extends Node { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/SimpleArray.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/SimpleArray.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/SimpleArray.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -22,7 +22,7 @@ import com.gargoylesoftware.htmlunit.javascript.ScriptableWithFallbackGetter; import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxFunction; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; @@ -34,7 +34,9 @@ * * @see <a href="http://www.xulplanet.com/references/objref/MimeTypeArray.html">XUL Planet</a> */ -@JsxClass(isJSObject = false) +@JsxClasses( + isJSObject = false +) public class SimpleArray extends SimpleScriptable implements ScriptableWithFallbackGetter { private final List<Object> elements_ = new ArrayList<Object>(); Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Text.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Text.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Text.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -37,7 +37,7 @@ * @author Chuck Dumont * @author Ronald Brill */ -@JsxClass(domClasses = DomText.class) +@JsxClass(domClass = DomText.class) public class Text extends CharacterDataImpl { /** @@ -61,7 +61,7 @@ * Returns wholeText value. * @return wholeText value */ - @JsxGetter({ @WebBrowser(FF), @WebBrowser(CHROME) }) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10), @WebBrowser(CHROME) }) public String getWholeText() { return ((DomText) getDomNodeOrDie()).getWholeText(); } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferView.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferView.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferView.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -18,7 +18,7 @@ import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -28,7 +28,10 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(isJSObject = false, browsers = { @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) }) +@JsxClasses( + isJSObject = false, + browsers = { @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) } +) public class ArrayBufferView extends SimpleScriptable { private ArrayBuffer buffer_; Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewBase.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewBase.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/ArrayBufferViewBase.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -22,7 +22,7 @@ import net.sourceforge.htmlunit.corejs.javascript.ScriptableObject; import net.sourceforge.htmlunit.corejs.javascript.Undefined; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxFunction; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -34,7 +34,9 @@ * @author Ahmed Ashour * @author Marc Guillemot */ -@JsxClass(isJSObject = false, browsers = { @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) }) +@JsxClasses( + isJSObject = false, + browsers = { @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) }) public class ArrayBufferViewBase extends ArrayBufferView { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataView.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataView.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/arrays/DataView.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -22,7 +22,7 @@ import net.sourceforge.htmlunit.corejs.javascript.Undefined; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxConstructor; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxFunction; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -33,7 +33,9 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(isJSObject = false, browsers = { @WebBrowser(value = FF, minVersion = 15), @WebBrowser(CHROME) }) +@JsxClasses( + isJSObject = false, + browsers = { @WebBrowser(value = FF, minVersion = 15), @WebBrowser(CHROME) }) public class DataView extends ArrayBufferView { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRule.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRule.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSRule.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -17,7 +17,7 @@ import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable; -import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; @@ -28,7 +28,9 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(isJSObject = false) +@JsxClasses( + isJSObject = false +) public class CSSRule extends SimpleScriptable { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAnchorElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -46,7 +46,7 @@ * @author Daniel Gredler * @author Ronald Brill */ -@JsxClass(domClasses = HtmlAnchor.class) +@JsxClass(domClass = HtmlAnchor.class) public class HTMLAnchorElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAppletElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -40,7 +40,7 @@ * @author Marc Guillemot * @author Daniel Gredler */ -@JsxClass(domClasses = HtmlApplet.class) +@JsxClass(domClass = HtmlApplet.class) public class HTMLAppletElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAreaElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAreaElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAreaElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -31,7 +31,7 @@ * @author Ahmed Ashour * @author Ronald Brill */ -@JsxClass(domClasses = HtmlArea.class) +@JsxClass(domClass = HtmlArea.class) public class HTMLAreaElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAudioElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAudioElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLAudioElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -29,7 +29,7 @@ * @author Ronald Brill * @author Ahmed Ashour */ -@JsxClass(domClasses = HtmlAudio.class, browsers = { @WebBrowser(FF), +@JsxClass(domClass = HtmlAudio.class, browsers = { @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10), @WebBrowser(CHROME) }) public class HTMLAudioElement extends HTMLMediaElement { Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBGSoundElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBGSoundElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBGSoundElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -25,7 +25,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = HtmlBackgroundSound.class) +@JsxClass(domClass = HtmlBackgroundSound.class) public class HTMLBGSoundElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBRElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -32,7 +32,7 @@ * @author Ahmed Ashour * @author Ronald Brill */ -@JsxClass(domClasses = HtmlBreak.class) +@JsxClass(domClass = HtmlBreak.class) public class HTMLBRElement extends HTMLElement { /** Valid values for the {@link #getClear() clear} property. */ Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -25,7 +25,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = HtmlBase.class) +@JsxClass(domClass = HtmlBase.class) public class HTMLBaseElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBaseFontElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -31,7 +31,7 @@ * @version $Revision$ * @author Ahmed Ashour */ -@JsxClass(domClasses = HtmlBaseFont.class, browsers = { @WebBrowser(IE), @WebBrowser(value = FF, maxVersion = 3.6f) }) +@JsxClass(domClass = HtmlBaseFont.class, browsers = { @WebBrowser(IE), @WebBrowser(value = FF, maxVersion = 3.6f) }) public class HTMLBaseFontElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -15,6 +15,8 @@ package com.gargoylesoftware.htmlunit.javascript.host.html; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_BLOCK_COMMON_CLASS_NAME; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_XML_SUPPORT_VIA_ACTIVEXOBJECT; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.HtmlAddress; @@ -22,7 +24,10 @@ import com.gargoylesoftware.htmlunit.html.HtmlExample; import com.gargoylesoftware.htmlunit.html.HtmlListing; import com.gargoylesoftware.htmlunit.html.HtmlPlainText; +import com.gargoylesoftware.htmlunit.html.HtmlPreformattedText; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClasses; +import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; import com.gargoylesoftware.htmlunit.javascript.host.ActiveXObject; /** @@ -31,12 +36,14 @@ * @version $Revision$ * @author Ronald Brill */ -@JsxClass(domClasses = { - HtmlAddress.class, - HtmlCenter.class, - HtmlExample.class, - HtmlListing.class, - HtmlPlainText.class }) +@JsxClasses({ + @JsxClass(domClass = HtmlAddress.class), + @JsxClass(domClass = HtmlCenter.class), + @JsxClass(domClass = HtmlExample.class), + @JsxClass(domClass = HtmlListing.class), + @JsxClass(domClass = HtmlPlainText.class), + @JsxClass(domClass = HtmlPreformattedText.class, browsers = @WebBrowser(value = IE, maxVersion = 8)) +}) public class HTMLBlockElement extends HTMLElement { /** @@ -47,7 +54,9 @@ public void setDomNode(final DomNode domNode) { super.setDomNode(domNode); - ActiveXObject.addProperty(this, "cite", true, true); + if (getBrowserVersion().hasFeature(JS_XML_SUPPORT_VIA_ACTIVEXOBJECT)) { + ActiveXObject.addProperty(this, "cite", true, true); + } } /** @@ -112,7 +121,8 @@ public String getDefaultStyleDisplay() { final String tagName = getTagName(); if ("ADDRESS".equals(tagName) - || "CENTER".equals(tagName)) { + || "CENTER".equals(tagName) + || "PRE".equals(tagName)) { return super.getDefaultStyleDisplay(); } return "inline"; Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBlockQuoteElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -28,7 +28,7 @@ * @author Ahmed Ashour * @author Ronald Brill */ -@JsxClass(domClasses = HtmlBlockQuote.class) +@JsxClass(domClass = HtmlBlockQuote.class) public class HTMLBlockQuoteElement extends HTMLElement { /** Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElement.java 2013-10-20 07:43:50 UTC (rev 8671) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLBodyElement.java 2013-10-22 18:11:22 UTC (rev 8672) @@ -39,7 +39,7 @@ * @author Marc Guillem... [truncated message content] |
From: <rb...@us...> - 2013-10-22 20:52:53
|
Revision: 8674 http://sourceforge.net/p/htmlunit/code/8674 Author: rbri Date: 2013-10-22 20:52:50 +0000 (Tue, 22 Oct 2013) Log Message: ----------- test fix, works with current selenium Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUnknownElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUnknownElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUnknownElement.java 2013-10-22 18:26:58 UTC (rev 8673) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLUnknownElement.java 2013-10-22 20:52:50 UTC (rev 8674) @@ -87,13 +87,16 @@ return "block"; } - // FF 3.6 + // FF < 16 if ("METER".equals(tagName)) { return "inline-block"; } if ("PROGRESS".equals(tagName)) { return "inline-block"; } + if ("DATALIST".equals(tagName)) { + return "none"; + } } if ("RUBY".equals(tagName)) { if (getBrowserVersion().hasFeature(CSS_DISPLAY_DEFAULT)) { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java 2013-10-22 18:26:58 UTC (rev 8673) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java 2013-10-22 20:52:50 UTC (rev 8674) @@ -339,7 +339,7 @@ * @throws Exception if an error occurs */ @Test - @Alerts({ "inline", "table-caption", "block", "inline", "inline", "table-column", "table-column-group" }) + @Alerts({ "inline", "table-caption", "block", "inline", "inline", "table-column", "table-column-group", "inline" }) public void defaultDisplayValues_C() throws Exception { final String html = "<!DOCTYPE HTML>\n<html><body>\n" + " <canvas id='canvas'></canvas>\n" @@ -358,7 +358,7 @@ + " </p>\n" + " <menu>\n" - // + " <command id='command'></command>\n" + + " <command id='command'></command>\n" + " </menu>\n" + " <script>\n" @@ -377,7 +377,7 @@ + " x('code');\n" + " x('col');\n" + " x('colgroup');\n" - // + " x('command');\n" + + " x('command');\n" + " </script>\n" + "</body></html>"; loadPageWithAlerts2(html); @@ -387,7 +387,8 @@ * @throws Exception if an error occurs */ @Test - @Alerts({ "block", "inline", "inline", "block", "block", "block", "block" }) + @Alerts(DEFAULT = { "none", "block", "inline", "inline", "inline", "inline", "block", "block", "block", "block" }, + IE8 = { "inline", "block", "inline", "inline", "inline", "inline", "block", "block", "block", "block" }) public void defaultDisplayValues_D() throws Exception { final String html = "<!DOCTYPE HTML>\n<html><body>\n" + " <datalist id='datalist'></datalist>\n" @@ -401,9 +402,9 @@ + " <del id='del'></del>\n" + " </p>\n" - // + " <details id='details'></details>\n" + + " <details id='details'></details>\n" + " <dfn id='dfn'></dfn>\n" - // + " <dialog id='dialog'></dialog>\n" + + " <dialog id='dialog'></dialog>\n" + " <dir id='dir'></dir>\n" + " <dir id='div'></div>\n" @@ -416,12 +417,12 @@ + " }\n" + " </script>\n" + " <script>\n" - // + " x('datalist');\n" + + " x('datalist');\n" + " x('dd');\n" + " x('del');\n" - // + " x('details');\n" + + " x('details');\n" + " x('dfn');\n" - // + " x('dialog');\n" + + " x('dialog');\n" + " x('dir');\n" + " x('div');\n" + " x('dl');\n" |
From: <asa...@us...> - 2013-10-23 10:13:25
|
Revision: 8675 http://sourceforge.net/p/htmlunit/code/8675 Author: asashour Date: 2013-10-23 10:13:22 +0000 (Wed, 23 Oct 2013) Log Message: ----------- SSL: use default algorithm for fetching the KeyManagerFactory. Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/HtmlUnitSSLSocketFactory.java Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2013-10-22 20:52:50 UTC (rev 8674) +++ trunk/htmlunit/src/changes/changes.xml 2013-10-23 10:13:22 UTC (rev 8675) @@ -8,6 +8,9 @@ <body> <release version="2.14" date="???" description="Bugfixes"> + <action type="fix" dev="asashour"> + SSL: use default algorithm for fetching the KeyManagerFactory. + </action> <action type="remove" dev="asashour"> BrowserVersion: remove deprecated FIREFOX_3_6, FIREFOX_10, CHROME_16, INTERNET_EXPLORER_6 and INTERNET_EXPLORER_7. Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/HtmlUnitSSLSocketFactory.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/HtmlUnitSSLSocketFactory.java 2013-10-22 20:52:50 UTC (rev 8674) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/HtmlUnitSSLSocketFactory.java 2013-10-23 10:13:22 UTC (rev 8675) @@ -173,7 +173,8 @@ final char[] passwordChars = password != null ? password.toCharArray() : null; final KeyStore keyStore = getKeyStore(options); - final KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("SunX509"); + final String algorithm = KeyManagerFactory.getDefaultAlgorithm(); + final KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(algorithm); keyManagerFactory.init(keyStore, passwordChars); return keyManagerFactory.getKeyManagers(); } |
From: <rb...@us...> - 2013-10-23 17:54:20
|
Revision: 8676 http://sourceforge.net/p/htmlunit/code/8676 Author: rbri Date: 2013-10-23 17:54:15 +0000 (Wed, 23 Oct 2013) Log Message: ----------- start work on FF24 (wip) Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/BrowserConfiguration.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-23 10:13:22 UTC (rev 8675) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-23 17:54:15 UTC (rev 8676) @@ -123,6 +123,15 @@ "Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20100101 Firefox/17.0", (float) 17.0, "FF17", null); + /** + * Firefox 24 ESR. + * @since 2.14 + **/ + public static final BrowserVersion FIREFOX_24 = new BrowserVersion( + NETSCAPE, "5.0 (Windows)", + "Mozilla/5.0 (Windows NT 6.1; rv:24.0) Gecko/20100101 Firefox/24.0", + (float) 24.0, "FF24", null); + /** Internet Explorer 8. */ public static final BrowserVersion INTERNET_EXPLORER_8 = new BrowserVersion( INTERNET_EXPLORER, "4.0 (compatible; MSIE 8.0; Windows NT 6.0)", @@ -161,6 +170,12 @@ FIREFOX_17.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); FIREFOX_17.setCssAcceptHeader("text/css,*/*;q=0.1"); + FIREFOX_24.initDefaultFeatures(); + + FIREFOX_24.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); + FIREFOX_24.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); + FIREFOX_24.setCssAcceptHeader("text/css,*/*;q=0.1"); + INTERNET_EXPLORER_8.setHtmlAcceptHeader("image/gif, image/jpeg, image/pjpeg, image/pjpeg, */*"); final PluginConfiguration flash = new PluginConfiguration("Shockwave Flash", @@ -168,6 +183,7 @@ flash.getMimeTypes().add(new PluginConfiguration.MimeType("application/x-shockwave-flash", "Shockwave Flash", "swf")); FIREFOX_17.getPlugins().add(flash); + FIREFOX_24.getPlugins().add(flash); CHROME.initDefaultFeatures(); CHROME.setApplicationCodeName("Mozilla"); @@ -310,7 +326,7 @@ /** * Returns <tt>true</tt> if this <tt>BrowserVersion</tt> instance represents some - * version of Firefox like {@link #FIREFOX_3_6} or {@link #FIREFOX_17}. + * version of Firefox like {@link #FIREFOX_17} or {@link #FIREFOX_24}. * @return whether or not this version is a version of a Firefox browser */ public final boolean isFirefox() { Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/BrowserConfiguration.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/BrowserConfiguration.java 2013-10-23 10:13:22 UTC (rev 8675) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/BrowserConfiguration.java 2013-10-23 17:54:15 UTC (rev 8676) @@ -53,6 +53,14 @@ return ff(defaultValue).startingWith(17); } + public static BrowserConfiguration ffBelow24(final String defaultValue) { + return ff(defaultValue).upTo(23); + } + + public static BrowserConfiguration ff24up(final String defaultValue) { + return ff(defaultValue).startingWith(24); + } + public static BrowserConfiguration ie8up(final String defaultValue) { return ie(defaultValue).startingWith(8); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2013-10-23 10:13:22 UTC (rev 8675) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserRunner.java 2013-10-23 17:54:15 UTC (rev 8676) @@ -73,6 +73,9 @@ if (browsers.contains("hu") || browsers.contains("hu-ff17")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_17, false)); } + if (browsers.contains("hu") || browsers.contains("hu-ff24")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_24, false)); + } if (browsers.contains("hu") || browsers.contains("hu-ie8")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_8, false)); } @@ -90,6 +93,9 @@ if (browsers.contains("ff17")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_17, true)); } + if (browsers.contains("ff24")) { + runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.FIREFOX_24, true)); + } if (browsers.contains("ie8")) { runners_.add(new BrowserVersionClassRunner(klass, BrowserVersion.INTERNET_EXPLORER_8, true)); } @@ -172,6 +178,9 @@ /** Firefox 17. */ FF17, + /** Firefox 24. */ + FF24, + /** * Not Browser-specific, it will run only once. Don't use this with other Browsers. * And don't call directly or indirectly {@link WebTestCase#getBrowserVersion()} @@ -230,6 +239,9 @@ /** Alerts for Firefox 17. If not defined, {@link #FF()} is used. */ String[] FF17() default { EMPTY_DEFAULT }; + /** Alerts for Firefox 24. If not defined, {@link #FF()} is used. */ + String[] FF24() default { EMPTY_DEFAULT }; + /** Alerts for latest Chrome. */ String[] CHROME() default { EMPTY_DEFAULT }; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2013-10-23 10:13:22 UTC (rev 8675) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionClassRunner.java 2013-10-23 17:54:15 UTC (rev 8676) @@ -83,6 +83,9 @@ else if (browserVersion_ == BrowserVersion.FIREFOX_17) { expectedAlerts = firstDefined(alerts.FF17(), alerts.FF(), alerts.DEFAULT()); } + else if (browserVersion_ == BrowserVersion.FIREFOX_24) { + expectedAlerts = firstDefined(alerts.FF24(), alerts.FF(), alerts.DEFAULT()); + } else if (browserVersion_ == BrowserVersion.CHROME) { expectedAlerts = firstDefined(alerts.CHROME(), alerts.DEFAULT()); } @@ -254,6 +257,12 @@ } break; + case FF24: + if (browserVersion_ == BrowserVersion.FIREFOX_24) { + return true; + } + break; + case CHROME: if (browserVersion_.isChrome()) { return true; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-23 10:13:22 UTC (rev 8675) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java 2013-10-23 17:54:15 UTC (rev 8676) @@ -75,21 +75,23 @@ * "test.properties" in the HtmlUnit root directory. * Sample: * <pre> - browsers=hu,ff17,ie9 + browsers=hu,ff17,ff24,ie9 ie.bin=C:\\path\\to\\32bit\\IEDriverServer.exe [Windows] ff17.bin=/usr/bin/firefox [Unix-like] + ff24.bin=/usr/bin/firefox [Unix-like] chrome.bin=/path/to/chromedriver [Unix-like] * </pre> * The file should contain four properties: "browsers", "ie.bin", "ff17.bin", and "chrome.bin". * <ul> * <li>browsers: is a comma separated list contains any combination of "hu" (for HtmlUnit with all browser versions), - * "hu-ie8", "hu-ie9", "hu-ff17", - * "ff17", "ie8", "ie9", "chrome", which will be used to driver real browsers, + * "hu-ie8", "hu-ie9", "hu-ff17, "hu-ff24", + * "ff17", ff24", "ie8", "ie9", "chrome", which will be used to driver real browsers, * note that you can't define more than one IE as there is no standard way * to have multiple IEs on the same machine</li> * <li>ie.bin: is the location of the IEDriverServer binary (see * <a href="http://code.google.com/p/selenium/downloads/list">IEDriverServer downloads</a></li> * <li>ff17.bin: is the location of the FF17 binary, in Windows use double back-slashes</li> + * <li>ff24.bin: is the location of the FF24 binary, in Windows use double back-slashes</li> * <li>chrome.bin: is the location of the ChromeDriver binary (see * <a href="http://code.google.com/p/chromedriver/downloads/list">Chrome Driver downloads</a></li> * </ul> @@ -108,6 +110,7 @@ private static List<String> BROWSERS_PROPERTIES_; private static String IE_BIN_; private static String FF17_BIN_; + private static String FF24_BIN_; private static String CHROME_BIN_; /** The driver cache. */ @@ -145,6 +148,7 @@ .replaceAll(" ", "").toLowerCase().split(",")); IE_BIN_ = properties.getProperty("ie.bin"); FF17_BIN_ = properties.getProperty("ff17.bin"); + FF24_BIN_ = properties.getProperty("ff24.bin"); CHROME_BIN_ = properties.getProperty("chrome.bin"); } } @@ -248,6 +252,9 @@ if (BrowserVersion.FIREFOX_17 == getBrowserVersion()) { ffBinary = FF17_BIN_; } + if (BrowserVersion.FIREFOX_24 == getBrowserVersion()) { + ffBinary = FF24_BIN_; + } if (ffBinary != null) { return new FirefoxDriver(new FirefoxBinary(new File(ffBinary)), new FirefoxProfile()); } |
From: <rb...@us...> - 2013-10-23 20:48:21
|
Revision: 8678 http://sourceforge.net/p/htmlunit/code/8678 Author: rbri Date: 2013-10-23 20:48:17 +0000 (Wed, 23 Oct 2013) Log Message: ----------- setting frame.location does not send Referer Header Issue 1551 Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Location.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2013-10-23 19:18:33 UTC (rev 8677) +++ trunk/htmlunit/src/changes/changes.xml 2013-10-23 20:48:17 UTC (rev 8678) @@ -8,6 +8,9 @@ <body> <release version="2.14" date="???" description="Bugfixes"> + <action type="fix" dev="rbri" issue="1551"> + JavaScript: send the correct Referer header when changing the location property. + </action> <action type="fix" dev="asashour"> SSL: use default algorithm for fetching the KeyManagerFactory. </action> Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Location.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Location.java 2013-10-23 19:18:33 UTC (rev 8677) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Location.java 2013-10-23 20:48:17 UTC (rev 8678) @@ -222,8 +222,11 @@ } } + final WebRequest request = new WebRequest(url); + request.setAdditionalHeader("Referer", page.getUrl().toExternalForm()); + final WebWindow webWindow = getWindow().getWebWindow(); - webWindow.getWebClient().download(webWindow, "", new WebRequest(url), + webWindow.getWebClient().download(webWindow, "", request, newLocation.endsWith("#"), "JS set location"); } catch (final MalformedURLException e) { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java 2013-10-23 19:18:33 UTC (rev 8677) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java 2013-10-23 20:48:17 UTC (rev 8678) @@ -17,6 +17,7 @@ import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE10; import java.net.URL; +import java.util.Map; import org.junit.Test; import org.junit.runner.RunWith; @@ -28,6 +29,7 @@ import com.gargoylesoftware.htmlunit.BrowserRunner.Browser; import com.gargoylesoftware.htmlunit.BrowserRunner.BuggyWebDriver; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; +import com.gargoylesoftware.htmlunit.MockWebConnection; import com.gargoylesoftware.htmlunit.WebDriverTestCase; /** @@ -576,4 +578,48 @@ shutDownAll(); } } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("§§URL§§menu.html") + public void missingRefererHeaderWhenSettingFrameLocation() throws Exception { + final String html = "<html><head><title>Frameset</title></head>\n" + + "<frameset rows='20%,80%'>\n" + + " <frame src='menu.html' name='menu'>\n" + + " <frame src='' name='content'>\n" + + "</frameset></html>"; + + final String menu = "<html><head><title>Menu</title></head>\n" + + "<body>\n" + + " <a id='link' href='content.html' target='content'>Link</a>" + + " <a id='jsLink' href='#' onclick=\"javascript:top.content.location='content.html';\">jsLink</a>\n" + + "</body></html>"; + + final String content = "<html><head><title>Content</title></head><body><p>content</p></body></html>"; + + final MockWebConnection conn = getMockWebConnection(); + conn.setResponse(new URL(getDefaultUrl(), "menu.html"), menu); + conn.setResponse(new URL(getDefaultUrl(), "content.html"), content); + conn.setResponse(new URL(getDefaultUrl(), "content.html"), content); + + expandExpectedAlertsVariables(getDefaultUrl()); + final WebDriver driver = loadPage2(html); + + assertEquals(2, conn.getRequestCount()); + + // click an anchor with href and target + driver.switchTo().frame(0); + driver.findElement(By.id("link")).click(); + assertEquals(3, conn.getRequestCount()); + Map<String, String> lastAdditionalHeaders = conn.getLastAdditionalHeaders(); + assertEquals(getExpectedAlerts()[0], lastAdditionalHeaders.get("Referer")); + + // click an anchor with onclick which sets frame.location + driver.findElement(By.id("jsLink")).click(); + assertEquals(4, conn.getRequestCount()); + lastAdditionalHeaders = conn.getLastAdditionalHeaders(); + assertEquals(getExpectedAlerts()[0], lastAdditionalHeaders.get("Referer")); + } } |
From: <rb...@us...> - 2013-10-24 20:25:05
|
Revision: 8683 http://sourceforge.net/p/htmlunit/code/8683 Author: rbri Date: 2013-10-24 20:25:00 +0000 (Thu, 24 Oct 2013) Log Message: ----------- first IE10 fixes (patch from Frank Danek) Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ObjectsTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSSelectorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElementTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument.java 2013-10-24 20:24:27 UTC (rev 8682) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLDocument.java 2013-10-24 20:25:00 UTC (rev 8683) @@ -63,8 +63,9 @@ * @author Sudhan Moghe * @author Ronald Brill * @author Chuck Dumont + * @author Frank Danek */ -@JsxClass(browsers = @WebBrowser(FF)) +@JsxClass(browsers = { @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public class XMLDocument extends Document { private static final Log LOG = LogFactory.getLog(XMLDocument.class); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java 2013-10-24 20:24:27 UTC (rev 8682) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java 2013-10-24 20:25:00 UTC (rev 8683) @@ -87,14 +87,16 @@ @Test @Browsers(IE) @Alerts(DEFAULT = { "1", "title" }, - IE10 = "") + IE10 = "exception") public void selectNodes() throws Exception { final String html = "<html><head><title>foo</title><script>\n" + " function test() {\n" + " var doc = " + XMLDocumentTest.callLoadXMLDocumentFromFile("'" + URL_SECOND + "'") + ";\n" - + " var nodes = doc.documentElement.selectNodes('//title');\n" - + " alert(nodes.length);\n" - + " alert(nodes[0].tagName);\n" + + " try {\n" + + " var nodes = doc.documentElement.selectNodes('//title');\n" + + " alert(nodes.length);\n" + + " alert(nodes[0].tagName);\n" + + " } catch (e) { alert('exception'); }\n" + " }\n" + XMLDocumentTest.LOAD_XML_DOCUMENT_FROM_FILE_FUNCTION + "</script></head><body onload='test()'>\n" @@ -193,15 +195,17 @@ @Test @Browsers(IE) @Alerts(DEFAULT = { "book", "0", "1" }, - IE10 = "book") + IE10 = { "book", "exception" }) public void selectNode_root() throws Exception { final String html = "<html><head><title>foo</title><script>\n" + " function test() {\n" + " var doc = " + XMLDocumentTest.callLoadXMLDocumentFromFile("'" + URL_SECOND + "'") + ";\n" + " var child = doc.documentElement.firstChild;\n" + " alert(child.tagName);\n" - + " alert(child.selectNodes('/title').length);\n" - + " alert(child.selectNodes('title').length);\n" + + " try {\n" + + " alert(child.selectNodes('/title').length);\n" + + " alert(child.selectNodes('title').length);\n" + + " } catch (e) { alert('exception'); }\n" + " }\n" + XMLDocumentTest.LOAD_XML_DOCUMENT_FROM_FILE_FUNCTION + "</script></head><body onload='test()'>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ObjectsTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ObjectsTest.java 2013-10-24 20:24:27 UTC (rev 8682) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ObjectsTest.java 2013-10-24 20:25:00 UTC (rev 8683) @@ -50,11 +50,13 @@ private static List<String> IE9_; private static List<String> IE10_; private static List<String> FF17_; + private static List<String> FF24_; private static List<String> IE8_SIMULATED_; private static List<String> IE9_SIMULATED_; private static List<String> IE10_SIMULATED_; private static List<String> FF17_SIMULATED_; + private static List<String> FF24_SIMULATED_; private final String name_; private final BrowserVersion browserVersion_; @@ -70,23 +72,28 @@ IE9_ = getObjects(BrowserVersion.INTERNET_EXPLORER_9); IE10_ = getObjects(BrowserVersion.INTERNET_EXPLORER_10); FF17_ = getObjects(BrowserVersion.FIREFOX_17); + FF24_ = getObjects(BrowserVersion.FIREFOX_24); Assert.assertEquals(IE8_.size(), IE9_.size()); Assert.assertEquals(IE8_.size(), IE10_.size()); Assert.assertEquals(IE8_.size(), FF17_.size()); + Assert.assertEquals(IE8_.size(), FF24_.size()); IE8_SIMULATED_ = getSimulatedObjects(BrowserVersion.INTERNET_EXPLORER_8); IE9_SIMULATED_ = getSimulatedObjects(BrowserVersion.INTERNET_EXPLORER_9); IE10_SIMULATED_ = getSimulatedObjects(BrowserVersion.INTERNET_EXPLORER_10); FF17_SIMULATED_ = getSimulatedObjects(BrowserVersion.FIREFOX_17); + FF24_SIMULATED_ = getSimulatedObjects(BrowserVersion.FIREFOX_24); Assert.assertEquals(IE8_SIMULATED_.size(), IE9_SIMULATED_.size()); Assert.assertEquals(IE8_SIMULATED_.size(), IE10_SIMULATED_.size()); Assert.assertEquals(IE8_SIMULATED_.size(), FF17_SIMULATED_.size()); + Assert.assertEquals(IE8_SIMULATED_.size(), FF24_SIMULATED_.size()); final Collection<Object[]> list = new ArrayList<Object[]>(); for (final String line : IE8_) { final String name = line.substring(0, line.indexOf(':')); -// list.add(new Object[] {name, BrowserVersion.INTERNET_EXPLORER_8}); + list.add(new Object[] {name, BrowserVersion.INTERNET_EXPLORER_8}); // list.add(new Object[] {name, BrowserVersion.INTERNET_EXPLORER_9}); // list.add(new Object[] {name, BrowserVersion.INTERNET_EXPLORER_10}); // list.add(new Object[] {name, BrowserVersion.FIREFOX_17}); +// list.add(new Object[] {name, BrowserVersion.FIREFOX_24}); } return list; } @@ -138,6 +145,10 @@ realList = FF17_; simulatedList = FF17_SIMULATED_; } + else if (browserVersion_ == BrowserVersion.FIREFOX_24) { + realList = FF24_; + simulatedList = FF24_SIMULATED_; + } else { fail("Unknown BrowserVersion " + browserVersion_); return; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSSelectorTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSSelectorTest.java 2013-10-24 20:24:27 UTC (rev 8682) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSSelectorTest.java 2013-10-24 20:25:00 UTC (rev 8683) @@ -14,7 +14,7 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.css; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; import org.junit.Test; import org.junit.runner.RunWith; @@ -701,7 +701,7 @@ @Test @Alerts(DEFAULT = { }, IE8 = { "li1" }) - @NotYetImplemented(IE) + @NotYetImplemented(IE8) public void pseudoAfter() throws Exception { final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ + "<html><head><title>Pseudo-After</title><script>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java 2013-10-24 20:24:27 UTC (rev 8682) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java 2013-10-24 20:25:00 UTC (rev 8683) @@ -83,14 +83,16 @@ @Test @Browsers(IE) @Alerts(DEFAULT = { "5", "6" }, - IE10 = "5") + IE10 = { "5", "exception" }) public void getElements() throws Exception { final String html = "<html><head><title>foo</title><script>\n" + "function doTest() {\n" + " alert(document.all.length);\n" - + " document.appendChild(document.createElement('div'));\n" - + " alert(document.all.length);\n" + + " try {" + + " document.appendChild(document.createElement('div'));\n" + + " alert(document.all.length);\n" + + " } catch (e) { alert('exception') }\n" + "}\n" + "</script></head><body onload='doTest()'>\n" + "</body></html>"; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentTest.java 2013-10-24 20:24:27 UTC (rev 8682) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocumentTest.java 2013-10-24 20:25:00 UTC (rev 8683) @@ -533,7 +533,7 @@ @Test @Alerts(DEFAULT = {"", "", "#0000aa", "#0000aa", "x", "x" }, IE = {"#ffffff", "", "#0000aa", "#0000aa", "#000000", "#000000" }, -// IE9 = {"#ffffff", "", "#0000aa", "#0000aa", "#000000", "#0" }, + IE9 = {"#ffffff", "", "#0000aa", "#0000aa", "#000000", "#0" }, IE10 = {"#ffffff", "", "#0000aa", "#0000aa", "#000000", "#0" }) public void bgColor() throws Exception { final String html = @@ -713,7 +713,8 @@ @BuggyWebDriver // tested with FF8, FF17, FF18 @Alerts(CHROME = { "0", "exception" }, FF = { "1", "[object HTMLBodyElement]" }, - IE = "exception") + IE = "exception", + IE10 = { "0", "exception" }) // TODO [IE10]MODALPANEL real IE10 opens a modal panel which webdriver cannot handle public void designMode_selectionRange_empty() throws Exception { designMode_selectionRange(""); @@ -728,7 +729,8 @@ @BuggyWebDriver // tested with FF8, FF17, FF18 @Alerts(CHROME = { "0", "exception" }, FF = { "1", "[object Text]" }, - IE = "exception") + IE = "exception", + IE10 = { "0", "exception" }) // TODO [IE10]MODALPANEL real IE10 opens a modal panel which webdriver cannot handle public void designMode_selectionRange_text() throws Exception { designMode_selectionRange("hello"); @@ -1384,7 +1386,7 @@ @Test @Alerts(FF = {"", "", "#0000aa", "#0000aa", "x", "x" }, IE = {"#0000ff", "", "#0000aa", "#0000aa", "#000000", "#000000" }, -// IE9 = {"#0000ff", "", "#0000aa", "#0000aa", "#000000", "#0" }, + IE9 = {"#0000ff", "", "#0000aa", "#0000aa", "#000000", "#0" }, IE10 = {"#0000ff", "", "#0000aa", "#0000aa", "#000000", "#0" }) public void alinkColor() throws Exception { final String html = @@ -1415,7 +1417,7 @@ @Test @Alerts(FF = {"", "", "#0000aa", "#0000aa", "x", "x" }, IE = {"#0000ff", "", "#0000aa", "#0000aa", "#000000", "#000000" }, -// IE9 = {"#0000ff", "", "#0000aa", "#0000aa", "#000000", "#0" }, + IE9 = {"#0000ff", "", "#0000aa", "#0000aa", "#000000", "#0" }, IE10 = {"#0000ff", "", "#0000aa", "#0000aa", "#000000", "#0" }) public void linkColor() throws Exception { final String html = @@ -1446,7 +1448,7 @@ @Test @Alerts(FF17 = {"", "", "#0000aa", "#0000aa", "x", "x" }, IE = {"#800080", "", "#0000aa", "#0000aa", "#000000", "#000000" }, -// IE9 = {"#800080", "", "#0000aa", "#0000aa", "#000000", "#0" }, + IE9 = {"#800080", "", "#0000aa", "#0000aa", "#000000", "#0" }, IE10 = {"#800080", "", "#0000aa", "#0000aa", "#000000", "#0" }) public void vlinkColor() throws Exception { final String html = @@ -1477,7 +1479,7 @@ @Test @Alerts(FF = {"", "", "#0000aa", "#0000aa", "x", "x" }, IE = {"#000000", "", "#0000aa", "#0000aa", "#000000", "#000000" }, -// IE9 = {"#000000", "", "#0000aa", "#0000aa", "#000000", "#0" }, + IE9 = {"#000000", "", "#0000aa", "#0000aa", "#000000", "#0" }, IE10 = {"#000000", "", "#0000aa", "#0000aa", "#000000", "#0" }) public void fgColor() throws Exception { final String html = Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java 2013-10-24 20:24:27 UTC (rev 8682) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFormElementTest.java 2013-10-24 20:25:00 UTC (rev 8683) @@ -207,7 +207,7 @@ @Test @Alerts(DEFAULT = { "myEncoding", "newEncoding", "newEncoding" }, FF17 = { "application/x-www-form-urlencoded", "application/x-www-form-urlencoded", "newEncoding" }, - IE10 = { "application/x-www-form-urlencoded" }) + IE10 = { "application/x-www-form-urlencoded", "exception" }) public void encodingProperty_dummyValues() throws Exception { doTestProperty("encoding", "enctype", "myEncoding", "newEncoding"); } @@ -237,9 +237,11 @@ = "<html><head><title>foo</title><script>\n" + "function doTest(){\n" + " alert(document.forms[0]." + jsProperty + ");\n" - + " document.forms[0]." + jsProperty + "='" + newValue + "';\n" - + " alert(document.forms[0]." + jsProperty + ");\n" - + " alert(document.forms[0].getAttribute('" + htmlProperty + "'));\n" + + " try {\n" + + " document.forms[0]." + jsProperty + "='" + newValue + "';\n" + + " alert(document.forms[0]." + jsProperty + ");\n" + + " alert(document.forms[0].getAttribute('" + htmlProperty + "'));\n" + + " } catch(e) { alert('exception'); }\n" + "}\n" + "</script></head><body onload='doTest()'>\n" + "<p>hello world</p>\n" @@ -251,7 +253,7 @@ final WebDriver wd = loadPageWithAlerts2(html); final WebElement form = wd.findElement(By.xpath("//form")); - if (wd instanceof HtmlUnitDriver) { + if (wd instanceof HtmlUnitDriver && getExpectedAlerts().length >= 3) { // form.getAttribute("enctype") returns form.getAttribute("encoding") with the FF driver. Bug or feature? assertEquals(getExpectedAlerts()[2], form.getAttribute(htmlProperty)); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElementTest.java 2013-10-24 20:24:27 UTC (rev 8682) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElementTest.java 2013-10-24 20:25:00 UTC (rev 8683) @@ -328,8 +328,7 @@ * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = { "number: 300", "number: 200", "number: 1", "number: 1", "number: 1", "number: 1" }, - IE10 = { "number: 300", "number: 200", "number: 28", "number: 30", "number: 1", "number: 1" }) + @Alerts({ "number: 300", "number: 200", "number: 1", "number: 1", "number: 1", "number: 1" }) public void testWidthHeightWithSource() throws Exception { getMockWebConnection().setDefaultResponse(""); @@ -371,8 +370,7 @@ @Test @Alerts(DEFAULT = { "number: 300", "number: 200", "number: 24", "number: 24", "number: 24", "number: 24" }, CHROME = { "number: 300", "number: 200", "number: 18", "number: 20", "number: 18", "number: 20" }, - IE = { "number: 300", "number: 200", "number: 1", "number: 1", "number: 1", "number: 1" }, - IE10 = { "number: 300", "number: 200", "number: 28", "number: 30", "number: 1", "number: 1" }) + IE = { "number: 300", "number: 200", "number: 1", "number: 1", "number: 1", "number: 1" }) public void testWidthHeightInvalidSource() throws Exception { getMockWebConnection().setDefaultResponse(""); |
From: <rb...@us...> - 2013-10-28 12:21:48
|
Revision: 8710 http://sourceforge.net/p/htmlunit/code/8710 Author: rbri Date: 2013-10-28 12:21:42 +0000 (Mon, 28 Oct 2013) Log Message: ----------- add FF24 expectations Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/KeyboardEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSPrimitiveValueTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSValueTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameElement2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHtmlElementTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAngleTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMatrixTest.java Added Paths: ----------- trunk/htmlunit/src/test/resources/libraries/MochiKit/1.4.1/test-Style.FF24.expected.txt Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElement.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElement.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -14,8 +14,13 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.html; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; + import com.gargoylesoftware.htmlunit.html.HtmlEmbed; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter; +import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; /** * A JavaScript object for {@link HtmlEmbed}. @@ -28,6 +33,60 @@ public class HTMLEmbedElement extends HTMLElement { /** + * Returns the value of the "align" property. + * @return the value of the "align" property + */ + @JsxGetter(@WebBrowser(value = FF, minVersion = 17)) + public String getAlign() { + return getAlign(true); + } + + /** + * Sets the value of the "align" property. + * @param align the value of the "align" property + */ + @JsxSetter(@WebBrowser(value = FF, minVersion = 17)) + public void setAlign(final String align) { + setAlign(align, false); + } + + /** + * Returns the value of the "height" property. + * @return the value of the "height" property + */ + @JsxGetter(propertyName = "height") + public String getHeightString() { + return getDomNodeOrDie().getAttribute("height"); + } + + /** + * Sets the value of the "height" property. + * @param height the value of the "height" property + */ + @JsxSetter(propertyName = "height") + public void setHeightString(final String height) { + getDomNodeOrDie().setAttribute("height", height); + } + + /** + * Returns the value of the "width" property. + * @return the value of the "width" property + */ + @JsxGetter(propertyName = "width") + public String getWidthString() { + return getDomNodeOrDie().getAttribute("width"); + } + + /** + * Sets the value of the "width" property. + * @param width the value of the "width" property + */ + @JsxSetter(propertyName = "width") + public void setWidthString(final String width) { + getDomNodeOrDie().setAttribute("width", width); + } + + /** * {@inheritDoc} */ @Override Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -33,6 +33,7 @@ import org.apache.commons.fileupload.FileUploadBase; import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; +import org.apache.commons.lang3.StringUtils; import org.junit.Test; import org.junit.runner.RunWith; import org.openqa.selenium.By; @@ -234,17 +235,24 @@ driver.findElement(By.name("myInput")).sendKeys(path); driver.findElement(By.id("mySubmit")).click(); + String pageSource = driver.getPageSource(); + // hack for selenium + int count = 0; + while (count < 100 && StringUtils.isEmpty(pageSource)) { + pageSource = driver.getPageSource(); + count++; + } + if (getBrowserVersion().isIE() && BrowserVersion.INTERNET_EXPLORER_10 != getBrowserVersion()) { final Pattern pattern = Pattern .compile("Content-Disposition: form-data; name=\"myInput\";" + " filename=\".*test-classes[\\\\/]realm\\.properties\""); - final Matcher matcher = pattern.matcher(driver.getPageSource()); + final Matcher matcher = pattern.matcher(pageSource); assertTrue(matcher.find()); return; } - // all other browsers - assertTrue(driver.getPageSource() + assertTrue(pageSource .contains("Content-Disposition: form-data; name=\"myInput\"; filename=\"realm.properties\"")); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -173,6 +173,9 @@ @Test @Alerts(FF = { "[object Window]", "[object Window]", "true", "[object HTMLDocument]", "[object HTMLDocument]", "true", "function" }, + FF24 = { "[object Window]", "[object Window]", "true", + "function HTMLDocument() {\n [native code]\n}", + "function HTMLDocument() {\n [native code]\n}", "true", "function" }, IE = { "undefined", "exception", "undefined", "exception", "function" }, IE10 = { "[object Window]", "[object Window]", "true", "[object Document]", "exception", "function" }) Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -769,6 +769,12 @@ */ @Test @Alerts(DEFAULT = { "prototype found", "" }, + FF24 = { "prototype found", + "ELEMENT_NODEATTRIBUTE_NODETEXT_NODECDATA_SECTION_NODEENTITY_REFERENCE_" + + "NODEENTITY_NODEPROCESSING_INSTRUCTION_NODECOMMENT_NODEDOCUMENT_NODEDOCUMENT_" + + "TYPE_NODEDOCUMENT_FRAGMENT_NODENOTATION_NODEDOCUMENT_POSITION_DISCONNECTEDDOCUMENT_" + + "POSITION_PRECEDINGDOCUMENT_POSITION_FOLLOWINGDOCUMENT_POSITION_" + + "CONTAINSDOCUMENT_POSITION_CONTAINED_BYDOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" }, IE8 = "exception occured") public void enumeratedProperties() throws Exception { final String html Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/KeyboardEventTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/KeyboardEventTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/KeyboardEventTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -148,7 +148,21 @@ "keydown:13,0,13", "keypress:13,0,13", "keyup:13,0,13" }, - IE = { "keydown:65,undefined,undefined", + FF24 = { "keydown:16,0,16", + "keydown:65,0,65", + "keypress:0,65,65", + "keyup:65,0,65", + "keyup:16,0,16", + "keydown:65,0,65", + "keypress:0,97,97", + "keyup:65,0,65", + "keydown:190,0,190", + "keypress:0,46,46", + "keyup:190,0,190", + "keydown:13,0,13", + "keypress:13,0,13", + "keyup:13,0,13" }, + IE = { "keydown:65,undefined,undefined", "keypress:65,undefined,undefined", "keyup:65,undefined,undefined", "keydown:65,undefined,undefined", Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Location2Test.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -446,6 +446,8 @@ * @throws Exception if the test fails */ @Test + @Alerts(DEFAULT = {"", "foo3.html", "foo2.html" }, + FF24 = {"", "foo2.html" }) public void onlick_set_location() throws Exception { final String html = "<html><head></head>\n" @@ -454,11 +456,10 @@ + "</body></html>"; getMockWebConnection().setDefaultResponse(""); - final WebDriver driver = loadPageWithAlerts2(html); + final WebDriver driver = loadPage2(html); driver.findElement(By.tagName("a")).click(); - final String[] expectedRequests = {"", "foo3.html", "foo2.html"}; - assertEquals(expectedRequests, getMockWebConnection().getRequestedUrls(getDefaultUrl())); + assertEquals(getExpectedAlerts(), getMockWebConnection().getRequestedUrls(getDefaultUrl())); assertEquals(new URL(getDefaultUrl(), "foo2.html").toString(), driver.getCurrentUrl()); } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -253,6 +253,7 @@ */ @Test @Alerts(DEFAULT = { "[object Node]", "[object Element]" }, + FF24 = { "function Node() {\n [native code]\n}", "function Element() {\n [native code]\n}" }, IE8 = { "undefined", "undefined" }) public void windowProperties() throws Exception { final String html = "<html><head><title>foo</title><script>\n" @@ -560,6 +561,8 @@ @Test @Alerts(FF = { "[object Window]", "[object Window] (true)", "exception", "null (true)", "null (false)", "null (false)", "null (false)", "null (false)" }, + FF24 = { "[object Window]", "[object Window] (true)", "1234 (true)", "null (true)", "undefined (true)", + "[object Window] (true)", "[object Window] (true)", "[object Window] (true)" }, IE = { "[object]", "[object] (true)", "1234 (true)", "null (true)", "undefined (true)", "[object] (true)", "[object] (true)", "[object] (true)" }, IE10 = { "[object Window]", "[object Window] (true)", "exception", "null (true)", "undefined (true)", @@ -646,6 +649,7 @@ */ @Test @Alerts(DEFAULT = { "605", "1256", "705", "1256" }, + FF24 = { "657", "1264", "641", "1248" }, IE10 = { "705", "1256", "688", "1239" }) public void changeHeightsAndWidths() throws Exception { final String html @@ -676,6 +680,7 @@ */ @Test @Alerts(FF = { "0,0", "100,200", "110,230", "0,0", "0,95", "0,0", "0,1210" }, + FF24 = { "0,0", "100,200", "110,230", "0,0", "0,95", "0,0", "0,1206" }, IE = { "0,0", "100,200", "110,230", "0,0", "no scrollByLines()", "0,0", "no scrollByPages()" }) public void scrolling1() throws Exception { scrolling(true); @@ -781,6 +786,7 @@ */ @Test @Alerts(FF = { "0", "82", "23" }, + FF24 = { "8", "91", "0" }, IE = { "undefined", "undefined", "undefined" }) public void mozInnerScreenX() throws Exception { final String html Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -65,7 +65,7 @@ * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "Immortality", IE = { }) + @Alerts(DEFAULT = { }, FF17 = "Immortality") public void namespacesWithNodeInArray() throws Exception { final String html = "<html><head><title>foo</title><script>\n" + " var xml = " @@ -96,7 +96,7 @@ * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "Immortality", IE = { }) + @Alerts(DEFAULT = { }, FF17 = "Immortality") public void namespacesWithCustomNSResolver() throws Exception { final String html = "<html><head><title>foo</title><script>\n" + " function nsResolver(prefix) {" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSPrimitiveValueTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSPrimitiveValueTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSPrimitiveValueTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -38,6 +38,8 @@ */ @Test @Alerts(FF = { "[object CSSPrimitiveValue]", "012345678910111213141516171819202122232425" }, + FF24 = { "function CSSPrimitiveValue() {\n [native code]\n}", + "012345678910111213141516171819202122232425" }, IE = { "exception" }) public void test() throws Exception { final String html = "<html><head><title>First</title>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSValueTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSValueTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSValueTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -35,6 +35,7 @@ */ @Test @Alerts(FF = { "[object CSSValue]", "0123" }, + FF24 = { "function CSSValue() {\n [native code]\n}", "0123" }, IE = { "exception" }) public void test() throws Exception { final String html = "<html><head><title>First</title>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -15,6 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript.host.css; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF24; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE10; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; @@ -170,7 +171,7 @@ * @throws Exception if the test fails */ @Test - @Browsers(IE) + @Browsers({ IE, FF24 }) @Alerts(IE = { "0", "number" }, IE10 = { "auto", "string" }) public void zIndex() throws Exception { @@ -1027,6 +1028,7 @@ */ @Test @Alerts(FF = { "1256px", "auto" }, + FF24 = { "1248px", "auto" }, IE = { "auto", "auto" }, IE10 = { "1240px", "auto" }) public void computedWidthOfHiddenElements() throws Exception { Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLCollectionTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -105,6 +105,8 @@ */ @Test @Alerts(FF = { "string 0", "string item", "string iterator", "string length", "string namedItem" }, + FF24 = { "string 0", "string item", "string iterator", "string length", + "string myForm", "string namedItem" }, IE = { "string length", "string myForm" }, IE10 = { "string item", "string length", "string myForm", "string namedItem" }) @NotYetImplemented(FF17) @@ -133,9 +135,11 @@ */ @Test @Alerts(FF = { "string 0", "string 1", "string 2", "string 3", "string 4", "string 5", - "string item", "string length", "string namedItem" }, - FF17 = { "string 0", "string 1", "string 2", "string 3", "string 4", "string 5", "string item", "string iterator", "string length", "string namedItem" }, + FF24 = { "string 0", "string 1", "string 2", "string 3", "string 4", "string 5", + "string action", "string first_submit", "string id1", "string input_disabled", + "string item", "string iterator", "string length", "string namedItem", "string second_submit", + "string val1", "string val2" }, IE = { "string 1", "string action", "string first_submit", "string length", "string second_submit", "string val1", "string val2" }, IE10 = { "string 1", "string action", "string first_submit", "string item", Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameElement2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameElement2Test.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLFrameElement2Test.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -134,6 +134,7 @@ */ @Test @Alerts(DEFAULT = { "function handler() {\n}", "null" }, + FF24 = { "function handler() {}", "null" }, IE10 = { "function handler() {}", "null" }) public void testOnloadNull() throws Exception { final String html = Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHtmlElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHtmlElementTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLHtmlElementTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -63,6 +63,7 @@ */ @Test @Alerts(DEFAULT = { "[object HTMLHtmlElement]", "[object HTMLHtmlElement]" }, + FF24 = { "[object HTMLHtmlElement]", "function HTMLHtmlElement() {\n [native code]\n}" }, IE8 = { "[object]", "exception" }) public void HTMLHtmlElement_toString() throws Exception { final String html = "<html id='myId'><head><title>foo</title><script>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAngleTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAngleTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAngleTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -36,6 +36,7 @@ */ @Test @Alerts(DEFAULT = { "[object SVGAngle]", "0", "1", "2", "3", "4" }, + FF24 = { "function SVGAngle() {\n [native code]\n}", "0", "1", "2", "3", "4" }, IE8 = "undefined") public void simpleScriptable() throws Exception { final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMatrixTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMatrixTest.java 2013-10-28 11:13:30 UTC (rev 8709) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/svg/SvgMatrixTest.java 2013-10-28 12:21:42 UTC (rev 8710) @@ -37,6 +37,7 @@ */ @Test @Alerts(DEFAULT = "[object SVGMatrix]", + FF24 = "function SVGMatrix() {\n [native code]\n}", IE = "undefined") public void simpleScriptable() throws Exception { final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ Added: trunk/htmlunit/src/test/resources/libraries/MochiKit/1.4.1/test-Style.FF24.expected.txt =================================================================== --- trunk/htmlunit/src/test/resources/libraries/MochiKit/1.4.1/test-Style.FF24.expected.txt (rev 0) +++ trunk/htmlunit/src/test/resources/libraries/MochiKit/1.4.1/test-Style.FF24.expected.txt 2013-10-28 12:21:42 UTC (rev 8710) @@ -0,0 +1,61 @@ +Passed: 59 +Failed: 6 +ok - initial x position +ok - initial y position +ok - x position with offsetParent border +ok - y position with offsetParent border +ok - updated x position +ok - updated y position +ok - updated x position (using relativeTo parameter) +ok - updated y position (using relativeTo parameter) +ok - passthrough x position +ok - passthrough y position +ok - passthrough x position (using relativeTo parameter) +ok - passthrough y position (using relativeTo parameter) +ok - invalid element should return an undefined position +ok - updated only x position +ok - not updated y position +ok - test getStyle selector case +ok - test getStyle camel case +ok - test computed getStyle selector case +ok - test computed getStyle camel case +ok - test getStyle opacity +ok - test getOpacity +ok - test setOpacity +ok - test setOpacity +ok - test setOpacity +ok - getStyle of float +ok - getStyle of cssFloat +ok - getStyle of styleFloat +ok - getStyle of float when unset +ok - setStyle of CSS float +ok - setStyle of CSS cssFloat +ok - setStyle of CSS styleFloat +ok - getElementDimensions w ok +ok - getElementDimensions h ok +ok - getElementDimensions content w ok +ok - getElementDimensions content h ok +ok - setElementDimensions w ok +ok - setElementDimensions h ok +ok - setElementDimensions only w ok +ok - setElementDimensions h not updated ok +ok - getElementDimensions w ok when display none +ok - getElementDimensions h ok when display none +ok - getElementDimensions w ok when CSS display none +ok - getElementDimensions h ok when CSS display none +ok - getElementDimensions modified element display +ok - test getViewportDimensions w +ok - test getViewportDimensions h +ok - test getViewportPosition x +ok - test getViewportPosition y +ok - default left table cell content w ok +ok - default middle table cell content w ok +ok - default right table cell content w ok +ok - collapsed left table cell content w ok +ok - collapsed middle table cell content w ok +ok - collapsed right table cell content w ok +ok - make clipping on overflow-x +ok - make clipping on overflow-y +ok - undo clipping on overflow-x +ok - undo clipping on overflow-y +ok - test suite finished! \ No newline at end of file Property changes on: trunk/htmlunit/src/test/resources/libraries/MochiKit/1.4.1/test-Style.FF24.expected.txt ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property |
From: <rb...@us...> - 2013-10-28 17:13:23
|
Revision: 8711 http://sourceforge.net/p/htmlunit/code/8711 Author: rbri Date: 2013-10-28 17:13:18 +0000 (Mon, 28 Oct 2013) Log Message: ----------- improved embed Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElementTest.java Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2013-10-28 12:21:42 UTC (rev 8710) +++ trunk/htmlunit/src/changes/changes.xml 2013-10-28 17:13:18 UTC (rev 8711) @@ -8,6 +8,9 @@ <body> <release version="2.14" date="???" description="Bugfixes"> + <action type="add" dev="rbri"> + JavaScript: Embed now supports the width and hight property. + </action> <action type="fix" dev="rbri" issue="1551"> JavaScript: send the correct Referer header when changing the location property. </action> Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElementTest.java 2013-10-28 12:21:42 UTC (rev 8710) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLEmbedElementTest.java 2013-10-28 17:13:18 UTC (rev 8711) @@ -15,6 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript.host.html; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; import org.junit.Test; @@ -110,4 +111,118 @@ + "</body></html>"; loadPageWithAlerts2(html); } + + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts(DEFAULT = { "10px", "20em", "80%", "40", "wrong", "" }, + IE = { "10", "20", "80%", "40", "1", "" }) + @NotYetImplemented(IE) + public void getHeight() throws Exception { + final String html + = "<html><body>\n" + + " <embed id='e1' height='10px' ></embed>\n" + + " <embed id='e2' height='20em' ></embed>\n" + + " <embed id='e3' height='80%' ></embed>\n" + + " <embed id='e4' height='40' ></embed>\n" + + " <embed id='e5' height='wrong' ></embed>\n" + + " <embed id='e6' ></embed>\n" + + + "<script>\n" + + " for (i=1; i<=6; i++) {\n" + + " alert(document.getElementById('e'+i).height);\n" + + " };\n" + + "</script>\n" + + "</body></html>"; + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts(DEFAULT = { "20px", "8", "foo" }, + IE = { "20", "8", "error", "8" }) + @NotYetImplemented(IE) + public void setHeight() throws Exception { + final String html + = "<html><body>\n" + + " <embed id='e1' height='10px' ></embed>\n" + + + "<script>\n" + + " function setHeight(elem, value) {\n" + + " try {\n" + + " elem.height = value;\n" + + " } catch (e) { alert('error'); }\n" + + " alert(elem.height);\n" + + " }\n" + + + " var elem = document.getElementById('e1');\n" + + " setHeight(elem, '20px');\n" + + + " setHeight(elem, '8');\n" + + " setHeight(elem, 'foo');\n" + + + "</script>\n" + + "</body></html>"; + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts(DEFAULT = { "10px", "20em", "80%", "40", "wrong", "" }, + IE = { "10", "20", "80%", "40", "1", "" }) + @NotYetImplemented(IE) + public void getWidth() throws Exception { + final String html + = "<html><body>\n" + + " <embed id='e1' width='10px' ></embed>\n" + + " <embed id='e2' width='20em' ></embed>\n" + + " <embed id='e3' width='80%' ></embed>\n" + + " <embed id='e4' width='40' ></embed>\n" + + " <embed id='e5' width='wrong' ></embed>\n" + + " <embed id='e6' ></embed>\n" + + + "<script>\n" + + " for (i=1; i<=6; i++) {\n" + + " alert(document.getElementById('e'+i).width);\n" + + " };\n" + + "</script>\n" + + "</body></html>"; + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts(DEFAULT = { "20px", "8", "foo" }, + IE = { "20", "8", "error", "8" }) + @NotYetImplemented(IE) + public void setWidth() throws Exception { + final String html + = "<html><body>\n" + + " <embed id='e1' width='10px' ></embed>\n" + + + "<script>\n" + + " function setWidth(elem, value) {\n" + + " try {\n" + + " elem.width = value;\n" + + " } catch (e) { alert('error'); }\n" + + " alert(elem.width);\n" + + " }\n" + + + " var elem = document.getElementById('e1');\n" + + " setWidth(elem, '20px');\n" + + + " setWidth(elem, '8');\n" + + " setWidth(elem, 'foo');\n" + + + "</script>\n" + + "</body></html>"; + loadPageWithAlerts2(html); + } } |
From: <rb...@us...> - 2013-10-30 20:18:52
|
Revision: 8716 http://sourceforge.net/p/htmlunit/code/8716 Author: rbri Date: 2013-10-30 20:18:48 +0000 (Wed, 30 Oct 2013) Log Message: ----------- HTMLElement.insertAdjacentHTML() is available in FF since version 8 Modified Paths: -------------- trunk/htmlunit/src/changes/changes.xml trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserListenerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement3Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java Modified: trunk/htmlunit/src/changes/changes.xml =================================================================== --- trunk/htmlunit/src/changes/changes.xml 2013-10-30 19:38:15 UTC (rev 8715) +++ trunk/htmlunit/src/changes/changes.xml 2013-10-30 20:18:48 UTC (rev 8716) @@ -8,8 +8,11 @@ <body> <release version="2.14" date="???" description="Bugfixes"> + <action type="fix" dev="rbri"> + JavaScript: HTMLElement.insertAdjacentHTML() is available in FF since version 8. + </action> <action type="add" dev="rbri"> - JavaScript: Embed now supports the width and hight property. + JavaScript: Embed now supports the width and height property. </action> <action type="fix" dev="rbri" issue="1551"> JavaScript: send the correct Referer header when changing the location property. Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2013-10-30 19:38:15 UTC (rev 8715) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement.java 2013-10-30 20:18:48 UTC (rev 8716) @@ -1209,7 +1209,7 @@ * beforeBegin, afterBegin, beforeEnd, afterEnd * @param text the HTML text to insert */ - @JsxFunction(@WebBrowser(IE)) + @JsxFunction({ @WebBrowser(IE), @WebBrowser(CHROME), @WebBrowser(value = FF, minVersion = 8) }) public void insertAdjacentHTML(final String where, final String text) { final Object[] values = getInsertAdjacentLocation(where); final DomNode node = (DomNode) values[0]; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserListenerTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserListenerTest.java 2013-10-30 19:38:15 UTC (rev 8715) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserListenerTest.java 2013-10-30 20:18:48 UTC (rev 8716) @@ -14,8 +14,6 @@ */ package com.gargoylesoftware.htmlunit.html; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; - import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -26,7 +24,6 @@ import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; -import com.gargoylesoftware.htmlunit.BrowserRunner.Browsers; import com.gargoylesoftware.htmlunit.MockWebConnection; import com.gargoylesoftware.htmlunit.SimpleWebTestCase; import com.gargoylesoftware.htmlunit.WebClient; @@ -177,7 +174,6 @@ * @exception Exception If the test fails */ @Test - @Browsers(IE) public void parseFragment() throws Exception { final String html = "<html><head><title>foo</title>\n" + "<script>\n" Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement3Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement3Test.java 2013-10-30 19:38:15 UTC (rev 8715) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElement3Test.java 2013-10-30 20:18:48 UTC (rev 8716) @@ -133,55 +133,7 @@ * @throws Exception if the test fails */ @Test - @Browsers(IE) @Alerts({ "outside", "1", "middle", "2", "3", "4" }) - public void insertAdjacentHTML() throws Exception { - insertAdjacentHTML("beforeEnd", "afterEnd", "beforeBegin", "afterBegin"); - insertAdjacentHTML("BeforeEnd", "AfterEnd", "BeFoReBeGiN", "afterbegin"); - } - - /** - * @param beforeEnd data to insert - * @param afterEnd data to insert - * @param beforeBegin data to insert - * @param afterBegin data to insert - * @throws Exception if the test fails - */ - private void insertAdjacentHTML(final String beforeEnd, - final String afterEnd, final String beforeBegin, final String afterBegin) throws Exception { - final String html = "<html><head><title>First</title>\n" - + "<script>\n" - + "function test() {\n" - + " var oNode = document.getElementById('middle');\n" - + " oNode.insertAdjacentHTML('" + beforeEnd + "', ' <span id=3>before end</span> ');\n" - + " oNode.insertAdjacentHTML('" + afterEnd + "', ' <span id=4>after end</span> ');\n" - + " oNode.insertAdjacentHTML('" + beforeBegin + "', ' <span id=1>before begin</span> ');\n" - + " oNode.insertAdjacentHTML('" + afterBegin + "', ' <span id=2>after begin</span> ');\n" - + " var coll = document.getElementsByTagName('SPAN');\n" - + " for (var i=0; i<coll.length; i++) {\n" - + " alert(coll[i].id);\n" - + " }\n" - + "}\n" - + "</script>\n" - + "</head>\n" - + "<body onload='test()'>\n" - + "<span id='outside' style='color: #00ff00'>\n" - + "<span id='middle' style='color: #ff0000'>\n" - + "inside\n" - + "</span>\n" - + "</span>\n" - + "</body></html>"; - final HtmlPage page = loadPageWithAlerts(html); - final HtmlElement elt = page.getHtmlElementById("outside"); - assertEquals("before begin after begin inside before end after end", elt.asText()); - } - - /** - * @throws Exception if the test fails - */ - @Test - @Browsers(IE) - @Alerts({ "outside", "1", "middle", "2", "3", "4" }) public void insertAdjacentElement() throws Exception { insertAdjacentElement("beforeEnd", "afterEnd", "beforeBegin", "afterBegin"); insertAdjacentElement("BeforeEnd", "AfterEnd", "BeFoReBeGiN", "afterbegin"); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2013-10-30 19:38:15 UTC (rev 8715) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2013-10-30 20:18:48 UTC (rev 8716) @@ -4233,4 +4233,55 @@ loadPageWithAlerts2(html); } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts({ "outside", "1", "middle", "2", "3", "4", + "before begin after begin inside before end after end" }) + public void insertAdjacentHTML() throws Exception { + insertAdjacentHTML("beforeEnd", "afterEnd", "beforeBegin", "afterBegin"); + insertAdjacentHTML("BeforeEnd", "AfterEnd", "BeFoReBeGiN", "afterbegin"); + } + + /** + * @param beforeEnd data to insert + * @param afterEnd data to insert + * @param beforeBegin data to insert + * @param afterBegin data to insert + * @throws Exception if the test fails + */ + private void insertAdjacentHTML(final String beforeEnd, + final String afterEnd, final String beforeBegin, final String afterBegin) throws Exception { + final String html = "<html><head><title>First</title>\n" + + "<script>\n" + + "function test() {\n" + + " var oNode = document.getElementById('middle');\n" + + " oNode.insertAdjacentHTML('" + beforeEnd + "', ' <span id=3>before end</span> ');\n" + + " oNode.insertAdjacentHTML('" + afterEnd + "', ' <span id=4>after end</span> ');\n" + + " oNode.insertAdjacentHTML('" + beforeBegin + "', ' <span id=1>before begin</span> ');\n" + + " oNode.insertAdjacentHTML('" + afterBegin + "', ' <span id=2>after begin</span> ');\n" + + " var coll = document.getElementsByTagName('SPAN');\n" + + " for (var i=0; i<coll.length; i++) {\n" + + " alert(coll[i].id);\n" + + " }\n" + + " var outside = document.getElementById('outside');\n" + + " var text = outside.textContent ? outside.textContent : outside.innerText;\n" + + " text = text.replace(/(\\r\\n|\\r|\\n)/gm, '');\n" + + " text = text.replace(/(\\s{2,})/g, ' ');\n" + + " text = text.replace(/^\\s+|\\s+$/g, '');\n" + + " alert(text);\n" + + "}\n" + + "</script>\n" + + "</head>\n" + + "<body onload='test()'>\n" + + " <span id='outside' style='color: #00ff00'>\n" + + " <span id='middle' style='color: #ff0000'>\n" + + " inside\n" + + " </span>\n" + + " </span>\n" + + "</body></html>"; + loadPageWithAlerts2(html); + } } |
From: <rb...@us...> - 2013-10-31 17:05:18
|
Revision: 8717 http://sourceforge.net/p/htmlunit/code/8717 Author: rbri Date: 2013-10-31 17:05:15 +0000 (Thu, 31 Oct 2013) Log Message: ----------- fix browser language and buildID for FF17 and FF24 Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Navigator.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NavigatorTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-30 20:18:48 UTC (rev 8716) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java 2013-10-31 17:05:15 UTC (rev 8717) @@ -74,6 +74,7 @@ private String applicationMinorVersion_ = "0"; private String applicationName_; private String applicationVersion_; + private String buildId_; private String browserLanguage_ = LANGUAGE_ENGLISH_US; private String cpuClass_ = CPU_CLASS_X86; private boolean onLine_ = true; @@ -167,12 +168,16 @@ FIREFOX_17.initDefaultFeatures(); + FIREFOX_17.setBrowserLanguage("en-US"); + FIREFOX_17.buildId_ = "20130805152501"; FIREFOX_17.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); FIREFOX_17.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); FIREFOX_17.setCssAcceptHeader("text/css,*/*;q=0.1"); FIREFOX_24.initDefaultFeatures(); + FIREFOX_24.setBrowserLanguage("en-US"); + FIREFOX_24.buildId_ = "20130910201120"; FIREFOX_24.setHtmlAcceptHeader("text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); FIREFOX_24.setImgAcceptHeader("image/png,image/*;q=0.8,*/*;q=0.5"); FIREFOX_24.setCssAcceptHeader("text/css,*/*;q=0.1"); @@ -644,6 +649,14 @@ return nickname_; } + /** + * Returns the buildId. + * @return the buildId + */ + public String getBuildId() { + return buildId_; + } + @Override public String toString() { return nickname_; @@ -668,6 +681,7 @@ clone.setSystemLanguage(getSystemLanguage()); clone.setUserLanguage(getUserLanguage()); + clone.buildId_ = getBuildId(); clone.htmlAcceptHeader_ = getHtmlAcceptHeader(); clone.imgAcceptHeader_ = getImgAcceptHeader(); clone.cssAcceptHeader_ = getCssAcceptHeader(); Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Navigator.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Navigator.java 2013-10-30 20:18:48 UTC (rev 8716) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Navigator.java 2013-10-31 17:05:15 UTC (rev 8717) @@ -272,14 +272,7 @@ */ @JsxGetter(@WebBrowser(FF)) public String getBuildID() { - final BrowserVersion browser = getBrowserVersion(); - if ("FF17".equals(browser.getNickname())) { - return "20121129151842"; - } - if ("FF3.6".equals(browser.getNickname())) { - return "20120306064154"; - } - return "20120713134347"; + return getBrowserVersion().getBuildId(); } /** Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NavigatorTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NavigatorTest.java 2013-10-30 20:18:48 UTC (rev 8716) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/NavigatorTest.java 2013-10-31 17:05:15 UTC (rev 8717) @@ -222,7 +222,7 @@ */ @Test @Alerts(CHROME = "undefined", - FF = "en-us", + FF = "en-US", IE = "undefined") public void language() throws Exception { final String html @@ -303,7 +303,7 @@ */ @Test @Alerts(DEFAULT = "undefined", - FF17 = "20121129151842", + FF17 = "20130805152501", FF24 = "20130910201120") public void buildID() throws Exception { final String html |
From: <rb...@us...> - 2013-11-02 19:13:51
|
Revision: 8724 http://sourceforge.net/p/htmlunit/code/8724 Author: rbri Date: 2013-11-02 19:13:46 +0000 (Sat, 02 Nov 2013) Log Message: ----------- add ie10 support (wip) [patch from frank danek] Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HTMLParser.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlImage.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlPage.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Event.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/KeyboardEvent.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/MouseEvent.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Navigator.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Node.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/UIEvent.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleSheet.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocument.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAltGlyphElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAnimateElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAnimateMotionElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGAnimateTransformElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGForeignObjectElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGMpathElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGSetElement.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/xml/XMLSerializer.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/svg/SvgElementFactory.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EnumeratorTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/KeyboardEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MouseEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/MutationEventTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Node2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Selection2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TreeWalkerTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclarationTest.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleSheet2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElementTest.java Added Paths: ----------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/svg/SVGViewElement.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -156,6 +156,22 @@ @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME) }) EVENT_DOM_CONTENT_LOADED, + /** Supports DOM level 2 events. */ + @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) + EVENT_DOM_LEVEL_2, + + /** Supports DOM level 3 events. */ + @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) + EVENT_DOM_LEVEL_3, + + /** Supports vendor specific event type 'Events'. */ + @BrowserFeature({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) + EVENT_TYPE_EVENTS, + + /** Supports vendor specific event type 'KeyEvents'. */ + @BrowserFeature({ @WebBrowser(FF) }) + EVENT_TYPE_KEY_EVENTS, + /** Is setting 'focus' and 'blur' events of 'document', triggers the event for the descendants elements. */ @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) EVENT_FOCUS_DOCUMENT_DESCENDANTS, @@ -224,8 +240,12 @@ @BrowserFeature(@WebBrowser(value = IE, maxVersion = 8)) FILEINPUT_EMPTY_DEFAULT_VALUE, + /** For new pages the focus points to the body node. */ + @BrowserFeature(@WebBrowser(value = IE, minVersion = 10)) + FOCUS_BODY_ELEMENT_AT_START, + /** For new pages the focus points to the html root node. */ - @BrowserFeature(@WebBrowser(IE)) + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) FOCUS_HTML_ELEMENT_AT_START, /** Indicates if a form field is directly reachable by its new name once this has been changed. */ @@ -260,11 +280,7 @@ GENERATED_112, /** Was originally .isIE(). */ - @BrowserFeature(@WebBrowser(IE)) - GENERATED_113, - - /** Was originally .isIE(). */ - @BrowserFeature(@WebBrowser(IE)) + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) GENERATED_116, /** Was originally .isIE(). */ @@ -320,10 +336,6 @@ GENERATED_21, /** Was originally .isIE(). */ - @BrowserFeature(@WebBrowser(IE)) - GENERATED_3, - - /** Was originally .isIE(). */ @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) GENERATED_37, @@ -598,6 +610,10 @@ @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME) }) HTMLTEXTAREA_SET_DEFAULT_VALUE_UPDATES_VALUE, + /** Adds CData nodes as Comment elements to the DOM. */ + @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) + HTML_CDATA_AS_COMMENT, + /** Expand shorthand to 6-digit hex color codes. */ @BrowserFeature({ @WebBrowser(value = IE, maxVersion = 8) }) HTML_COLOR_EXPAND_SHORT_HEX, @@ -651,7 +667,7 @@ /** Top scope constants can be assign (and are not... constants). */ - @BrowserFeature({ @WebBrowser(value = FF, maxVersion = 3.6f), @WebBrowser(IE) }) + @BrowserFeature({ @WebBrowser(value = FF, maxVersion = 3.6f), @WebBrowser(value = IE, maxVersion = 9) }) JS_ALLOW_CONST_ASSIGNMENT, /** @@ -663,7 +679,7 @@ /** Indicates that the appendChild call create a DocumentFragment to be * the parentNode's parentNode if this was null. */ - @BrowserFeature(@WebBrowser(IE)) + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) JS_APPEND_CHILD_CREATE_DOCUMENT_FRAGMENT_PARENT, /** Indicates that the appendChild call throws no exception @@ -732,7 +748,7 @@ JS_CLIENT_LEFT_TOP_ZERO, /** Indicates that the cloneNode call copies all event listeners. */ - @BrowserFeature(@WebBrowser(IE)) + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) JS_CLONE_NODE_COPIES_EVENT_LISTENERS, /** Indicates that "constructor" property is defined, e.g. <tt>document.constructor</tt>. */ @@ -784,6 +800,10 @@ @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) JS_DOCUMENT_APPEND_CHILD_SUPPORTED, + /** Document instead of HTMLDocument. */ + @BrowserFeature(@WebBrowser(value = IE, minVersion = 10)) + JS_DOCUMENT_CLASS_NAME, + /** Javascript function document.createElement can process html code. * e.g. document.createElement("<INPUT TYPE='RADIO' NAME='RADIOTEST' VALUE='First Choice'>") * @see "http://msdn.microsoft.com/en-us/library/ms536389%28v=VS.85%29.aspx" @@ -831,7 +851,7 @@ JS_ELEMENT_EXTENT_WITHOUT_PADDING, /** Indicates that 'exception' (technically NativeError) exposes "stack" property. */ - @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME) }) + @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) JS_ERROR_STACK, /** Indicates that "eval" function should have access to the local function scope. */ @@ -851,9 +871,13 @@ JS_EVENT_HANDLER_AS_PROPERTY_DONT_RECEIVE_EVENT, /** Javascript event.keyCode returns undefined instead of zero if the keyCode is not set. */ - @BrowserFeature(@WebBrowser(IE)) + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) JS_EVENT_KEY_CODE_UNDEFINED, + /** Javascript event.keyCode and event.charCode distinguish between printable and not printable keys. */ + @BrowserFeature(@WebBrowser(FF)) + JS_EVENT_DISTINGUISH_PRINTABLE_KEY, + /** Do not send parameter in event handlers. */ @BrowserFeature(@WebBrowser(IE)) JS_EVENT_NO_PARAMETER, @@ -880,7 +904,8 @@ JS_FRAME_RESOLVE_URL_WITH_PARENT_WINDOW, /** Indicates if Function.bind is available. */ - @BrowserFeature({ @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) }) + @BrowserFeature({ @WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME), + @WebBrowser(value = IE, minVersion = 10) }) JS_FUNCTION_BIND, /** @@ -1001,7 +1026,7 @@ * for url 'http://localhost/something/#%C3%BC'.<br> * IE evaluates to #%C3%BC. */ - @BrowserFeature({ @WebBrowser(value = IE, minVersion = 8), @WebBrowser(FF), @WebBrowser(CHROME) }) + @BrowserFeature({ @WebBrowser(value = IE, minVersion = 8, maxVersion = 9), @WebBrowser(FF), @WebBrowser(CHROME) }) JS_LOCATION_HASH_IS_DECODED, /** @@ -1134,9 +1159,13 @@ /** When addressing an item in a stylesheet list, IE throws an exception for all * invalid indexes not only for negative ones like FF does. */ - @BrowserFeature(@WebBrowser(IE)) + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) JS_STYLESHEET_LIST_EXEPTION_FOR_ALL_INVALID_INDEXES, + /** Indicates if style.getAttribute supports a (second) flags argument. */ + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) + JS_STYLE_GET_ATTRIBUTE_SUPPORTS_FLAGS, + /** IE supports accessing unsupported style elements via getter * like val = elem.style.htmlunit;. */ @@ -1232,12 +1261,12 @@ @BrowserFeature({ @WebBrowser(IE) }) JS_WINDOW_FRAMES_ACCESSIBLE_BY_ID, - /** Window property not usable as function. */ - @BrowserFeature(@WebBrowser(IE)) - JS_WINDOW_IS_NOT_A_FUNCTION, + /** Window property usable as function. */ + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) + JS_WINDOW_IS_A_FUNCTION, /** Window.postMessage is synchronouse. */ - @BrowserFeature(@WebBrowser(IE)) + @BrowserFeature(@WebBrowser(value = IE, maxVersion = 9)) JS_WINDOW_POST_MESSAGE_SYNCHRONOUSE, /** Supports XML. */ @@ -1311,8 +1340,8 @@ @BrowserFeature(@WebBrowser(IE)) RESETINPUT_DEFAULT_VALUE_IF_VALUE_NOT_DEFINED, - /** Indicates that escaping in attrubute selectors is supported. */ - @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME) }) + /** Indicates that escaping in attribute selectors is supported. */ + @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) SELECTOR_ATTRIBUTE_ESCAPING, /** @@ -1336,14 +1365,21 @@ STORAGE_OBSOLETE, /** Indicates that string.trim() is supported. */ - @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME) }) + @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) STRING_TRIM, /** Indicates that string.trimLeft() and .trimRight() are supported. */ - @BrowserFeature({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 9), @WebBrowser(CHROME) }) + @BrowserFeature({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 9, maxVersion = 9), @WebBrowser(CHROME) }) STRING_TRIM_LEFT_RIGHT, /** + * Indicates that the href property for a <link rel="stylesheet" type="text/css" href="" /> + * (href empty) is null. + */ + @BrowserFeature(@WebBrowser(value = IE, minVersion = 10)) + STYLESHEET_HREF_EMPTY_IS_NULL, + + /** * Indicates that the href property for a <link rel="stylesheet" type="text/css" href="..." /> * is the fully qualified URL. */ @@ -1366,6 +1402,10 @@ @BrowserFeature({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) SVG, + /** Indicates that unknown tags inside an SVG element are handled as DOM elements, not SVG elements. */ + @BrowserFeature(@WebBrowser(value = IE, minVersion = 10)) + SVG_UNKNOWN_ARE_DOM, + /** Throws an exception if the value for column span is less than one. */ @BrowserFeature(@WebBrowser(IE)) TABLE_COLUMN_SPAN_THROWS_EXCEPTION_IF_LESS_THAN_ONE, Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactory.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -43,6 +43,7 @@ * @author Ahmed Ashour * @author David K. Taylor * @author Ronald Brill + * @author Frank Danek */ class DefaultElementFactory implements ElementFactory { @@ -71,7 +72,7 @@ HtmlHeading6.TAG_NAME, HtmlHead.TAG_NAME, HtmlHorizontalRule.TAG_NAME, HtmlHtml.TAG_NAME, HtmlInlineFrame.TAG_NAME, HtmlInlineQuotation.TAG_NAME, - HtmlImage.TAG_NAME, HtmlInsertedText.TAG_NAME, HtmlIsIndex.TAG_NAME, + HtmlImage.TAG_NAME, HtmlImage.TAG_NAME2, HtmlInsertedText.TAG_NAME, HtmlIsIndex.TAG_NAME, HtmlItalic.TAG_NAME, HtmlKeyboard.TAG_NAME, HtmlLabel.TAG_NAME, HtmlLegend.TAG_NAME, HtmlListing.TAG_NAME, HtmlListItem.TAG_NAME, HtmlLink.TAG_NAME, HtmlMap.TAG_NAME, HtmlMarquee.TAG_NAME, @@ -308,7 +309,7 @@ else if (tagName.equals(HtmlHtml.TAG_NAME)) { element = new HtmlHtml(namespaceURI, qualifiedName, page, attributeMap); } - else if (tagName.equals(HtmlImage.TAG_NAME)) { + else if (tagName.equals(HtmlImage.TAG_NAME) || tagName.equals(HtmlImage.TAG_NAME2)) { element = new HtmlImage(namespaceURI, qualifiedName, page, attributeMap); } else if (tagName.equals(HtmlInlineFrame.TAG_NAME)) { Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HTMLParser.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HTMLParser.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HTMLParser.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -15,7 +15,7 @@ package com.gargoylesoftware.htmlunit.html; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.DOCTYPE_IS_COMMENT; -import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.GENERATED_3; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTML_CDATA_AS_COMMENT; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTMLCONDITIONAL_COMMENTS; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTMLIFRAME_IGNORE_SELFCLOSING; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTMLPARSER_REMOVE_EMPTY_CONTENT; @@ -89,6 +89,7 @@ * @author Ethan Glasser-Camp * @author Sudhan Moghe * @author Ronald Brill + * @author Frank Danek */ public final class HTMLParser { @@ -814,7 +815,7 @@ handleCharacters(); final String data = new String(ch, start, length); if (!data.startsWith("[CDATA") - || !page_.hasFeature(GENERATED_3)) { + || page_.hasFeature(HTML_CDATA_AS_COMMENT)) { final DomComment comment = new DomComment(page_, data); currentNode_.appendChild(comment); } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlImage.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlImage.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlImage.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -47,6 +47,7 @@ * @author Ahmed Ashour * @author <a href="mailto:knu...@gm...">Knut Johannes Dahle</a> * @author Ronald Brill + * @author Frank Danek */ public class HtmlImage extends HtmlElement { @@ -54,6 +55,8 @@ /** The HTML tag represented by this element. */ public static final String TAG_NAME = "img"; + /** Another HTML tag represented by this element. */ + public static final String TAG_NAME2 = "image"; private int lastClickX_; private int lastClickY_; Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlPage.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlPage.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/html/HtmlPage.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -18,6 +18,7 @@ import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.EVENT_DOM_CONTENT_LOADED; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.EVENT_ONLOAD_FRAMESET_FIRST; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.EVENT_ONLOAD_IFRAME_CREATED_BY_JAVASCRIPT; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.FOCUS_BODY_ELEMENT_AT_START; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.FOCUS_HTML_ELEMENT_AT_START; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_DEFERRED; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_FRAME_RESOLVE_URL_WITH_PARENT_WINDOW; @@ -238,6 +239,9 @@ if (browserVersion.hasFeature(FOCUS_HTML_ELEMENT_AT_START)) { elementWithFocus_ = getDocumentElement(); } + else if (browserVersion.hasFeature(FOCUS_BODY_ELEMENT_AT_START)) { + elementWithFocus_ = getBody(); + } setReadyState(READY_STATE_COMPLETE); getDocumentElement().setReadyState(READY_STATE_COMPLETE); } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/configuration/JavaScriptConfiguration.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -268,6 +268,7 @@ import com.gargoylesoftware.htmlunit.javascript.host.svg.SVGTextPathElement; import com.gargoylesoftware.htmlunit.javascript.host.svg.SVGTitleElement; import com.gargoylesoftware.htmlunit.javascript.host.svg.SVGUseElement; +import com.gargoylesoftware.htmlunit.javascript.host.svg.SVGViewElement; import com.gargoylesoftware.htmlunit.javascript.host.xml.XMLAttr; import com.gargoylesoftware.htmlunit.javascript.host.xml.XMLDOMParseError; import com.gargoylesoftware.htmlunit.javascript.host.xml.XMLDocument; @@ -282,6 +283,7 @@ * @author Chris Erskine * @author Ahmed Ashour * @author Ronald Brill + * @author Frank Danek */ public final class JavaScriptConfiguration { @@ -356,7 +358,8 @@ SVGSVGElement.class, SVGScriptElement.class, SVGSetElement.class, SVGStopElement.class, SVGStyleElement.class, SVGSwitchElement.class, SVGSymbolElement.class, SVGTSpanElement.class, SVGTextElement.class, SVGTextPathElement.class, - SVGTitleElement.class, SVGUseElement.class, Screen.class, Selection.class, SimpleArray.class, + SVGTitleElement.class, SVGUseElement.class, SVGViewElement.class, + Screen.class, Selection.class, SimpleArray.class, StaticNodeList.class, Storage.class, StyleSheetList.class, Text.class, TextRange.class, TreeWalker.class, UIEvent.class, Uint16Array.class, Uint32Array.class, Uint8Array.class, Uint8ClampedArray.class, WebSocket.class, Window.class, XMLAttr.class, XMLDocument.class, XMLDOMParseError.class, Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Event.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Event.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Event.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -129,16 +129,20 @@ /** The message event type, triggered by postMessage. */ public static final String TYPE_MESSAGE = "message"; + /** No event phase. */ + @JsxConstant(@WebBrowser(FF)) + public static final short NONE = 0; + /** The first event phase: the capturing phase. */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short CAPTURING_PHASE = 1; /** The second event phase: at the event target. */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short AT_TARGET = 2; /** The third (and final) event phase: the bubbling phase. */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short BUBBLING_PHASE = 3; /** Constant. */ @@ -147,10 +151,6 @@ /** Constant. */ @JsxConstant(@WebBrowser(FF)) - public static final int ALT_MASK = 0x1; - - /** Constant. */ - @JsxConstant(@WebBrowser(FF)) public static final int BACK = 0x20000000; /** Constant. */ @@ -167,10 +167,6 @@ /** Constant. */ @JsxConstant(@WebBrowser(FF)) - public static final int CONTROL_MASK = 0x2; - - /** Constant. */ - @JsxConstant(@WebBrowser(FF)) public static final int DBLCLICK = 0x80; /** Constant. */ @@ -215,10 +211,6 @@ /** Constant. */ @JsxConstant(@WebBrowser(FF)) - public static final int META_MASK = 0x8; - - /** Constant. */ - @JsxConstant(@WebBrowser(FF)) public static final int MOUSEDOWN = 0x1; /** Constant. */ @@ -263,10 +255,6 @@ /** Constant. */ @JsxConstant(@WebBrowser(FF)) - public static final int SHIFT_MASK = 0x4; - - /** Constant. */ - @JsxConstant(@WebBrowser(FF)) public static final int SUBMIT = 0x20000; /** Constant. */ @@ -281,6 +269,22 @@ @JsxConstant(@WebBrowser(FF)) public static final int XFER_DONE = 0x200000; + /** Constant. */ + @JsxConstant(@WebBrowser(FF)) + public static final int ALT_MASK = 0x1; + + /** Constant. */ + @JsxConstant(@WebBrowser(FF)) + public static final int CONTROL_MASK = 0x2; + + /** Constant. */ + @JsxConstant(@WebBrowser(FF)) + public static final int SHIFT_MASK = 0x4; + + /** Constant. */ + @JsxConstant(@WebBrowser(FF)) + public static final int META_MASK = 0x8; + private Object srcElement_; // IE-only writable equivalent of target. private Object target_; // W3C standard read-only equivalent of srcElement. private Object currentTarget_; // Changes during event capturing and bubbling. @@ -295,7 +299,7 @@ private boolean preventDefault_; /** - * The current event phase. This is a W3C standard attribute not implemented by IE. One of + * The current event phase. This is a W3C standard attribute. One of {@link #NONE}, * {@link #CAPTURING_PHASE}, {@link #AT_TARGET} or {@link #BUBBLING_PHASE}. */ private short eventPhase_; @@ -485,7 +489,7 @@ * Returns the key code associated with the event. * @return the key code associated with the event */ - @JsxGetter(@WebBrowser(IE)) + @JsxGetter(@WebBrowser(value = IE, maxVersion = 9)) public Object getKeyCode() { if (keyCode_ == null) { if (getBrowserVersion().hasFeature(JS_EVENT_KEY_CODE_UNDEFINED)) { @@ -499,7 +503,7 @@ /** * @return whether SHIFT has been pressed during this event or not */ - @JsxGetter(@WebBrowser(IE)) + @JsxGetter(@WebBrowser(value = IE, maxVersion = 9)) public boolean getShiftKey() { return shiftKey_; } @@ -514,7 +518,7 @@ /** * @return whether CTRL has been pressed during this event or not */ - @JsxGetter(@WebBrowser(IE)) + @JsxGetter(@WebBrowser(value = IE, maxVersion = 9)) public boolean getCtrlKey() { return ctrlKey_; } @@ -529,7 +533,7 @@ /** * @return whether ALT has been pressed during this event or not */ - @JsxGetter(@WebBrowser(IE)) + @JsxGetter(@WebBrowser(value = IE, maxVersion = 9)) public boolean getAltKey() { return altKey_; } @@ -544,7 +548,7 @@ /** * @return the current event phase for the event */ - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public int getEventPhase() { return eventPhase_; } @@ -579,9 +583,19 @@ } /** + * Returns <tt>true</tt> if both <tt>cancelable</tt> is <tt>true</tt> and <tt>preventDefault()</tt> has been + * called for this event. Otherwise this attribute must return <tt>false</tt>. + * @return <tt>true</tt> if this event has been cancelled or not + */ + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) + public boolean isDefaultPrevented() { + return cancelable_ && preventDefault_; + } + + /** * @return indicates if event propagation is stopped */ - @JsxGetter + @JsxGetter(@WebBrowser(IE)) public boolean getCancelBubble() { return stopPropagation_; } @@ -589,7 +603,7 @@ /** * @param newValue indicates if event propagation is stopped */ - @JsxSetter + @JsxSetter(@WebBrowser(IE)) public void setCancelBubble(final boolean newValue) { stopPropagation_ = newValue; } @@ -597,7 +611,7 @@ /** * Stops the event from propagating. */ - @JsxFunction(@WebBrowser(FF)) + @JsxFunction({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public void stopPropagation() { stopPropagation_ = true; } @@ -614,30 +628,30 @@ * Returns the return value associated with the event. * @return the return value associated with the event */ - @JsxGetter + @JsxGetter(@WebBrowser(value = IE, maxVersion = 9)) public Object getReturnValue() { return returnValue_; } /** + * Sets the return value associated with the event. + * @param returnValue the return value associated with the event + */ + @JsxSetter(@WebBrowser(value = IE, maxVersion = 9)) + public void setReturnValue(final Object returnValue) { + returnValue_ = returnValue; + } + + /** * Returns the property name associated with the event. * @return the property name associated with the event */ - @JsxGetter(@WebBrowser(IE)) + @JsxGetter(@WebBrowser(value = IE, maxVersion = 9)) public String getPropertyName() { return propertyName_; } /** - * Sets the return value associated with the event. - * @param returnValue the return value associated with the event - */ - @JsxSetter - public void setReturnValue(final Object returnValue) { - returnValue_ = returnValue; - } - - /** * Initializes this event. * @param type the event type * @param bubbles whether or not the event should bubble Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/KeyboardEvent.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/KeyboardEvent.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/KeyboardEvent.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -14,7 +14,7 @@ */ package com.gargoylesoftware.htmlunit.javascript.host; -import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.GENERATED_113; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_EVENT_DISTINGUISH_PRINTABLE_KEY; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; @@ -522,24 +522,26 @@ final boolean shiftKey, final boolean ctrlKey, final boolean altKey) { super(domNode, type); int keyCode = 0; - if (getBrowserVersion().hasFeature(GENERATED_113)) { - if (getType().equals(Event.TYPE_KEY_PRESS)) { - keyCode = Integer.valueOf(character); - setKeyCode(keyCode); + + if (!getType().equals(Event.TYPE_KEY_PRESS)) { + keyCode = Integer.valueOf(charToKeyCode(character)); + } + else { + if (getBrowserVersion().hasFeature(JS_EVENT_DISTINGUISH_PRINTABLE_KEY)) { + if (character < 32 || character > 126) { + keyCode = Integer.valueOf(charToKeyCode(character)); + } } else { - keyCode = Integer.valueOf(charToKeyCode(character)); - setKeyCode(keyCode); + keyCode = Integer.valueOf(character); } } - else { - if (getType().equals(Event.TYPE_KEY_PRESS) && character >= 33 && character <= 126) { + setKeyCode(keyCode); + if (getType().equals(Event.TYPE_KEY_PRESS)) { + if ((character >= 33 && character <= 126) + || !getBrowserVersion().hasFeature(JS_EVENT_DISTINGUISH_PRINTABLE_KEY)) { charCode_ = character; } - else { - keyCode = Integer.valueOf(charToKeyCode(character)); - setKeyCode(keyCode); - } } setShiftKey(shiftKey); setCtrlKey(ctrlKey); @@ -621,7 +623,7 @@ * Returns the char code associated with the event. * @return the char code associated with the event */ - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public int getCharCode() { return charCode_; } @@ -665,7 +667,7 @@ * {@inheritDoc} Overridden to modify browser configurations. */ @Override - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public Object getKeyCode() { return super.getKeyCode(); } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/MouseEvent.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/MouseEvent.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/MouseEvent.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -22,6 +22,7 @@ import java.util.LinkedList; import net.sourceforge.htmlunit.corejs.javascript.Context; +import net.sourceforge.htmlunit.corejs.javascript.Undefined; import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; @@ -361,7 +362,7 @@ * {@inheritDoc} Overridden to modify browser configurations. */ @Override - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) public boolean getAltKey() { return super.getAltKey(); } @@ -370,7 +371,7 @@ * {@inheritDoc} Overridden to modify browser configurations. */ @Override - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) public boolean getCtrlKey() { return super.getCtrlKey(); } @@ -379,8 +380,16 @@ * {@inheritDoc} Overridden to modify browser configurations. */ @Override - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) public boolean getShiftKey() { return super.getShiftKey(); } + + /** + * {@inheritDoc} Overridden to modify browser configurations. + */ + @Override + public Object getKeyCode() { + return Undefined.instance; + } } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Navigator.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Navigator.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Navigator.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -36,6 +36,7 @@ * @author Chris Erskine * @author Ahmed Ashour * @author Marc Guillemot + * @author Frank Danek * * @see <a href="http://msdn.microsoft.com/en-us/library/ms535867.aspx">MSDN documentation</a> */ @@ -258,7 +259,7 @@ * Returns the geolocation. * @return the geolocation */ - @JsxGetter({ @WebBrowser(FF), @WebBrowser(CHROME) }) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) public Geolocation getGeolocation() { final Geolocation geolocation = new Geolocation(); geolocation.setPrototype(getPrototype(geolocation.getClass())); Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Node.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Node.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Node.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -88,75 +88,75 @@ private EventListenersContainer eventListenersContainer_; /** @see org.w3c.dom.Node#ELEMENT_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short ELEMENT_NODE = org.w3c.dom.Node.ELEMENT_NODE; /** @see org.w3c.dom.Node#ATTRIBUTE_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short ATTRIBUTE_NODE = org.w3c.dom.Node.ATTRIBUTE_NODE; /** @see org.w3c.dom.Node#TEXT_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short TEXT_NODE = org.w3c.dom.Node.TEXT_NODE; /** @see org.w3c.dom.Node#CDATA_SECTION_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short CDATA_SECTION_NODE = org.w3c.dom.Node.CDATA_SECTION_NODE; /** @see org.w3c.dom.Node#ENTITY_REFERENCE_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short ENTITY_REFERENCE_NODE = org.w3c.dom.Node.ENTITY_REFERENCE_NODE; /** @see org.w3c.dom.Node#ENTITY_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short ENTITY_NODE = org.w3c.dom.Node.ENTITY_NODE; /** @see org.w3c.dom.Node#PROCESSING_INSTRUCTION_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short PROCESSING_INSTRUCTION_NODE = org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE; /** @see org.w3c.dom.Node#COMMENT_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short COMMENT_NODE = org.w3c.dom.Node.COMMENT_NODE; /** @see org.w3c.dom.Node#DOCUMENT_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short DOCUMENT_NODE = org.w3c.dom.Node.DOCUMENT_NODE; /** @see org.w3c.dom.Node#DOCUMENT_TYPE_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short DOCUMENT_TYPE_NODE = org.w3c.dom.Node.DOCUMENT_TYPE_NODE; /** @see org.w3c.dom.Node#DOCUMENT_FRAGMENT_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short DOCUMENT_FRAGMENT_NODE = org.w3c.dom.Node.DOCUMENT_FRAGMENT_NODE; /** @see org.w3c.dom.Node#NOTATION_NODE */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short NOTATION_NODE = org.w3c.dom.Node.NOTATION_NODE; /** @see org.w3c.dom.Node#DOCUMENT_POSITION_DISCONNECTED */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short DOCUMENT_POSITION_DISCONNECTED = org.w3c.dom.Node.DOCUMENT_POSITION_DISCONNECTED; /** @see org.w3c.dom.Node#DOCUMENT_POSITION_PRECEDING */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short DOCUMENT_POSITION_PRECEDING = org.w3c.dom.Node.DOCUMENT_POSITION_PRECEDING; /** @see org.w3c.dom.Node#DOCUMENT_POSITION_FOLLOWING */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short DOCUMENT_POSITION_FOLLOWING = org.w3c.dom.Node.DOCUMENT_POSITION_FOLLOWING; /** @see org.w3c.dom.Node#DOCUMENT_POSITION_CONTAINS */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short DOCUMENT_POSITION_CONTAINS = org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINS; /** @see org.w3c.dom.Node#DOCUMENT_POSITION_CONTAINED_BY */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short DOCUMENT_POSITION_CONTAINED_BY = org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINED_BY; /** @see org.w3c.dom.Node#DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC */ - @JsxConstant(@WebBrowser(FF)) + @JsxConstant({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = org.w3c.dom.Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC; @@ -447,7 +447,7 @@ * * @return whether this node is the same node as the given one */ - @JsxFunction(@WebBrowser(value = FF, maxVersion = 3.6f)) + @JsxFunction({ @WebBrowser(value = FF, maxVersion = 3.6f), @WebBrowser(value = IE, minVersion = 10) }) public boolean isSameNode(final Object other) { return other == this; } @@ -711,7 +711,7 @@ * @see <a href="https://developer.mozilla.org/en-US/docs/DOM/element.removeEventListener">Mozilla * documentation</a> */ - @JsxFunction({ @WebBrowser(FF), @WebBrowser(CHROME) }) + @JsxFunction({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) public void removeEventListener(final String type, final Function listener, final boolean useCapture) { getEventListenersContainer().removeEventListener(type, listener, useCapture); } @@ -964,7 +964,7 @@ * @see <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition">DOM level 3</a> * @see org.w3c.dom.Node#compareDocumentPosition(org.w3c.dom.Node) */ - @JsxFunction(@WebBrowser(FF)) + @JsxFunction({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public short compareDocumentPosition(final Object node) { if (!(node instanceof Node)) { throw Context.reportRuntimeError("Could not convert JavaScript argument arg 0"); @@ -1016,7 +1016,7 @@ * Replace all children elements of this element with the supplied value. * @param value - the new value for the contents of this node */ - @JsxSetter(@WebBrowser(FF)) + @JsxSetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public void setTextContent(final Object value) { getDomNodeOrDie().setTextContent(value == null ? null : Context.toString(value)); } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/UIEvent.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/UIEvent.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/UIEvent.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -15,6 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript.host; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable; @@ -30,6 +31,7 @@ * @version $Revision$ * @author Daniel Gredler * @author Ahmed Ashour + * @author Frank Danek */ @JsxClass public class UIEvent extends Event { @@ -73,7 +75,7 @@ * * @return some detail information about the event, depending on the event type */ - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public long getDetail() { return detail_; } @@ -92,7 +94,7 @@ * * @return the view from which the event was generated */ - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public Object getView() { return getWindow(); } @@ -106,7 +108,7 @@ * @param view the view to use for this event * @param detail the detail to set for the event */ - @JsxFunction(@WebBrowser(FF)) + @JsxFunction({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public void initUIEvent( final String type, final boolean bubbles, @@ -122,7 +124,7 @@ * Returns whether or not the "meta" key was pressed during the event firing. * @return whether or not the "meta" key was pressed during the event firing */ - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public boolean getMetaKey() { return metaKey_; } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -19,7 +19,7 @@ import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_HANDLER_UNDEFINED; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_WINDOW_CHANGE_OPENER_NOT_ALLOWED; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_WINDOW_FRAMES_ACCESSIBLE_BY_ID; -import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_WINDOW_IS_NOT_A_FUNCTION; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_WINDOW_IS_A_FUNCTION; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_WINDOW_POST_MESSAGE_SYNCHRONOUSE; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_XML_SUPPORT_VIA_ACTIVEXOBJECT; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.CHROME; @@ -228,7 +228,7 @@ * @param stringToEncode string to encode * @return the encoded string */ - @JsxFunction(@WebBrowser(FF)) + @JsxFunction({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public String btoa(final String stringToEncode) { return new String(Base64.encodeBase64(stringToEncode.getBytes())); } @@ -238,7 +238,7 @@ * @param encodedData the encoded string * @return the decoded value */ - @JsxFunction(@WebBrowser(FF)) + @JsxFunction({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public String atob(final String encodedData) { return new String(Base64.decodeBase64(encodedData.getBytes())); } @@ -295,7 +295,7 @@ * Returns the application cache. * @return the application cache */ - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public OfflineResourceList getApplicationCache() { return applicationCache_; } @@ -629,7 +629,7 @@ * Prints messages to the console. * @param message the message to log */ - @JsxFunction(@WebBrowser(FF)) + @JsxFunction({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public void dump(final String message) { if (console_ instanceof Console) { Console.log(null, console_, new Object[] {message}, null); @@ -1267,7 +1267,7 @@ * {@inheritDoc} */ public Object call(final Context cx, final Scriptable scope, final Scriptable thisObj, final Object[] args) { - if (!getBrowserVersion().hasFeature(JS_WINDOW_IS_NOT_A_FUNCTION)) { + if (!getBrowserVersion().hasFeature(JS_WINDOW_IS_A_FUNCTION)) { throw Context.reportRuntimeError("Window is not a function."); } if (args.length > 0) { @@ -1286,7 +1286,7 @@ * {@inheritDoc} */ public Scriptable construct(final Context cx, final Scriptable scope, final Object[] args) { - if (!getBrowserVersion().hasFeature(JS_WINDOW_IS_NOT_A_FUNCTION)) { + if (!getBrowserVersion().hasFeature(JS_WINDOW_IS_A_FUNCTION)) { throw Context.reportRuntimeError("Window is not a function."); } return null; @@ -1909,7 +1909,7 @@ * Returns the value of "pageXOffset" property. * @return the value of "pageXOffset" property */ - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public int getPageXOffset() { return 0; } @@ -1918,7 +1918,7 @@ * Returns the value of "pageYOffset" property. * @return the value of "pageYOffset" property */ - @JsxGetter(@WebBrowser(FF)) + @JsxGetter({ @WebBrowser(FF), @WebBrowser(value = IE, minVersion = 10) }) public int getPageYOffset() { return 0; } @@ -2017,7 +2017,7 @@ * @return <tt>false</tt> if at least one of the event handlers which handled the event * called <tt>preventDefault</tt>; <tt>true</tt> otherwise */ - @JsxFunction({ @WebBrowser(FF), @WebBrowser(CHROME) }) + @JsxFunction({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) public boolean dispatchEvent(final Event event) { event.setTarget(this); final ScriptResult result = Node.fireEvent(this, event); @@ -2028,7 +2028,8 @@ * Getter for the onchange event handler. * @return the handler */ - @JsxGetter({@WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) }) + @JsxGetter({@WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME), + @WebBrowser(value = IE, minVersion = 10) }) public Object getOnchange() { return getHandlerForJavaScript(Event.TYPE_CHANGE); } @@ -2037,7 +2038,8 @@ * Setter for the onchange event handler. * @param onchange the handler */ - @JsxSetter({@WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME) }) + @JsxSetter({@WebBrowser(value = FF, minVersion = 10), @WebBrowser(CHROME), + @WebBrowser(value = IE, minVersion = 10) }) public void setOnchange(final Object onchange) { setHandlerForJavaScript(Event.TYPE_CHANGE, onchange); } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -23,6 +23,7 @@ import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.CSS_ZINDEX_UNDEFINED_OR_NULL_THROWS_ERROR; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_GET_BACKGROUND_COLOR_FOR_COMPUTED_STYLE_AS_RGB; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_OPACITY_ACCEPTS_ARBITRARY_VALUES; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_STYLE_GET_ATTRIBUTE_SUPPORTS_FLAGS; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_STYLE_UNSUPPORTED_PROPERTY_GETTER; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.CHROME; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; @@ -4040,7 +4041,7 @@ */ @JsxFunction(@WebBrowser(IE)) public Object getAttribute(final String name, final int flag) { - if (flag == 1) { + if (getBrowserVersion().hasFeature(JS_STYLE_GET_ATTRIBUTE_SUPPORTS_FLAGS) && flag == 1) { // Case-sensitive. return getStyleAttribute(name); } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleSheet.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleSheet.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleSheet.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -17,6 +17,7 @@ import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.CSS_SELECTOR_LANG; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.QUERYSELECTORALL_NOT_IN_QUIRKS; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.SELECTOR_ATTRIBUTE_ESCAPING; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.STYLESHEET_HREF_EMPTY_IS_NULL; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.STYLESHEET_HREF_EXPANDURL; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.STYLESHEET_HREF_STYLE_EMPTY; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.STYLESHEET_HREF_STYLE_NULL; @@ -947,6 +948,9 @@ final HtmlLink link = (HtmlLink) node; final HtmlPage page = (HtmlPage) link.getPage(); final String href = link.getHrefAttribute(); + if ("".equals(href) && version.hasFeature(STYLESHEET_HREF_EMPTY_IS_NULL)) { + return null; + } if (!version.hasFeature(STYLESHEET_HREF_EXPANDURL)) { // Don't expand relative URLs. return href; Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocument.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocument.java 2013-11-02 12:11:17 UTC (rev 8723) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLDocument.java 2013-11-02 19:13:46 UTC (rev 8724) @@ -15,6 +15,10 @@ package com.gargoylesoftware.htmlunit.javascript.host.html; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.DOCTYPE_4_0_TRANSITIONAL_STANDARDS; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.EVENT_DOM_LEVEL_2; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.EVENT_DOM_LEVEL_3; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.EVENT_TYPE_EVENTS; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.EVENT_TYPE_KEY_EVENTS; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.EXECCOMMAND_THROWS_ON_WRONG_COMMAND; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.GENERATED_160; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.GENERATED_161; @@ -28,6 +32,7 @@ import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.HTMLDOCUMENT_COLOR; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_ANCHORS_REQUIRES_NAME_OR_ID; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_DOCUMENT_APPEND_CHILD_SUPPORTED; +import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_DOCUMENT_CLASS_NAME; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_DOCUMENT_CREATE_ELEMENT_EXTENDED_SYNTAX; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_DOCUMENT_DOCTYPE_NULL; import static com.gargoylesoftware.htmlunit.BrowserVersionFeatures.JS_DOCUMENT_DOMAIN_IS_LOWERCASE; @@ -180,7 +185,12 @@ * the static initializer. The map is unmodifiable. Any class that is a value in this map MUST * have a no-arg constructor. */ - private static final Map<String, Class<? extends Event>> SUPPORTED_EVENT_TYPE_MAP; + /** Contains all supported DOM level 2 events. */ + private static final Map<String, Class<? extends Event>> SUPPORTED_DOM2_EVENT_TYPE_MAP; + /** Contains all supported DOM level 3 events. DOM level 2 events are not included. */ + private static final Map<String, Class<? extends Event>> SUPPORTED_DOM3_EVENT_TYPE_MAP; + /** Contains all supported vendor specific events. */ + private static final Map<String, Class<? extends Event>> SUPPORTED_VENDOR_EVENT_TYPE_MAP; // all as lowercase for performance private static final Set<String> EXECUTE_CMDS_IE = new HashSet<String>(); @@ -217,20 +227,26 @@ /** Initializes the supported event type map. */ static { - final Map<String, Class<? extends Event>> eventMap = new HashMap<String, Class<? extends Event>>(); - eventMap.put("Event", Event.class); - eventMap.put("Events", Event.class); - eventMap.put("KeyboardEvent", KeyboardEvent.class); - eventMap.put("KeyEvents", KeyboardEvent.class); - eventMap.put("HTMLEvents", Event.class); - eventMap.put("MouseEvent", MouseEvent.class); - eventMap.put("MouseEvents", MouseEvent.class); - eventMap.put("MutationEvent", MutationEvent.class); - eventMap.put("MutationEvents", MutationEvent.class); - eventMap.put("UIEvent", UIEvent.class); - eventMap.put("UIEvents", UIEvent.class); - SUPPORTED_EVENT_TYPE_MAP = Collections.unmodifiableMap(eventMap); + final Map<String, Class<? extends Event>> dom2EventMap = new HashMap<String, Class<? extends Event>>(); + dom2EventMap.put("HTMLEvents", Event.class); + dom2EventMap.put("MouseEvents", MouseEvent.class); + dom2EventMap.put("MutationEvents", MutationEvent.class); + dom2EventMap.put("UIEvents", UIEvent.class); + SUPPORTED_DOM2_EVENT_TYPE_MAP = Collections.unmodifiableMap(dom2EventMap); + final Map<String, Class<? extends Event>> dom3EventMap = new HashMap<String, Class<? extends Event>>(); + dom3EventMap.put("Event", Event.class); + dom3EventMap.put("KeyboardEvent", KeyboardEvent.class); + dom3EventMap.put("MouseEvent", MouseEvent.class); + dom3EventMap.put("MutationEvent", MutationEvent.class); + dom3EventMap.put("UIEvent", UIEvent.class); + SUPPORTED_DOM3_EVENT_TYPE_MAP = Collections.unmodifiableMap(dom3EventMap); + + final Map<String, Class<? extends Event>> additionalEventMap = new HashMap<String, Class<? extends Event>>(); + additionalEventMap.put("Events", Event.class); + additionalEventMap.put("KeyEvents", KeyboardEvent.class); + SUPPORTED_VENDOR_EVENT_TYPE_MAP = Collections.unmodifiableMap(additionalEventMap); + // commands List<String> cmds = Arrays.asList( "2D-Position", "AbsolutePosition", "BackColor", "BackgroundImageCache" /* Undocumented */, @@ -274,6 +290,19 @@ * {@inheritDoc} */ @Override + public String getClassName() { + if (getWindow().getWebWindow() != null) { + if (getBrowserVersion().hasFeature(JS_DOCUMENT_CLASS_NAME)) { + return "Document"; + } + } + return super.getClassName(); + } + + /** + * {@inheritDoc} + */ + @Override @SuppressWarnings("unchecked") public <N extends DomNode> N getDomNodeOrDie() throws IllegalStateException { try { @@ -1809,8 +1838,20 @@ */ @JsxFunction({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) public Event createEvent(final String eventType) throws DOMException { - final Class<? extends Event> clazz = SUPPORTED_EVENT_TYPE_MAP.get(eventType); + Class<? extends Event> clazz = null; + if (getBrowserVersion().hasFeature(EVENT_DOM_LEVEL_2)) { + clazz = SUPPORTED_DOM2_EVENT_TYPE_MAP.get(eventType); + } + if (clazz == null && getBrowserVersion().hasFeature(EVENT_DOM_LEVEL_3)) { + clazz = SUPPORTED_DOM3_EVENT_TYPE_MAP.get(eventType); + } if (clazz == null) { + if ("Events".equals(eventType) && getBrowserVersion().hasFeature(EVENT_TYPE_EVENTS) + || "KeyEvents".equals(eventType) && getBrowserVersion().hasFeature(EVENT_TYPE_KEY_EVENTS)) { + clazz = SUPPORTED_VENDOR_EVENT_TYPE_MAP.get(eventType); + } + } + if (clazz == null) { Context.throwAsScriptRuntimeEx(new DOMException(DOMException.NOT_SUPPORTED_ERR, "Event Type is not supported: " + eventType)); return null; // to stop eclipse warning @@ -1899,7 +1940,7 @@ * @throws DOMException on attempt to create a TreeWalker with a root that is <code>null</code> * @return a new TreeWalker */ - @JsxFunction({ @WebBrowser(FF), @WebBrowser(CHROME) }) + @JsxFunction({ @WebBrowser(FF), @WebBrowser(CHROME), @WebBrowser(value = IE, minVersion = 10) }) public Object createTreeWalker(final Node root, final double whatToShow, final Scriptable filter, boolean expandEntityReferences) throws DOM... [truncated message content] |
From: <rb...@us...> - 2013-11-03 10:30:03
|
Revision: 8733 http://sourceforge.net/p/htmlunit/code/8733 Author: rbri Date: 2013-11-03 10:29:59 +0000 (Sun, 03 Nov 2013) Log Message: ----------- missing test added Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElement.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElement.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElement.java 2013-11-03 08:52:23 UTC (rev 8732) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLImageElement.java 2013-11-03 10:29:59 UTC (rev 8733) @@ -31,6 +31,7 @@ import com.gargoylesoftware.htmlunit.BrowserVersion; import com.gargoylesoftware.htmlunit.SgmlPage; import com.gargoylesoftware.htmlunit.html.DomElement; +import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.HTMLParser; import com.gargoylesoftware.htmlunit.html.HtmlElement; import com.gargoylesoftware.htmlunit.html.HtmlImage; @@ -68,6 +69,7 @@ NORMALIZED_ALIGN_VALUES.put("texttop", "textTop"); } + private boolean endTagForbidden_ = true; private boolean instantiatedViaJavaScript_ = false; /** @@ -83,6 +85,17 @@ } /** + * {@inheritDoc} + */ + @Override + public void setDomNode(final DomNode domNode) { + super.setDomNode(domNode); + if ("image".equalsIgnoreCase(domNode.getLocalName())) { + endTagForbidden_ = false; + } + } + + /** * Sets the <tt>src</tt> attribute. * @param src the <tt>src</tt> attribute value */ @@ -331,7 +344,7 @@ */ @Override protected boolean isEndTagForbidden() { - return true; + return endTagForbidden_; } /** Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2013-11-03 08:52:23 UTC (rev 8732) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/html/HTMLElementTest.java 2013-11-03 10:29:59 UTC (rev 8733) @@ -3537,6 +3537,18 @@ * @throws Exception if the test fails */ @Test + @Alerts(DEFAULT = "<image></image>", + IE10 = "<img>", + IE8 = "<IMG>") + @NotYetImplemented(IE8) + public void outerHTML_image() throws Exception { + loadPageWithAlerts2(outerHTML("image")); + } + + /** + * @throws Exception if the test fails + */ + @Test @Alerts(DEFAULT = "<img>", IE8 = "<IMG>") public void outerHTML_img() throws Exception { |
From: <rb...@us...> - 2013-11-04 22:27:55
|
Revision: 8738 http://sourceforge.net/p/htmlunit/code/8738 Author: rbri Date: 2013-11-04 22:27:52 +0000 (Mon, 04 Nov 2013) Log Message: ----------- revert some of the last changes for IE10 [patch frank danek] Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Event.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/UIEvent.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Event3Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Event.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Event.java 2013-11-03 16:22:06 UTC (rev 8737) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Event.java 2013-11-04 22:27:52 UTC (rev 8738) @@ -628,7 +628,8 @@ * Returns the return value associated with the event. * @return the return value associated with the event */ - @JsxGetter(@WebBrowser(value = IE, maxVersion = 9)) + //TODO [IE10] returnValue exists only on BeforeUnloadEvent for IE10 and FF17 + @JsxGetter public Object getReturnValue() { return returnValue_; } @@ -637,7 +638,8 @@ * Sets the return value associated with the event. * @param returnValue the return value associated with the event */ - @JsxSetter(@WebBrowser(value = IE, maxVersion = 9)) + @JsxSetter + //TODO [IE10] returnValue exists only on BeforeUnloadEvent for IE10 and FF17 public void setReturnValue(final Object returnValue) { returnValue_ = returnValue; } Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/UIEvent.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/UIEvent.java 2013-11-03 16:22:06 UTC (rev 8737) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/UIEvent.java 2013-11-04 22:27:52 UTC (rev 8738) @@ -22,6 +22,7 @@ import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxFunction; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; +import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter; import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; /** @@ -90,6 +91,22 @@ } /** + * @return indicates if event propagation is stopped + */ + @JsxGetter + public boolean getCancelBubble() { + return super.getCancelBubble(); + } + + /** + * @param newValue indicates if event propagation is stopped + */ + @JsxSetter + public void setCancelBubble(final boolean newValue) { + super.setCancelBubble(newValue); + } + + /** * Returns the view from which the event was generated. In browsers, this is the originating window. * * @return the view from which the event was generated Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-11-03 16:22:06 UTC (rev 8737) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java 2013-11-04 22:27:52 UTC (rev 8738) @@ -796,17 +796,6 @@ @Test @Alerts(DEFAULT = { "3", "2", "2", "3", "2", "3" }, IE8 = { "3", "3", "2", "4", "4", "3" }) - @NotYetImplemented(IE8) - public void childNodes_imgage() throws Exception { - loadPageWithAlerts2(createHtmlForChildNodes("img")); - } - - /** - * @throws Exception if the test fails - */ - @Test - @Alerts(DEFAULT = { "3", "2", "2", "3", "2", "3" }, - IE8 = { "3", "3", "2", "4", "4", "3" }) @NotYetImplemented({ IE8, FF17 }) public void childNodes_image() throws Exception { loadPageWithAlerts2(createHtmlForChildNodes("image")); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Event3Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Event3Test.java 2013-11-03 16:22:06 UTC (rev 8737) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Event3Test.java 2013-11-04 22:27:52 UTC (rev 8738) @@ -16,6 +16,7 @@ import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE10; import static org.junit.Assert.assertNotSame; import static org.junit.Assert.assertSame; @@ -282,7 +283,7 @@ * @throws Exception if the test fails */ @Test - @Browsers(FF) + @Browsers({ FF, IE10 }) public void testFF_StopPropagation() throws Exception { testFF_StopPropagation("stopPropagation()"); testFF_StopPropagation("cancelBubble=true"); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventTest.java 2013-11-03 16:22:06 UTC (rev 8737) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/EventTest.java 2013-11-04 22:27:52 UTC (rev 8738) @@ -387,8 +387,9 @@ * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = { "[object Event]", "false" }, + @Alerts(DEFAULT = { "[object Event]", "true" }, IE8 = { "[object]", "undefined" }) + // TODO [IE10] must be true for IE10 (and FF17) public void testBubbles() throws Exception { final String html = "<html><body onload='test(event)'><script>\n" |
From: <rb...@us...> - 2013-11-07 19:14:06
|
Revision: 8749 http://sourceforge.net/p/htmlunit/code/8749 Author: rbri Date: 2013-11-07 19:14:01 +0000 (Thu, 07 Nov 2013) Log Message: ----------- fix ff17 expectation Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleAttributes.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java trunk/htmlunit/src/test/resources/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.properties.FF17.txt Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2013-11-06 21:51:00 UTC (rev 8748) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/Window.java 2013-11-07 19:14:01 UTC (rev 8749) @@ -1722,7 +1722,7 @@ */ @JsxGetter(@WebBrowser(FF)) public int getMozInnerScreenX() { - return 0; + return 8; } /** @@ -1731,7 +1731,7 @@ */ @JsxGetter(@WebBrowser(FF)) public int getMozInnerScreenY() { - return 82; + return 91; } /** @@ -1740,7 +1740,7 @@ */ @JsxGetter(@WebBrowser(FF)) public int getMozPaintCount() { - return 23; + return 0; } /** Definition of special cases for the smart DomHtmlAttributeChangeListenerImpl **/ Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleAttributes.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleAttributes.java 2013-11-06 21:51:00 UTC (rev 8748) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/css/StyleAttributes.java 2013-11-07 19:14:01 UTC (rev 8749) @@ -355,7 +355,7 @@ /** The style property -moz-perspective-origin. */ MOZ_PERSPECTIVE_ORIGIN("MozPerspectiveOrigin", - "-moz-perspective-origin", ff17up("628px 170px")), + "-moz-perspective-origin", ff17up("624px 171px")), /** The style property -moz-stack-sizing. */ MOZ_STACK_SIZING("MozStackSizing", "-moz-stack-sizing", @@ -392,7 +392,7 @@ /** The style property -moz-transform-origin. */ MOZ_TRANSFORM_ORIGIN("MozTransformOrigin", "-moz-transform-origin", - ffBelow17("50% 50%"), ff("628px 170px")), + ffBelow17("50% 50%"), ff("624px 171px")), /** The style property -moz-transform-style. */ MOZ_TRANSFORM_STYLE("MozTransformStyle", "-moz-transform-style", @@ -958,8 +958,8 @@ LINE_BREAK("lineBreak", "line-break", ie10up("undefined")), /** The style property line-height. */ - LINE_HEIGHT("lineHeight", "line-height", ff17up("19px"), - ffBelow17("20px"), ieBelow10("20px"), ie10up("normal")), + LINE_HEIGHT("lineHeight", "line-height", + ff("20px"), ieBelow10("20px"), ie10up("normal")), /** The style property marker. */ MARKER("marker", "marker", ff17up(""), ie10up("none")), @@ -1005,7 +1005,7 @@ /** The style property perspective-origin. */ PERSPECTIVE_ORIGIN("perspectiveOrigin", "perspective-origin", - ff17up("628px 170px"), ie10up("620px 163.2px")), + ff17up("624px 171px"), ie10up("620px 163.2px")), /** The style property pointer-events. */ POINTER_EVENTS("pointerEvents", "pointer-events", ie10up("visiblePainted")), @@ -1147,7 +1147,7 @@ /** The style property transform-origin. */ TRANSFORM_ORIGIN("transformOrigin", "transform-origin", - ff17up("628px 170px"), ie10up("620px 163.2px")), + ff17up("624px 171px"), ie10up("620px 163.2px")), /** The style property transform-style. */ TRANSFORM_STYLE("transformStyle", "transform-style", ff17up("flat"), ie10up("flat")), Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java 2013-11-06 21:51:00 UTC (rev 8748) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java 2013-11-07 19:14:01 UTC (rev 8749) @@ -785,8 +785,7 @@ * @throws Exception if the test fails */ @Test - @Alerts(FF = { "0", "82", "23" }, - FF24 = { "8", "91", "0" }, + @Alerts(FF = { "8", "91", "0" }, IE = { "undefined", "undefined", "undefined" }) public void mozInnerScreenX() throws Exception { final String html Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java 2013-11-06 21:51:00 UTC (rev 8748) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.java 2013-11-07 19:14:01 UTC (rev 8749) @@ -15,8 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript.host.css; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF24; -import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE10; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE8; @@ -171,9 +170,9 @@ * @throws Exception if the test fails */ @Test - @Browsers({ IE, FF24 }) @Alerts(IE = { "0", "number" }, IE10 = { "auto", "string" }) + @NotYetImplemented(FF17) public void zIndex() throws Exception { final String html = "<html>\n" + "<head>\n" Modified: trunk/htmlunit/src/test/resources/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.properties.FF17.txt =================================================================== --- trunk/htmlunit/src/test/resources/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.properties.FF17.txt 2013-11-06 21:51:00 UTC (rev 8748) +++ trunk/htmlunit/src/test/resources/com/gargoylesoftware/htmlunit/javascript/host/css/ComputedCSSStyleDeclarationTest.properties.FF17.txt 2013-11-07 19:14:01 UTC (rev 8749) @@ -1,260 +1,260 @@ -MozAnimation=: -MozAnimationDelay=:0s -MozAnimationDirection=:normal -MozAnimationDuration=:0s -MozAnimationFillMode=:none -MozAnimationIterationCount=:1 -MozAnimationName=:none -MozAnimationPlayState=:running -MozAnimationTimingFunction=:cubic-bezier(0.25, 0.1, 0.25, 1) -MozAppearance=:none -MozBackfaceVisibility=:visible -MozBackgroundInlinePolicy=:continuous -MozBinding=:none -MozBorderBottomColors=:none -MozBorderEnd=: -MozBorderEndColor=: -MozBorderEndStyle=: -MozBorderEndWidth=: -MozBorderImage=: -MozBorderLeftColors=:none -MozBorderRightColors=:none -MozBorderStart=: -MozBorderStartColor=: -MozBorderStartStyle=: -MozBorderStartWidth=: -MozBorderTopColors=:none -MozBoxAlign=:stretch -MozBoxDirection=:normal -MozBoxFlex=:0 -MozBoxOrdinalGroup=:1 -MozBoxOrient=:horizontal -MozBoxPack=:start -MozBoxSizing=:content-box -MozColumnCount=:auto -MozColumnGap=:16px -MozColumnRule=: -MozColumnRuleColor=:rgb(0, 0, 0) -MozColumnRuleStyle=:none -MozColumnRuleWidth=:0px -MozColumnWidth=:auto -MozColumns=: -MozFloatEdge=:content-box -MozFontFeatureSettings=:normal -MozFontLanguageOverride=:normal -MozForceBrokenImageIcon=:0 -MozHyphens=:manual -MozImageRegion=:auto -MozMarginEnd=: -MozMarginStart=: -MozOrient=:horizontal -MozOutlineRadius=: -MozOutlineRadiusBottomleft=:0px -MozOutlineRadiusBottomright=:0px -MozOutlineRadiusTopleft=:0px -MozOutlineRadiusTopright=:0px -MozPaddingEnd=: -MozPaddingStart=: -MozPerspective=:none -MozPerspectiveOrigin=:628px 170px -MozStackSizing=:stretch-to-fit -MozTabSize=:8 -MozTextAlignLast=:auto -MozTextBlink=:none -MozTextDecorationColor=:rgb(0, 0, 0) -MozTextDecorationLine=:none -MozTextDecorationStyle=:solid -MozTextSizeAdjust=:auto -MozTransform=:none -MozTransformOrigin=:628px 170px -MozTransformStyle=:flat -MozTransition=: -MozTransitionDelay=:0s -MozTransitionDuration=:0s -MozTransitionProperty=:all -MozTransitionTimingFunction=:cubic-bezier(0.25, 0.1, 0.25, 1) -MozUserFocus=:none -MozUserInput=:auto -MozUserModify=:read-only -MozUserSelect=:auto -MozWindowShadow=:default -animation=: -animationDelay=:0s -animationDirection=:normal -animationDuration=:0s -animationFillMode=:none -animationIterationCount=:1 -animationName=:none -animationPlayState=:running -animationTimingFunction=:cubic-bezier(0.25, 0.1, 0.25, 1) -backfaceVisibility=:visible -background=: -backgroundAttachment=:scroll -backgroundClip=:border-box -backgroundColor=:transparent -backgroundImage=:none -backgroundOrigin=:padding-box -backgroundPosition=:0% 0% -backgroundRepeat=:repeat -backgroundSize=:auto auto -border=: -borderBottom=: -borderBottomColor=:rgb(0, 0, 0) -borderBottomLeftRadius=:0px -borderBottomRightRadius=:0px -borderBottomStyle=:none -borderBottomWidth=:0px -borderCollapse=:separate -borderColor=: -borderImage=: -borderImageOutset=:0 0 0 0 -borderImageRepeat=:stretch stretch -borderImageSlice=:100% 100% 100% 100% -borderImageSource=:none -borderImageWidth=:1 1 1 1 -borderLeft=: -borderLeftColor=:rgb(0, 0, 0) -borderLeftStyle=:none -borderLeftWidth=:0px -borderRadius=: -borderRight=: -borderRightColor=:rgb(0, 0, 0) -borderRightStyle=:none -borderRightWidth=:0px -borderSpacing=:0px 0px -borderStyle=: -borderTop=: -borderTopColor=:rgb(0, 0, 0) -borderTopLeftRadius=:0px -borderTopRightRadius=:0px -borderTopStyle=:none -borderTopWidth=:0px -borderWidth=: -bottom=:auto -boxShadow=:none -captionSide=:top -clear=:none -clip=:auto -clipPath=:none -clipRule=:nonzero -color=:rgb(0, 0, 0) -colorInterpolation=:srgb -colorInterpolationFilters=:linearrgb -content=:none -counterIncrement=:none -counterReset=:none -cssFloat=:none -cssText=: -cursor=:auto -direction=:ltr -display=:block -dominantBaseline=:auto -emptyCells=:-moz-show-background -fill=:rgb(0, 0, 0) -fillOpacity=:1 -fillRule=:nonzero -filter=:none -floodColor=:rgb(0, 0, 0) -floodOpacity=:1 -font=: -fontFamily=:serif -fontSize=:16px -fontSizeAdjust=:none -fontStretch=:normal -fontStyle=:normal -fontVariant=:normal -fontWeight=:400 -height=:skipped -imageRendering=:auto -imeMode=:auto -left=:auto -letterSpacing=:normal -lightingColor=:rgb(255, 255, 255) -lineHeight=:19px -listStyle=: -listStyleImage=:none -listStylePosition=:outside -listStyleType=:disc -margin=: -marginBottom=:0px -marginLeft=:0px -marginRight=:0px -marginTop=:0px -marker=: -markerEnd=:none -markerMid=:none -markerOffset=:auto -markerStart=:none -marks=: -mask=:none -maxHeight=:none -maxWidth=:none -minHeight=:0px -minWidth=:0px -opacity=:1 -orphans=: -outline=: -outlineColor=:rgb(0, 0, 0) -outlineOffset=:0px -outlineStyle=:none -outlineWidth=:0px -overflow=:visible -overflowX=:visible -overflowY=:visible -padding=: -paddingBottom=:0px -paddingLeft=:0px -paddingRight=:0px -paddingTop=:0px -page=: -pageBreakAfter=:auto -pageBreakBefore=:auto -pageBreakInside=: -perspective=:none -perspectiveOrigin=:628px 170px -pointerEvents=:auto -position=:static -quotes=:"“" "”" "‘" "’" -resize=:none -right=:auto -shapeRendering=:auto -size=: -stopColor=:rgb(0, 0, 0) -stopOpacity=:1 -stroke=:none -strokeDasharray=:none -strokeDashoffset=:0px -strokeLinecap=:butt -strokeLinejoin=:miter -strokeMiterlimit=:4 -strokeOpacity=:1 -strokeWidth=:1px -tableLayout=:auto -textAlign=:start -textAnchor=:start -textDecoration=:none -textIndent=:0px -textOverflow=:clip -textRendering=:auto -textShadow=:none -textTransform=:none -top=:auto -transform=:none -transformOrigin=:628px 170px -transformStyle=:flat -transition=: -transitionDelay=:0s -transitionDuration=:0s -transitionProperty=:all -transitionTimingFunction=:cubic-bezier(0.25, 0.1, 0.25, 1) -unicodeBidi=:-moz-isolate -vectorEffect=:none -verticalAlign=:baseline -visibility=:visible -whiteSpace=:normal -widows=: -width=:skipped -wordBreak=:normal -wordSpacing=:0px -wordWrap=:normal +MozAnimation=: +MozAnimationDelay=:0s +MozAnimationDirection=:normal +MozAnimationDuration=:0s +MozAnimationFillMode=:none +MozAnimationIterationCount=:1 +MozAnimationName=:none +MozAnimationPlayState=:running +MozAnimationTimingFunction=:cubic-bezier(0.25, 0.1, 0.25, 1) +MozAppearance=:none +MozBackfaceVisibility=:visible +MozBackgroundInlinePolicy=:continuous +MozBinding=:none +MozBorderBottomColors=:none +MozBorderEnd=: +MozBorderEndColor=: +MozBorderEndStyle=: +MozBorderEndWidth=: +MozBorderImage=: +MozBorderLeftColors=:none +MozBorderRightColors=:none +MozBorderStart=: +MozBorderStartColor=: +MozBorderStartStyle=: +MozBorderStartWidth=: +MozBorderTopColors=:none +MozBoxAlign=:stretch +MozBoxDirection=:normal +MozBoxFlex=:0 +MozBoxOrdinalGroup=:1 +MozBoxOrient=:horizontal +MozBoxPack=:start +MozBoxSizing=:content-box +MozColumnCount=:auto +MozColumnGap=:16px +MozColumnRule=: +MozColumnRuleColor=:rgb(0, 0, 0) +MozColumnRuleStyle=:none +MozColumnRuleWidth=:0px +MozColumnWidth=:auto +MozColumns=: +MozFloatEdge=:content-box +MozFontFeatureSettings=:normal +MozFontLanguageOverride=:normal +MozForceBrokenImageIcon=:0 +MozHyphens=:manual +MozImageRegion=:auto +MozMarginEnd=: +MozMarginStart=: +MozOrient=:horizontal +MozOutlineRadius=: +MozOutlineRadiusBottomleft=:0px +MozOutlineRadiusBottomright=:0px +MozOutlineRadiusTopleft=:0px +MozOutlineRadiusTopright=:0px +MozPaddingEnd=: +MozPaddingStart=: +MozPerspective=:none +MozPerspectiveOrigin=:624px 171px +MozStackSizing=:stretch-to-fit +MozTabSize=:8 +MozTextAlignLast=:auto +MozTextBlink=:none +MozTextDecorationColor=:rgb(0, 0, 0) +MozTextDecorationLine=:none +MozTextDecorationStyle=:solid +MozTextSizeAdjust=:auto +MozTransform=:none +MozTransformOrigin=:624px 171px +MozTransformStyle=:flat +MozTransition=: +MozTransitionDelay=:0s +MozTransitionDuration=:0s +MozTransitionProperty=:all +MozTransitionTimingFunction=:cubic-bezier(0.25, 0.1, 0.25, 1) +MozUserFocus=:none +MozUserInput=:auto +MozUserModify=:read-only +MozUserSelect=:auto +MozWindowShadow=:default +animation=: +animationDelay=:0s +animationDirection=:normal +animationDuration=:0s +animationFillMode=:none +animationIterationCount=:1 +animationName=:none +animationPlayState=:running +animationTimingFunction=:cubic-bezier(0.25, 0.1, 0.25, 1) +backfaceVisibility=:visible +background=: +backgroundAttachment=:scroll +backgroundClip=:border-box +backgroundColor=:transparent +backgroundImage=:none +backgroundOrigin=:padding-box +backgroundPosition=:0% 0% +backgroundRepeat=:repeat +backgroundSize=:auto auto +border=: +borderBottom=: +borderBottomColor=:rgb(0, 0, 0) +borderBottomLeftRadius=:0px +borderBottomRightRadius=:0px +borderBottomStyle=:none +borderBottomWidth=:0px +borderCollapse=:separate +borderColor=: +borderImage=: +borderImageOutset=:0 0 0 0 +borderImageRepeat=:stretch stretch +borderImageSlice=:100% 100% 100% 100% +borderImageSource=:none +borderImageWidth=:1 1 1 1 +borderLeft=: +borderLeftColor=:rgb(0, 0, 0) +borderLeftStyle=:none +borderLeftWidth=:0px +borderRadius=: +borderRight=: +borderRightColor=:rgb(0, 0, 0) +borderRightStyle=:none +borderRightWidth=:0px +borderSpacing=:0px 0px +borderStyle=: +borderTop=: +borderTopColor=:rgb(0, 0, 0) +borderTopLeftRadius=:0px +borderTopRightRadius=:0px +borderTopStyle=:none +borderTopWidth=:0px +borderWidth=: +bottom=:auto +boxShadow=:none +captionSide=:top +clear=:none +clip=:auto +clipPath=:none +clipRule=:nonzero +color=:rgb(0, 0, 0) +colorInterpolation=:srgb +colorInterpolationFilters=:linearrgb +content=:none +counterIncrement=:none +counterReset=:none +cssFloat=:none +cssText=: +cursor=:auto +direction=:ltr +display=:block +dominantBaseline=:auto +emptyCells=:-moz-show-background +fill=:rgb(0, 0, 0) +fillOpacity=:1 +fillRule=:nonzero +filter=:none +floodColor=:rgb(0, 0, 0) +floodOpacity=:1 +font=: +fontFamily=:serif +fontSize=:16px +fontSizeAdjust=:none +fontStretch=:normal +fontStyle=:normal +fontVariant=:normal +fontWeight=:400 +height=:skipped +imageRendering=:auto +imeMode=:auto +left=:auto +letterSpacing=:normal +lightingColor=:rgb(255, 255, 255) +lineHeight=:20px +listStyle=: +listStyleImage=:none +listStylePosition=:outside +listStyleType=:disc +margin=: +marginBottom=:0px +marginLeft=:0px +marginRight=:0px +marginTop=:0px +marker=: +markerEnd=:none +markerMid=:none +markerOffset=:auto +markerStart=:none +marks=: +mask=:none +maxHeight=:none +maxWidth=:none +minHeight=:0px +minWidth=:0px +opacity=:1 +orphans=: +outline=: +outlineColor=:rgb(0, 0, 0) +outlineOffset=:0px +outlineStyle=:none +outlineWidth=:0px +overflow=:visible +overflowX=:visible +overflowY=:visible +padding=: +paddingBottom=:0px +paddingLeft=:0px +paddingRight=:0px +paddingTop=:0px +page=: +pageBreakAfter=:auto +pageBreakBefore=:auto +pageBreakInside=: +perspective=:none +perspectiveOrigin=:624px 171px +pointerEvents=:auto +position=:static +quotes=:"“" "”" "‘" "’" +resize=:none +right=:auto +shapeRendering=:auto +size=: +stopColor=:rgb(0, 0, 0) +stopOpacity=:1 +stroke=:none +strokeDasharray=:none +strokeDashoffset=:0px +strokeLinecap=:butt +strokeLinejoin=:miter +strokeMiterlimit=:4 +strokeOpacity=:1 +strokeWidth=:1px +tableLayout=:auto +textAlign=:start +textAnchor=:start +textDecoration=:none +textIndent=:0px +textOverflow=:clip +textRendering=:auto +textShadow=:none +textTransform=:none +top=:auto +transform=:none +transformOrigin=:624px 171px +transformStyle=:flat +transition=: +transitionDelay=:0s +transitionDuration=:0s +transitionProperty=:all +transitionTimingFunction=:cubic-bezier(0.25, 0.1, 0.25, 1) +unicodeBidi=:-moz-isolate +vectorEffect=:none +verticalAlign=:baseline +visibility=:visible +whiteSpace=:normal +widows=: +width=:skipped +wordBreak=:normal +wordSpacing=:0px +wordWrap=:normal zIndex=:auto \ No newline at end of file |
From: <rb...@us...> - 2013-11-08 20:05:13
|
Revision: 8754 http://sourceforge.net/p/htmlunit/code/8754 Author: rbri Date: 2013-11-08 20:05:10 +0000 (Fri, 08 Nov 2013) Log Message: ----------- fix test, expectation and implementation Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluator.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluator.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluator.java 2013-11-08 18:01:40 UTC (rev 8753) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluator.java 2013-11-08 20:05:10 UTC (rev 8754) @@ -15,7 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript.host; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; -import net.sourceforge.htmlunit.corejs.javascript.NativeArray; +import net.sourceforge.htmlunit.corejs.javascript.Context; import net.sourceforge.htmlunit.corejs.javascript.NativeFunction; import org.apache.xml.utils.PrefixResolver; @@ -82,12 +82,10 @@ } // contextNodeObj can be either a node or an array with the node as the first element. Node contextNode = null; - if (contextNodeObj instanceof NativeArray) { - contextNode = (Node) ((NativeArray) contextNodeObj).get(0); + if (!(contextNodeObj instanceof Node)) { + throw Context.reportRuntimeError("Illegal value for parameter 'context'"); } - else { - contextNode = (Node) contextNodeObj; - } + contextNode = (Node) contextNodeObj; PrefixResolver prefixResolver = null; if (resolver instanceof PrefixResolver) { prefixResolver = (PrefixResolver) resolver; Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java 2013-11-08 18:01:40 UTC (rev 8753) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/XPathEvaluatorTest.java 2013-11-08 20:05:10 UTC (rev 8754) @@ -65,7 +65,7 @@ * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "window.XPathEvaluator undefined", FF17 = "Immortality") + @Alerts(DEFAULT = "window.XPathEvaluator undefined", FF17 = "exception") public void namespacesWithNodeInArray() throws Exception { final String html = "<html><head><title>foo</title>\n" + "<script>\n" @@ -84,9 +84,11 @@ + " var doc = (new DOMParser).parseFromString(xml, 'text/xml');" + " var xpe = new XPathEvaluator();\n" + " var nsResolver = xpe.createNSResolver(doc.documentElement);\n" - + " var result = xpe.evaluate('/soap:Envelope/soap:books/soap:book/title/text()', " - + "[doc.documentElement], nsResolver, XPathResult.STRING_TYPE, null);\n" - + " alert(result.stringValue);\n" + + " try {\n" + + " var result = xpe.evaluate('/soap:Envelope/soap:books/soap:book/title/text()', " + + "[doc.documentElement], nsResolver, XPathResult.STRING_TYPE, null);\n" + + " alert(result.stringValue);\n" + + " } catch(e) { alert('exception'); }\n" + " } else {\n" + " alert('window.XPathEvaluator undefined');\n" + " }\n" |
From: <rb...@us...> - 2013-11-09 12:03:46
|
Revision: 8755 http://sourceforge.net/p/htmlunit/code/8755 Author: rbri Date: 2013-11-09 12:03:43 +0000 (Sat, 09 Nov 2013) Log Message: ----------- missing test case for parameter checking and fix added Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMParser.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMParserTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMParser.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMParser.java 2013-11-08 20:05:10 UTC (rev 8754) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMParser.java 2013-11-09 12:03:43 UTC (rev 8755) @@ -16,6 +16,8 @@ import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; +import net.sourceforge.htmlunit.corejs.javascript.Context; +import net.sourceforge.htmlunit.corejs.javascript.Undefined; import com.gargoylesoftware.htmlunit.javascript.SimpleScriptable; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxClass; @@ -52,7 +54,10 @@ * @return the generated document */ @JsxFunction - public XMLDocument parseFromString(final String str, final String contentType) { + public XMLDocument parseFromString(final String str, final Object contentType) { + if (Undefined.instance == contentType) { + throw Context.reportRuntimeError("Missing 'contentType' parameter"); + } final XMLDocument document = new XMLDocument(); document.setParentScope(getParentScope()); document.setPrototype(getPrototype(XMLDocument.class)); Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMParserTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMParserTest.java 2013-11-08 20:05:10 UTC (rev 8754) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/dom/DOMParserTest.java 2013-11-09 12:03:43 UTC (rev 8755) @@ -91,7 +91,6 @@ loadPageWithAlerts2(content); } - /** * @throws Exception if the test fails */ @@ -116,6 +115,28 @@ } /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "ex: parseFromString", + IE8 = "ex: new DOMParser") + public void parseFromString_missingMimeType() throws Exception { + final String content = "<html><head><title>foo</title><script>\n" + + " function test() {\n" + + " try {\n" + + " var parser=new DOMParser();\n" + + " try {\n" + + " parser.parseFromString('');\n" + + " } catch(e) { alert('ex: parseFromString'); }\n" + + " } catch(e) { alert('ex: new DOMParser'); }\n" + + " }\n" + + "</script></head>\n" + + "<body onload='test()'>\n" + + "</body></html>"; + loadPageWithAlerts2(content); + } + + /** * Regression test for bug 2899485. * @throws Exception if an error occurs */ |
From: <rb...@us...> - 2013-11-09 13:51:31
|
Revision: 8758 http://sourceforge.net/p/htmlunit/code/8758 Author: rbri Date: 2013-11-09 13:51:26 +0000 (Sat, 09 Nov 2013) Log Message: ----------- a bit FF24 hacking Modified Paths: -------------- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/TreeWalker.java trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/SimpleFormTest.java Modified: trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/TreeWalker.java =================================================================== --- trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/TreeWalker.java 2013-11-09 13:32:05 UTC (rev 8757) +++ trunk/htmlunit/src/main/java/com/gargoylesoftware/htmlunit/javascript/host/TreeWalker.java 2013-11-09 13:51:26 UTC (rev 8758) @@ -14,6 +14,9 @@ */ package com.gargoylesoftware.htmlunit.javascript.host; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.CHROME; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.FF; +import static com.gargoylesoftware.htmlunit.javascript.configuration.BrowserName.IE; import net.sourceforge.htmlunit.corejs.javascript.Context; import org.w3c.dom.DOMException; @@ -23,6 +26,7 @@ import com.gargoylesoftware.htmlunit.javascript.configuration.JsxFunction; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxGetter; import com.gargoylesoftware.htmlunit.javascript.configuration.JsxSetter; +import com.gargoylesoftware.htmlunit.javascript.configuration.WebBrowser; /** * The JavaScript object that represents a TreeWalker. @@ -116,7 +120,7 @@ * * @return the value of the expandEntityReferences flag */ - @JsxGetter + @JsxGetter({@WebBrowser(value = FF, maxVersion = 20), @WebBrowser(IE), @WebBrowser(CHROME) }) public boolean getExpandEntityReferences() { return expandEntityReferences_; } Modified: trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/SimpleFormTest.java =================================================================== --- trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/SimpleFormTest.java 2013-11-09 13:32:05 UTC (rev 8757) +++ trunk/htmlunit/src/test/java/com/gargoylesoftware/htmlunit/javascript/regexp/mozilla/js1_2/SimpleFormTest.java 2013-11-09 13:51:26 UTC (rev 8758) @@ -16,6 +16,7 @@ import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.CHROME; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF17; +import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.FF24; import static com.gargoylesoftware.htmlunit.BrowserRunner.Browser.IE; import org.junit.Test; @@ -41,7 +42,7 @@ */ @Test @Alerts("exception") - @NotYetImplemented({ IE, FF17, CHROME }) + @NotYetImplemented({ IE, FF17, FF24, CHROME }) public void test1() throws Exception { test("/[0-9]{3}/('23 2 34 678 9 09')"); } @@ -52,7 +53,7 @@ */ @Test @Alerts(DEFAULT = "exception") - @NotYetImplemented({ IE, FF17, CHROME }) + @NotYetImplemented({ IE, FF17, FF24, CHROME }) public void test2() throws Exception { test("/3.{4}8/('23 2 34 678 9 09')"); } @@ -63,7 +64,7 @@ */ @Test @Alerts(DEFAULT = "exception") - @NotYetImplemented({ IE, FF17, CHROME }) + @NotYetImplemented({ IE, FF17, FF24, CHROME }) public void test3() throws Exception { test("(/3.{4}8/('23 2 34 678 9 09')).length"); } @@ -74,7 +75,7 @@ */ @Test @Alerts(DEFAULT = "exception") - @NotYetImplemented({ IE, FF17, CHROME }) + @NotYetImplemented({ IE, FF17, FF24, CHROME }) public void test4() throws Exception { test("var re = /[0-9]{3}/", "re('23 2 34 678 9 09')"); } @@ -85,7 +86,7 @@ */ @Test @Alerts(DEFAULT = "exception") - @NotYetImplemented({ IE, FF17, CHROME }) + @NotYetImplemented({ IE, FF17, FF24, CHROME }) public void test5() throws Exception { test("var re = /3.{4}8/", "re('23 2 34 678 9 09')"); } @@ -96,7 +97,7 @@ */ @Test @Alerts("exception") - @NotYetImplemented({ IE, FF17, CHROME }) + @NotYetImplemented({ IE, FF17, FF24, CHROME }) public void test6() throws Exception { test("/3.{4}8/('23 2 34 678 9 09')"); } @@ -107,7 +108,7 @@ */ @Test @Alerts("exception") - @NotYetImplemented({ IE, FF17, CHROME }) + @NotYetImplemented({ IE, FF17, FF24, CHROME }) public void test7() throws Exception { test("var re =/3.{4}8/", "(re('23 2 34 678 9 09')).length"); } @@ -118,7 +119,7 @@ */ @Test @Alerts("exception") - @NotYetImplemented({ IE, FF17, CHROME }) + @NotYetImplemented({ IE, FF17, FF24, CHROME }) public void test8() throws Exception { test("(/3.{4}8/('23 2 34 678 9 09')).length"); } |