diff --git a/README.md b/README.md index 4883eb86cdd..1551916962c 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ It is typically used for testing purposes or to retrieve information from web si ### Project News [HtmlUnit@Twitter][3] -### Latest release Version 2.35.0 / April 15, 2019 +### Latest release Version 2.36.0 / August 24, 2019 [Download from Sourceforge][1] For maven, you would add: @@ -17,7 +17,7 @@ For maven, you would add: net.sourceforge.htmlunit htmlunit - 2.34.1 + 2.36.0 [Latest CI build][2] @@ -29,10 +29,10 @@ For maven, you would add: * Support for submit methods POST and GET (as well as HEAD, DELETE, ...) * Ability to customize the request headers being sent to the server * Support for HTML responses -** Wrapper for HTML pages that provides easy access to all information contained inside them -** Support for submitting forms -** Support for clicking links -** Support for walking the DOM model of the HTML document + * Wrapper for HTML pages that provides easy access to all information contained inside them + * Support for submitting forms + * Support for clicking links + * Support for walking the DOM model of the HTML document * Proxy server support * Support for basic and NTLM authentication * Excellent JavaScript support (see the JavaScript section below) @@ -44,6 +44,6 @@ For maven, you would add: This project is licensed under the Apache 2.0 License -[1]: https://sourceforge.net/projects/htmlunit/files/htmlunit/2.33/ "HtmlUnit on sourceforge" -[2]: http://167.86.92.69/jenkins/view/HtmlUnit/job/HtmlUnit/ "HtmlUnit CI" +[1]: https://sourceforge.net/projects/htmlunit/files/htmlunit/2.36.0/ "HtmlUnit on sourceforge" +[2]: http://167.86.92.69/job/HtmlUnit/ "HtmlUnit CI" [3]: https://twitter.com/HtmlUnit "https://twitter.com/HtmlUnit" diff --git a/checkstyle.xml b/checkstyle.xml index b3b04befd41..4e5fefc3239 100644 --- a/checkstyle.xml +++ b/checkstyle.xml @@ -1,4 +1,3 @@ - @@ -25,13 +24,17 @@ - + + + + + @@ -120,10 +123,6 @@ - - - - @@ -132,8 +131,6 @@ - - @@ -220,11 +217,16 @@ + + + + + diff --git a/checkstyle_suppressions.xml b/checkstyle_suppressions.xml index 3eab5e3b83a..99b357b75bc 100644 --- a/checkstyle_suppressions.xml +++ b/checkstyle_suppressions.xml @@ -49,19 +49,7 @@ - - - - - - - - - - - - - + @@ -74,4 +62,6 @@ + + diff --git a/pmd-ruleset.xml b/pmd-ruleset.xml index 25cce452c9d..b224cd88b24 100644 --- a/pmd-ruleset.xml +++ b/pmd-ruleset.xml @@ -25,6 +25,7 @@ + @@ -43,6 +44,7 @@ + diff --git a/pom.xml b/pom.xml index 03652260315..bb5bd43f487 100644 --- a/pom.xml +++ b/pom.xml @@ -4,32 +4,40 @@ 4.0.0 net.sourceforge.htmlunit htmlunit - 2.35.0 + 2.37.0 HtmlUnit Gargoyle Software Inc. http://www.GargoyleSoftware.com/ jar - A headless browser intended for use in testing web-based applications. + + A headless browser intended for use in testing web-based applications. + http://htmlunit.sourceforge.net UTF-8 yyyy-MM-dd HH:mm -Xdoclint:none - 9.4.16.v20190411 - 3.141.59 + 8 + 8 + + 2.37.0 + 1.5.0 + 2.37.0 + 2.37.0 - 2.34.0 - 1.4.0 - 2.35.0 - 2.35.0 + 4.5.11 + 9.4.26.v20200117 + 2.13.0 + 1.7.30 + 3.141.59 - 8.19 + 8.29 3.1.12 - 6.13.0 + 6.21.0 @@ -37,11 +45,8 @@ org.apache.maven.plugins maven-compiler-plugin - 3.8.0 + 3.8.1 - - 1.8 - 1.8 **/CodeChecker.java @@ -50,7 +55,7 @@ org.apache.maven.plugins maven-checkstyle-plugin - 3.0.0 + 3.1.0 checkstyle.xml checkstyle_suppressions.xml @@ -67,7 +72,7 @@ com.github.spotbugs spotbugs-maven-plugin - 3.1.11 + 3.1.12.2 @@ -83,7 +88,7 @@ org.apache.maven.plugins maven-pmd-plugin - 3.11.0 + 3.12.0 net.sourceforge.pmd @@ -97,7 +102,6 @@ - 1.8 ${basedir}/pmd-ruleset.xml @@ -106,7 +110,7 @@ org.apache.maven.plugins maven-jar-plugin - 3.1.1 + 3.2.0 @@ -131,12 +135,12 @@ org.apache.maven.plugins maven-site-plugin - 3.7.1 + 3.8.2 org.apache.maven.plugins maven-assembly-plugin - 3.1.1 + 3.2.0 make-assembly @@ -158,7 +162,7 @@ org.apache.maven.plugins maven-source-plugin - 3.0.1 + 3.2.1 @@ -170,7 +174,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.0 + 3.1.1 true --allow-script-in-comments @@ -274,7 +278,7 @@ org.apache.felix maven-bundle-plugin - 4.2.0 + 4.2.1 true @@ -288,7 +292,7 @@ org.simplify4u.plugins pgpverify-maven-plugin - 1.4.0 + 1.6.0 @@ -302,7 +306,7 @@ org.apache.maven.wagon wagon-ssh - 3.3.2 + 3.3.4 @@ -319,7 +323,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -348,7 +352,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -379,7 +383,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -407,7 +411,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -435,7 +439,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -465,7 +469,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -494,7 +498,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -523,7 +527,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -552,7 +556,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -580,7 +584,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -608,7 +612,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.1 + 2.22.2 false @@ -631,7 +635,7 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.0 + 3.1.1 true com.gargoylesoftware.htmlunit.javascript:com.gargoylesoftware.htmlunit.protocol:com.gargoylesoftware.htmlunit.ssl:com.gargoylesoftware.htmlunit.html.xpath:com.gargoylesoftware.htmlunit.html.applets:com.gargoylesoftware.htmlunit.html.impl:com.gargoylesoftware.htmlunit.activex @@ -699,7 +703,7 @@ Jenkins - http://167.86.92.69/jenkins/view/HtmlUnit/ + http://167.86.92.69/job/HtmlUnit/ @@ -1069,6 +1073,12 @@ Hartmut Arlt + + Le Stephane + + + Michael Anstis + @@ -1094,7 +1104,7 @@ org.apache.commons commons-text - 1.6 + 1.8 org.apache.commons @@ -1105,12 +1115,12 @@ org.apache.httpcomponents httpmime - 4.5.8 + ${httpcomponents.version} org.apache.httpcomponents httpclient - 4.5.8 + ${httpcomponents.version} test-jar test @@ -1144,6 +1154,11 @@ commons-net 3.6 + + org.brotli + dec + 0.1.2 + org.eclipse.jetty.websocket @@ -1154,21 +1169,66 @@ junit junit - 4.12 + 4.13 test org.easymock easymock - 4.0.2 + 4.1 + test + + + com.tngtech.archunit + archunit-junit4 + 0.13.0 + + + org.slf4j + slf4j-api + + + junit + junit + + + test + + + + org.slf4j + slf4j-api + ${slf4j.version} + test + + + org.slf4j + slf4j-log4j12 + ${slf4j.version} test + + org.apache.logging.log4j log4j-api - 2.11.2 + ${log4j.version} + test + + + org.apache.logging.log4j + log4j-core + ${log4j.version} + test + + + org.apache.logging.log4j + log4j-jcl + ${log4j.version} test + commons-fileupload commons-fileupload @@ -1181,19 +1241,6 @@ - - - org.slf4j - slf4j-api - 1.7.26 - test - - - org.slf4j - slf4j-log4j12 - 1.7.26 - test - org.jfree jfreechart @@ -1216,7 +1263,7 @@ com.caucho quercus - 4.0.60 + 4.0.63 test diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 3c580afc6f4..c907a41493e 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -7,6 +7,226 @@ + + + Security: prevent Rhinos access to Java resources; e.g. call java methods. + + + Upgrade Apache HttpComponents to 4.5.11. + + + XSLTProcessor now respects the xsl:output indent='yes' setting when simulating chrome. + + + Upgrade Jetty to 9.4.26.v20200117. + + + DocumentFragment.getElementById() added. + + + DocumentFragment methods childElementCount(), firstElementChild(), and lastElementChild() are no longer + failing because of a ClassCastException. + + + Resync core-js with rhino trunk (2019-11-25). This includes some improvements to iterable processing. + + + The entity processing was broken if an '&' was in front of a tag like </div>&X</div>. + + + Promise.all() and Promise.race() are now able to work with iterables instead of only supporting + arrays. + + + Upgrade Jetty to 9.4.25.v20191220. + + + Try to make stopping of the WebSockets more robust. + + + Some documentation added for file upload. + + + Upgrade Apache log4j-api to 2.13.0. + + + CanvasRenderingContext2D.globalAlpha implemented. + + + Angle handling for CanvasRenderingContext2D ellipse and arc fixed. + + + No longer use annotations for the implementation of isReadOnlySettable to + make the code simpler and faster. + + + CanvasRenderingContext2D.ellipse(..) implemented. + + + DOMRectList is visible. + + + Resync core-js with rhino trunk (2019-11-25). This fixes a bug regarding isExtensible handling. + + + Browser specific vAling handling fixed. + + + Do not create js peers during html parsing if js is disabled. + + + Some neko updates and some caching to use less objects and memory during html parsing. + + + Firefox 68 ESR simulation now available. + + + More robust color parsing. + + + CanvasRenderingContext2D.closePath() implemented. + + + Upgrade Jetty to 9.4.24.v20191120. + + + MockWebConnection.getRequestedUrls() added. + + + Respect form 'novalidate' attribute. + + + Resync core-js with rhino trunk (2019-10-19). + + + Img elements in forms are accessible directly using the name also when nested. + + + WebClient#openWindow no longer throws a ClassCastException when called from a non html page. + + + Wrong encoding used in window.atob(). + + + File input with required attribute now validates correctly. + + + Upgrade Apache HttpComponents to 4.5.10. + + + + + INCOMPATIBLE CHANGE: WebConnection.close() and WebConnectionWrapper.close() are throwing an + IOException instead of an Exception now. + + + Method isAttachment(WebResponse) moved from Attachment to the AttachmentHandler interface + as default method. Based on this you can now overwrite the isAttachment(WebResponse) + implementation with your own. + + + FIREFOX_52 is deprecated. + + + Correct handling of media properties without values. + + + Console.assert(..) added. + + + Do not start the (Default)JavascriptExecutor if javascript is disabled for the client. + + + New method com.gargoylesoftware.htmlunit.Cache.clearOutdated() to remove outdated entries. + + + Make responses cachable in case the Cache-Control header with max-age or s-maxage overrules the Expires header. + + + Javascript Proxy stub removed. The class is only a stub an might confuse feature detections code + that only checks for existence. + + + Brotli support added. + + + Class XPathUtils renamed to XPathHelper. + + + Class XmlUtil renamed to XmlUtils and moved to com.gargoylesoftware.htmlunit.util. + + + Class TextUtil renamed to TextUtils and moved to com.gargoylesoftware.htmlunit.util. + + + ArchUnit added. + + + Log no longer a warning for not supported link types. Instead log more detailed debug messages + for this case. + + + Fix NPE for some unsupported css hacks. + + + Add a save() method in TextPage, which knows to save in the same charset as was received in the response. + + + Upgrade Apache commons-text to 1.7. + + + HtmlPage.save(File) no longer fails if some linked resources are not available. + + + Link to sourceforge mailing lists fixed. + + + MessageEvent.initMessageEvent() port parameter checking fixed. + + + Improved offsetTop calculation. + + + Trigger the correct event listener if a script tag points to an url that returns 204 (no content). + + + WebSocket onOpen event handler is called with the event as parameter. + + + WebSocket events are initialized with correct srcElement and origin. + + + Cleanup our logging setup; slf4j dependencies removed, log4j2 is now used for all the tests + of log output. + + + Fix the referrer and origin header when the request was created from window.location.reload(). + + + AudioContext.createBufferSource and a simple AudioContext.decodeAudioData added. + + + Revert a minor change to ensure backward compatibility with older jetty versions. + + + neko: Handle the (invalid) comment close tag '--!>' like the valid one regarding to the + spec (https://html.spec.whatwg.org/multipage/parsing.html#comment-end-bang-state) + + + XMLHttpRequestEventTarget has no ctor. + + + Properties onError and onLoad moved from XMLHttpRequest up to XMLHttpRequestEventTarget. + + + Clicking a label with a valid for attribute does not forward the click to the target + if the target is disabled. + + + Code cleanup and some resource handling fixes for HttpWebConnection. + + + Upgrade Apache commons-lang3 to 3.9. @@ -198,6 +418,10 @@ + + INCOMPATIBLE CHANGE: ScriptResult.getNewPage() is no longer available. You can use something like + webClient.getCurrentWindow().getEnclosedPage() instead. + Source repository is on GitHub now. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/AbstractPage.java b/src/main/java/com/gargoylesoftware/htmlunit/AbstractPage.java index 025dddc70f1..7d585bb4dbc 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/AbstractPage.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/AbstractPage.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/AjaxController.java b/src/main/java/com/gargoylesoftware/htmlunit/AjaxController.java index 392ceb7950f..fa924c9c322 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/AjaxController.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/AjaxController.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/AlertHandler.java b/src/main/java/com/gargoylesoftware/htmlunit/AlertHandler.java index e3b4938c010..44e2cc28feb 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/AlertHandler.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/AlertHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,13 +14,16 @@ */ package com.gargoylesoftware.htmlunit; +import java.io.Serializable; + /** * A handler for JavaScript alerts. Alerts are triggered when the JavaScript method Window.alert() * is called. * * @author Mike Bowler + * @author Ronald Brill */ -public interface AlertHandler { +public interface AlertHandler extends Serializable { /** * Handle an alert for the given page. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/AppletConfirmHandler.java b/src/main/java/com/gargoylesoftware/htmlunit/AppletConfirmHandler.java index ed15a814e2d..8fc895f50fa 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/AppletConfirmHandler.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/AppletConfirmHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,6 +14,8 @@ */ package com.gargoylesoftware.htmlunit; +import java.io.Serializable; + import com.gargoylesoftware.htmlunit.html.HtmlApplet; import com.gargoylesoftware.htmlunit.html.HtmlObject; @@ -23,7 +25,7 @@ * * @author Ronald Brill */ -public interface AppletConfirmHandler { +public interface AppletConfirmHandler extends Serializable { /** * Handles a confirm for the specified page. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java b/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java index cad3ea66fa3..d9158466cc6 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersion.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -38,18 +38,18 @@ * *

You can create a different browser setup by using the BrowserVersionFactory. *

- *      String applicationName = "APPNAME";
- *      String applicationVersion = "APPVERSION";
- *      String userAgent = "USERAGENT";
- *      int browserVersionNumeric = NUMERIC;
+ *         final String applicationName = "APPNAME";
+ *         final String applicationVersion = "APPVERSION";
+ *         final String userAgent = "USERAGENT";
  *
- *      BrowserVersion browser = new BrowserVersion.BrowserVersionFactory(FF52)
- *          .setApplicationName(applicationName)
- *          .setApplicationVersion(applicationVersion)
- *          .setUserAgent(userAgent)
- *          .build();
+ *         final BrowserVersion browser =
+ *                 new BrowserVersion.BrowserVersionBuilder(BrowserVersion.FIREFOX_68)
+ *                     .setApplicationName(applicationName)
+ *                     .setApplicationVersion(applicationVersion)
+ *                     .setUserAgent(userAgent)
+ *                     .build();
  * 
- *

But keep in mind this now one still behaves like a FF52, only the stuff reported to the + *

But keep in mind this now one still behaves like a FF68, only the stuff reported to the * outside is changed. This is more or less the same you can do with real browsers installing * plugins like UserAgentSwitcher. * @@ -100,10 +100,10 @@ public final class BrowserVersion implements Serializable { public static final BrowserVersion FIREFOX_60 = new BrowserVersion(60, "FF60"); /** - * Firefox 52 ESR. - * @since 2.26 + * Firefox 68 ESR. + * @since 2.37 */ - public static final BrowserVersion FIREFOX_52 = new BrowserVersion(52, "FF52"); + public static final BrowserVersion FIREFOX_68 = new BrowserVersion(68, "FF68"); /** Internet Explorer 11. */ public static final BrowserVersion INTERNET_EXPLORER = new BrowserVersion(11, "IE"); @@ -147,30 +147,32 @@ public final class BrowserVersion implements Serializable { 116, 117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 138, 139, 139, 141, 142, 143, 144, 146, 147, 148, 149}; - // FF52 - FIREFOX_52.applicationVersion_ = "5.0 (Windows)"; - FIREFOX_52.userAgent_ = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:52.0) Gecko/20100101 Firefox/52.0"; - FIREFOX_52.buildId_ = "20180621064021"; - FIREFOX_52.productSub_ = "20100101"; - FIREFOX_52.headerNamesOrdered_ = new String[] { + // FF68 + FIREFOX_68.applicationVersion_ = "5.0 (Windows)"; + FIREFOX_68.userAgent_ = "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:68.0) Gecko/20100101 Firefox/68.0"; + FIREFOX_68.buildId_ = "20181001000000"; + FIREFOX_68.productSub_ = "20100101"; + FIREFOX_68.headerNamesOrdered_ = new String[] { HttpHeader.HOST, HttpHeader.USER_AGENT, HttpHeader.ACCEPT, HttpHeader.ACCEPT_LANGUAGE, HttpHeader.ACCEPT_ENCODING, HttpHeader.REFERER, - HttpHeader.COOKIE, HttpHeader.CONNECTION, - "Upgrade-Insecure-Requests"}; - FIREFOX_52.htmlAcceptHeader_ = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; - FIREFOX_52.cssAcceptHeader_ = "text/css,*/*;q=0.1"; - FIREFOX_52.fontHeights_ = new int[] { - 0, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 45, 46, 47, 48, 50, 51, 52, 53, 53, 55, 57, 58, - 59, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 85, 86, 87, 88, - 89, 90, 91, 93, 94, 95, 96, 96, 98, 99, 100, 101, 103, 104, 105, 106, 106, 108, 109, 111, 112, 113, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 138, 139, - 139, 141, 142, 143, 144, 146, 147, 148, 149}; + HttpHeader.COOKIE}; + FIREFOX_68.htmlAcceptHeader_ = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; + FIREFOX_68.xmlHttpRequestAcceptHeader_ = "*/*"; + FIREFOX_68.imgAcceptHeader_ = "image/webp,*/*"; + FIREFOX_68.cssAcceptHeader_ = "text/css,*/*;q=0.1"; + FIREFOX_68.fontHeights_ = new int[] { + 0, 2, 3, 5, 6, 6, 7, 9, 10, 11, 12, 13, 15, 16, 16, 17, 18, 20, 21, 22, 23, 25, 26, 26, 28, 29, + 31, 32, 33, 34, 35, 37, 38, 38, 39, 41, 42, 43, 44, 45, 47, 48, 48, 49, 51, 52, 53, 54, 56, 58, 59, 59, + 60, 61, 63, 64, 65, 66, 68, 69, 69, 70, 71, 73, 74, 75, 76, 77, 79, 79, + 80, 82, 84, 85, 86, 87, 88, 90, 91, 91, 92, 94, 95, 96, 97, 98, + 100, 101, 101, 102, 103, 105, 106, 107, 108, 111, 112, 112, 113, 114, 116, 117, 118, 119, + 120, 122, 122, 123, 124, 126, 127, 128, 129, 130, 132, 132, 133, 134, 137, 138, 139, + 140, 141, 143, 143, 144, 145, 146, 148}; // IE INTERNET_EXPLORER.applicationVersion_ = "5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"; @@ -199,8 +201,8 @@ public final class BrowserVersion implements Serializable { 139, 140, 141, 143, 144, 145, 146, 147}; // CHROME - CHROME.applicationVersion_ = "5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36"; - CHROME.userAgent_ = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36"; + CHROME.applicationVersion_ = "5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36"; + CHROME.userAgent_ = "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36"; CHROME.applicationCodeName_ = "Mozilla"; CHROME.vendor_ = "Google Inc."; @@ -212,12 +214,17 @@ public final class BrowserVersion implements Serializable { HttpHeader.CONNECTION, "Upgrade-Insecure-Requests", HttpHeader.USER_AGENT, + HttpHeader.SEC_FETCH_USER, HttpHeader.ACCEPT, + HttpHeader.SEC_FETCH_SITE, + HttpHeader.SEC_FETCH_MODE, HttpHeader.REFERER, HttpHeader.ACCEPT_ENCODING, HttpHeader.ACCEPT_LANGUAGE, HttpHeader.COOKIE}; - CHROME.htmlAcceptHeader_ = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"; + CHROME.acceptEncodingHeader_ = "gzip, deflate, br"; + CHROME.htmlAcceptHeader_ = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;" + + "q=0.8,application/signed-exchange;v=b3;q=0.9"; CHROME.imgAcceptHeader_ = "image/webp,image/apng,image/*,*/*;q=0.8"; CHROME.cssAcceptHeader_ = "text/css,*/*;q=0.1"; CHROME.scriptAcceptHeader_ = "*/*"; @@ -255,8 +262,8 @@ public final class BrowserVersion implements Serializable { CHROME.registerUploadMimeType("xhtml", "application/xhtml+xml"); CHROME.registerUploadMimeType("xht", "application/xhtml+xml"); CHROME.registerUploadMimeType("xhtm", "application/xhtml+xml"); - CHROME.registerUploadMimeType("txt", "text/plain"); - CHROME.registerUploadMimeType("text", "text/plain"); + CHROME.registerUploadMimeType("txt", MimeType.TEXT_PLAIN); + CHROME.registerUploadMimeType("text", MimeType.TEXT_PLAIN); FIREFOX_60.registerUploadMimeType("html", MimeType.TEXT_HTML); FIREFOX_60.registerUploadMimeType("htm", MimeType.TEXT_HTML); @@ -279,32 +286,33 @@ public final class BrowserVersion implements Serializable { FIREFOX_60.registerUploadMimeType("wav", "audio/wav"); FIREFOX_60.registerUploadMimeType("xhtml", "application/xhtml+xml"); FIREFOX_60.registerUploadMimeType("xht", "application/xhtml+xml"); - FIREFOX_60.registerUploadMimeType("txt", "text/plain"); - FIREFOX_60.registerUploadMimeType("text", "text/plain"); - - FIREFOX_52.registerUploadMimeType("html", MimeType.TEXT_HTML); - FIREFOX_52.registerUploadMimeType("htm", MimeType.TEXT_HTML); - FIREFOX_52.registerUploadMimeType("css", MimeType.TEXT_CSS); - FIREFOX_52.registerUploadMimeType("xml", MimeType.TEXT_XML); - FIREFOX_52.registerUploadMimeType("gif", "image/gif"); - FIREFOX_52.registerUploadMimeType("jpeg", "image/jpeg"); - FIREFOX_52.registerUploadMimeType("jpg", "image/jpeg"); - FIREFOX_52.registerUploadMimeType("mp4", "video/mp4"); - FIREFOX_52.registerUploadMimeType("m4v", "video/mp4"); - FIREFOX_52.registerUploadMimeType("m4a", "audio/mp4"); - FIREFOX_52.registerUploadMimeType("png", "image/png"); - FIREFOX_52.registerUploadMimeType("mp3", "audio/mpeg"); - FIREFOX_52.registerUploadMimeType("ogv", "video/ogg"); - FIREFOX_52.registerUploadMimeType("ogm", "video/x-ogm"); - FIREFOX_52.registerUploadMimeType("ogg", "video/ogg"); - FIREFOX_52.registerUploadMimeType("oga", "audio/ogg"); - FIREFOX_52.registerUploadMimeType("opus", "audio/ogg"); - FIREFOX_52.registerUploadMimeType("webm", "video/webm"); - FIREFOX_52.registerUploadMimeType("wav", "audio/wav"); - FIREFOX_52.registerUploadMimeType("xhtml", "application/xhtml+xml"); - FIREFOX_52.registerUploadMimeType("xht", "application/xhtml+xml"); - FIREFOX_52.registerUploadMimeType("txt", "text/plain"); - FIREFOX_52.registerUploadMimeType("text", "text/plain"); + FIREFOX_60.registerUploadMimeType("txt", MimeType.TEXT_PLAIN); + FIREFOX_60.registerUploadMimeType("text", MimeType.TEXT_PLAIN); + + FIREFOX_68.registerUploadMimeType("html", MimeType.TEXT_HTML); + FIREFOX_68.registerUploadMimeType("htm", MimeType.TEXT_HTML); + FIREFOX_68.registerUploadMimeType("css", MimeType.TEXT_CSS); + FIREFOX_68.registerUploadMimeType("xml", MimeType.TEXT_XML); + FIREFOX_68.registerUploadMimeType("gif", "image/gif"); + FIREFOX_68.registerUploadMimeType("jpeg", "image/jpeg"); + FIREFOX_68.registerUploadMimeType("jpg", "image/jpeg"); + FIREFOX_68.registerUploadMimeType("mp4", "video/mp4"); + FIREFOX_68.registerUploadMimeType("m4v", "video/mp4"); + FIREFOX_68.registerUploadMimeType("m4a", "audio/mp4"); + FIREFOX_68.registerUploadMimeType("png", "image/png"); + FIREFOX_68.registerUploadMimeType("mp3", "audio/mpeg"); + FIREFOX_68.registerUploadMimeType("ogv", "video/ogg"); + FIREFOX_68.registerUploadMimeType("ogm", "video/x-ogm"); + FIREFOX_68.registerUploadMimeType("ogg", "video/ogg"); + FIREFOX_68.registerUploadMimeType("oga", "audio/ogg"); + FIREFOX_68.registerUploadMimeType("opus", "audio/ogg"); + FIREFOX_68.registerUploadMimeType("webm", "video/webm"); + FIREFOX_68.registerUploadMimeType("webp", "image/webp"); + FIREFOX_68.registerUploadMimeType("wav", "audio/wav"); + FIREFOX_68.registerUploadMimeType("xhtml", "application/xhtml+xml"); + FIREFOX_68.registerUploadMimeType("xht", "application/xhtml+xml"); + FIREFOX_68.registerUploadMimeType("txt", MimeType.TEXT_PLAIN); + FIREFOX_68.registerUploadMimeType("text", MimeType.TEXT_PLAIN); INTERNET_EXPLORER.registerUploadMimeType("html", MimeType.TEXT_HTML); INTERNET_EXPLORER.registerUploadMimeType("htm", MimeType.TEXT_HTML); @@ -323,16 +331,10 @@ public final class BrowserVersion implements Serializable { INTERNET_EXPLORER.registerUploadMimeType("wav", "audio/wav"); INTERNET_EXPLORER.registerUploadMimeType("xhtml", "application/xhtml+xml"); INTERNET_EXPLORER.registerUploadMimeType("xht", "application/xhtml+xml"); - INTERNET_EXPLORER.registerUploadMimeType("txt", "text/plain"); + INTERNET_EXPLORER.registerUploadMimeType("txt", MimeType.TEXT_PLAIN); // flush plugin (windows version) - PluginConfiguration flash = new PluginConfiguration("Shockwave Flash", - "Shockwave Flash 30.0 r0", "30.0.0.113", "NPSWF64_30_0_0_113.dll"); //NOPMD - flash.getMimeTypes().add(new PluginConfiguration.MimeType("application/x-shockwave-flash", - "Shockwave Flash", "swf")); - FIREFOX_52.plugins_.add(flash); - - flash = new PluginConfiguration("Shockwave Flash", + final PluginConfiguration flash = new PluginConfiguration("Shockwave Flash", "Shockwave Flash 30.0 r0", "30.0.0.113", "Flash32_30_0_0_113.ocx"); //NOPMD flash.getMimeTypes().add(new PluginConfiguration.MimeType("application/x-shockwave-flash", "Shockwave Flash", "swf")); @@ -359,6 +361,7 @@ public final class BrowserVersion implements Serializable { private String userLanguage_ = LANGUAGE_ENGLISH_US; private final Set plugins_; private final Set features_; + private String acceptEncodingHeader_; private String htmlAcceptHeader_; private String imgAcceptHeader_; private String cssAcceptHeader_; @@ -372,13 +375,14 @@ public final class BrowserVersion implements Serializable { * Creates a new browser version instance. * * @param browserVersionNumeric the floating number version of the browser - * @param nickname the short name of the browser (like "FF52", "IE", ...) - has to be unique + * @param nickname the short name of the browser (like "FF68", "IE", ...) - has to be unique */ private BrowserVersion(final int browserVersionNumeric, final String nickname) { browserVersionNumeric_ = browserVersionNumeric; nickname_ = nickname; applicationName_ = NETSCAPE; + acceptEncodingHeader_ = "gzip, deflate"; htmlAcceptHeader_ = "*/*"; imgAcceptHeader_ = "*/*"; cssAcceptHeader_ = "*/*"; @@ -397,11 +401,11 @@ private void initFeatures() { if (isChrome()) { expectedBrowser = SupportedBrowser.CHROME; } - else if (isFirefox52()) { - expectedBrowser = SupportedBrowser.FF52; + else if (isFirefox60()) { + expectedBrowser = SupportedBrowser.FF60; } else if (isFirefox()) { - expectedBrowser = SupportedBrowser.FF60; + expectedBrowser = SupportedBrowser.FF68; } else { expectedBrowser = SupportedBrowser.IE; @@ -474,10 +478,10 @@ public boolean isFirefox() { /** * INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
- * @return whether or not this version version 52 of a Firefox browser + * @return whether or not this version version 60 of a Firefox browser */ - public boolean isFirefox52() { - return isFirefox() && getBrowserVersionNumeric() == 52; + public boolean isFirefox60() { + return isFirefox() && getBrowserVersionNumeric() == 60; } /** @@ -618,6 +622,14 @@ public String getUserLanguage() { return userLanguage_; } + /** + * Returns the value used by the browser for the {@code Accept_Encoding} header. + * @return the accept encoding header string + */ + public String getAcceptEncodingHeader() { + return acceptEncodingHeader_; + } + /** * Returns the value used by the browser for the {@code Accept} header if requesting a page. * @return the accept header string @@ -789,17 +801,17 @@ public BrowserVersionBuilder(final BrowserVersion version) { .setPlatform(version.getPlatform()) .setSystemLanguage(version.getSystemLanguage()) .setSystemTimezone(version.getSystemTimezone()) - .setUserLanguage(version.getUserLanguage()); - - workPiece_.buildId_ = version.getBuildId(); - workPiece_.productSub_ = version.getProductSub(); - workPiece_.htmlAcceptHeader_ = version.getHtmlAcceptHeader(); - workPiece_.imgAcceptHeader_ = version.getImgAcceptHeader(); - workPiece_.cssAcceptHeader_ = version.getCssAcceptHeader(); - workPiece_.scriptAcceptHeader_ = version.getScriptAcceptHeader(); - workPiece_.xmlHttpRequestAcceptHeader_ = version.getXmlHttpRequestAcceptHeader(); - workPiece_.headerNamesOrdered_ = version.getHeaderNamesOrdered(); - workPiece_.fontHeights_ = version.fontHeights_; + .setUserLanguage(version.getUserLanguage()) + .setBuildId(version.getBuildId()) + .setProductSub(version.getProductSub()) + .setAcceptEncodingHeader(version.getAcceptEncodingHeader()) + .setHtmlAcceptHeader(version.getHtmlAcceptHeader()) + .setImgAcceptHeader(version.getImgAcceptHeader()) + .setCssAcceptHeader(version.getCssAcceptHeader()) + .setScriptAcceptHeader(version.getScriptAcceptHeader()) + .setXmlHttpRequestAcceptHeader(version.getXmlHttpRequestAcceptHeader()) + .setHeaderNamesOrdered(version.getHeaderNamesOrdered()) + .setFontHeights(version.fontHeights_); for (final PluginConfiguration pluginConf : version.getPlugins()) { workPiece_.plugins_.add(pluginConf.clone()); @@ -933,6 +945,15 @@ public BrowserVersionBuilder setUserLanguage(final String userLanguage) { return this; } + /** + * @param acceptEncodingHeader the {@code Accept-Encoding} header + * @return this for fluent use + */ + public BrowserVersionBuilder setAcceptEncodingHeader(final String acceptEncodingHeader) { + workPiece_.acceptEncodingHeader_ = acceptEncodingHeader; + return this; + } + /** * @param htmlAcceptHeader the {@code Accept} header to be used when retrieving pages * @return this for fluent use @@ -978,5 +999,41 @@ public BrowserVersionBuilder setXmlHttpRequestAcceptHeader(final String xmlHttpR workPiece_.xmlHttpRequestAcceptHeader_ = xmlHttpRequestAcceptHeader; return this; } + + /** + * @param productSub the productSub + * @return this for fluent use + */ + BrowserVersionBuilder setProductSub(final String productSub) { + workPiece_.productSub_ = productSub; + return this; + } + + /** + * @param headerNamesOrdered the headerNamesOrdered + * @return this for fluent use + */ + BrowserVersionBuilder setHeaderNamesOrdered(final String[] headerNamesOrdered) { + workPiece_.headerNamesOrdered_ = headerNamesOrdered; + return this; + } + + /** + * @param headerNamesOrdered the headerNamesOrdered + * @return this for fluent use + */ + BrowserVersionBuilder setFontHeights(final int[] fontHeights) { + workPiece_.fontHeights_ = fontHeights; + return this; + } + + /** + * @param buildId the buildId + * @return this for fluent use + */ + BrowserVersionBuilder setBuildId(final String buildId) { + workPiece_.buildId_ = buildId; + return this; + } } } diff --git a/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java b/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java index 3a42a056273..2d8e7be2c1d 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/BrowserVersionFeatures.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,8 +16,8 @@ import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.CHROME; import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.FF; -import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.FF52; import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.FF60; +import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.FF68; import static com.gargoylesoftware.htmlunit.javascript.configuration.SupportedBrowser.IE; import com.gargoylesoftware.htmlunit.javascript.configuration.BrowserFeature; @@ -47,26 +47,22 @@ public enum BrowserVersionFeatures { /** Ignore target when {@code href} is a javascript snippet. */ @BrowserFeature(CHROME) - ANCHOR_IGNORE_TARGET_FOR_JS_HREF, + ANCHOR_SEND_PING_REQUEST, /** Background image is 'initial'. */ @BrowserFeature(CHROME) CSS_BACKGROUND_INITIAL, /** Background image is 'rgba(0, 0, 0, 0)'. */ - @BrowserFeature(FF60) + @BrowserFeature(FF) CSS_BACKGROUND_RGBA, - /** Computed {@code display} is {@code block} for non-attached elements. */ - @BrowserFeature(FF52) - CSS_COMPUTED_BLOCK_IF_NOT_ATTACHED, - /** Computed {@code zIndex} is not considered. */ @BrowserFeature(CHROME) CSS_COMPUTED_NO_Z_INDEX, /** Is display style of HtmlDialog is 'none'. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) CSS_DIALOG_NONE, /** Is display style 'block'. */ @@ -77,13 +73,17 @@ public enum BrowserVersionFeatures { @BrowserFeature({CHROME, FF}) CSS_DISPLAY_BLOCK2, - /** {@code CSSFontFaceRule.cssText} uses {@code \r\n} to break lines. */ - @BrowserFeature(IE) - CSS_FONTFACERULE_CSSTEXT_CRLF, - /** {@code CSSFontFaceRule.cssText} has no {@code \n}. */ @BrowserFeature(CHROME) - CSS_FONTFACERULE_CSSTEXT_NO_CRLF, + CSS_FONTFACERULE_CSSTEXT_CHROME_STYLE, + + /** {@code CSSFontFaceRule.cssText} has no {@code \n}. */ + @BrowserFeature(FF60) + CSS_FONTFACERULE_CSSTEXT_FF60_STYLE, + + /** {@code CSSFontFaceRule.cssText} uses {@code \n\t} to break lines. */ + @BrowserFeature(IE) + CSS_FONTFACERULE_CSSTEXT_IE_STYLE, /** The default value of the display property for the 'input' tags is 'inline-block'. */ @BrowserFeature({CHROME, IE}) @@ -91,7 +91,7 @@ public enum BrowserVersionFeatures { /** The default value of the display property for the 'input' tags of type * radio or checkbox is 'inline-block'. */ - @BrowserFeature(FF60) + @BrowserFeature(FF) CSS_INPUT_DISPLAY_RADIO_CHECKBOX_INLINE_BLOCK, /** 'initial' is a valid length value. */ @@ -119,7 +119,7 @@ public enum BrowserVersionFeatures { CSS_RP_DISPLAY_NONE, /** The default value of the display property for the 'rt' tag is always 'ruby-text'. */ - @BrowserFeature({IE, FF60}) + @BrowserFeature({IE, FF}) CSS_RT_DISPLAY_RUBY_TEXT_ALWAYS, /** The default value of the display property for the 'ruby' tag is 'inline'. */ @@ -130,6 +130,14 @@ public enum BrowserVersionFeatures { @BrowserFeature(IE) CSS_SET_NULL_THROWS, + /** For disconnectd items style properties are blank. */ + @BrowserFeature({CHROME, FF68}) + CSS_STYLE_PROP_DISCONNECTED_IS_EMPTY, + + /** For disconnectd items style font property is blank. */ + @BrowserFeature(CHROME) + CSS_STYLE_PROP_FONT_DISCONNECTED_IS_EMPTY, + /** Internet Explorer versions 5 and later support the behavior property. The behavior property lets * you use CSS to attach a script to a specific element in order to implement * DHTML (Dynamic HTML) components. @@ -230,17 +238,13 @@ public enum BrowserVersionFeatures { EVENT_ONMOUSEUP_NOT_FOR_SELECT_OPTION, /** PopStateEvent can not be created by calling document.createEvent('PopStateEvent'). */ - @BrowserFeature(FF60) + @BrowserFeature(FF) EVENT_ONPOPSTATE_DOCUMENT_CREATE_NOT_SUPPORTED, /** Supports event type 'BeforeUnloadEvent'. */ @BrowserFeature({CHROME, FF}) EVENT_TYPE_BEFOREUNLOADEVENT, - /** Supports event type 'FocusEvent'. */ - @BrowserFeature({CHROME, FF60, IE}) - EVENT_TYPE_FOCUSEVENT, - /** Supports event type 'HashChangeEvent'. */ @BrowserFeature({CHROME, FF}) EVENT_TYPE_HASHCHANGEEVENT, @@ -261,10 +265,6 @@ public enum BrowserVersionFeatures { @BrowserFeature(IE) EVENT_TYPE_PROGRESSEVENT, - /** Supports event type 'SVGZoomEvent'. */ - @BrowserFeature(FF52) - EVENT_TYPE_SVGZOOMEVENT, - /** Supports event type 'WheelEvent'. */ @BrowserFeature({CHROME, IE}) EVENT_TYPE_WHEELEVENT, @@ -314,15 +314,15 @@ public enum BrowserVersionFeatures { HTMLABBREVIATED, /** HtmlAllCollection.item returns null instead of undefined if an element was not found. */ - @BrowserFeature({IE, FF}) + @BrowserFeature({IE, FF60}) HTMLALLCOLLECTION_DO_NOT_CONVERT_STRINGS_TO_NUMBER, /** HtmlAllCollection.item(int) is not supported. */ - @BrowserFeature(FF) + @BrowserFeature(FF60) HTMLALLCOLLECTION_DO_NOT_SUPPORT_PARANTHESES, /** HtmlAllCollection.item(int) requires int parameter. */ - @BrowserFeature(CHROME) + @BrowserFeature({CHROME, FF68}) HTMLALLCOLLECTION_INTEGER_INDEX, /** HtmlCollection returns the first hit instead of a collection if many elements found. */ @@ -342,7 +342,7 @@ public enum BrowserVersionFeatures { HTMLBASE_HREF_DEFAULT_EMPTY, /** HtmlCollection.item() supports also doubles as index. */ - @BrowserFeature({IE, FF}) + @BrowserFeature({IE, FF60}) HTMLCOLLECTION_ITEM_FUNCT_SUPPORTS_DOUBLE_INDEX_ALSO, /** HtmlCollection.item[] supports also doubles as index. */ @@ -384,7 +384,7 @@ public enum BrowserVersionFeatures { /** /** {@code document.getElementsByName} returns an empty list if called with the empty string. */ - @BrowserFeature(FF60) + @BrowserFeature(FF) HTMLDOCUMENT_ELEMENTS_BY_NAME_EMPTY, /** We can used function in detached documents. */ @@ -458,16 +458,16 @@ public enum BrowserVersionFeatures { @BrowserFeature({CHROME, FF}) HTMLINPUT_FILE_SELECTION_START_END_NULL, - /** HTMLInputElement: type {@code file} value to be {@code fakepath}. */ - @BrowserFeature({CHROME, FF60, IE}) - HTMLINPUT_FILE_VALUE_FAKEPATH, + /** HTMLInputElement color type is not supported. */ + @BrowserFeature(IE) + HTMLINPUT_TYPE_COLOR_NOT_SUPPORTED, /** HTMLInputElement date and time types are supported. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) HTMLINPUT_TYPE_DATETIME_SUPPORTED, - /** HTMLInputElement date and time types are supported. */ - @BrowserFeature(FF60) + /** HTMLInputElement date and time types are not supported. */ + @BrowserFeature(FF) HTMLINPUT_TYPE_MONTH_NOT_SUPPORTED, /** Should the HTMLElement of {@code keygen} have no end tag. */ @@ -523,7 +523,7 @@ public enum BrowserVersionFeatures { HTML_COMMAND_TAG, /** HTML parser supports the 'isindex' tag. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) HTML_ISINDEX_TAG, /** HTML parser supports the 'main' tag. */ @@ -559,6 +559,10 @@ public enum BrowserVersionFeatures { @BrowserFeature({CHROME, FF}) HTTP_COOKIE_START_DATE_1970, + /** Browser sends Sec-Fetch headers. */ + @BrowserFeature(CHROME) + HTTP_HEADER_SEC_FETCH, + /** Browser sends Upgrade-Insecure-Requests header. */ @BrowserFeature({CHROME, FF}) HTTP_HEADER_UPGRADE_INSECURE_REQUEST, @@ -590,7 +594,7 @@ public enum BrowserVersionFeatures { JS_ANCHOR_PATHNAME_DETECT_WIN_DRIVES_URL, /** The anchor pathname property returns nothing for broken http(s) url's. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) JS_ANCHOR_PATHNAME_NONE_FOR_BROKEN_URL, /** The anchor pathname property returns nothing for none http(s) url's. */ @@ -610,7 +614,7 @@ public enum BrowserVersionFeatures { JS_ANCHOR_PROTOCOL_COLON_UPPER_CASE_DRIVE_LETTERS, /** The anchor protocol property returns 'http' for broken http(s) url's. */ - @BrowserFeature(FF60) + @BrowserFeature(FF) JS_ANCHOR_PROTOCOL_HTTP_FOR_BROKEN_URL, /** Indicates that "someFunction.arguments" is a read-only view of the function's argument. */ @@ -657,8 +661,12 @@ public enum BrowserVersionFeatures { @BrowserFeature(CHROME) JS_CLIENTHIGHT_INPUT_17, + /** ClientHeight for input is 21. */ + @BrowserFeature(FF60) + JS_CLIENTHIGHT_INPUT_21, + /** ClientRectList toString reports the first item. */ - @BrowserFeature(FF) + @BrowserFeature(FF60) JS_CLIENTRECTLIST_DEFAUL_VALUE_FROM_FIRST, /** ClientRectList.item throws instead of returning null if an element was not found. */ @@ -721,10 +729,6 @@ public enum BrowserVersionFeatures { @BrowserFeature(IE) JS_DOCUMENT_SETTING_DOMAIN_THROWS_FOR_ABOUT_BLANK, - /** If setting the document.location inside onclick() of anchor element should be triggered. */ - @BrowserFeature({IE, FF}) - JS_DOCUMENT_SET_LOCATION_EXECUTED_IN_ANCHOR, - /** createHTMLDucument requires a title. */ @BrowserFeature(IE) JS_DOMIMPLEMENTATION_CREATE_HTMLDOCOMENT_REQUIRES_TITLE, @@ -846,17 +850,13 @@ public enum BrowserVersionFeatures { JS_DOMTOKENLIST_GET_NULL_IF_OUTSIDE, /** DOMTokenList ignores duplicates when determining the length. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) JS_DOMTOKENLIST_LENGTH_IGNORES_DUPLICATES, /** DOMTokenList removed all whitespace chars during add. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) JS_DOMTOKENLIST_REMOVE_WHITESPACE_CHARS_ON_ADD, - /** DOMTokenList removed all whitespace chars during edit. */ - @BrowserFeature({CHROME, FF60, IE}) - JS_DOMTOKENLIST_REMOVE_WHITESPACE_CHARS_ON_EDIT, - /** DOMTokenList removed all whitespace chars during remove. */ @BrowserFeature({CHROME, FF}) JS_DOMTOKENLIST_REMOVE_WHITESPACE_CHARS_ON_REMOVE, @@ -902,13 +902,13 @@ public enum BrowserVersionFeatures { JS_FILE_SHORT_DATE_FORMAT, /** Indicates that the action property will not be expanded if defined as empty string. */ - @BrowserFeature(FF52) - JS_FORM_ACTION_EXPANDURL_IGNORE_EMPTY, - - /** Indicates that the action property will not be expanded if defined as empty string. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) JS_FORM_ACTION_EXPANDURL_NOT_DEFINED, + /** use content-type text/plain if the file type is unknown'. */ + @BrowserFeature(IE) + JS_FORM_DATA_CONTENT_TYPE_PLAIN_IF_FILE_TYPE_UNKNOWN, + /** form.dispatchEvent(e) submits the form if the event is of type 'submit'. */ @BrowserFeature(FF) JS_FORM_DISPATCHEVENT_SUBMITS, @@ -966,7 +966,7 @@ public enum BrowserVersionFeatures { /** * Getting the width and height of an image tag with an empty source returns 0x0. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) JS_IMAGE_WIDTH_HEIGHT_EMPTY_SOURCE_RETURNS_0x0, /** @@ -1003,7 +1003,7 @@ public enum BrowserVersionFeatures { JS_INNER_TEXT_VALUE_NULL, /** Ignore negative selection starts. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) JS_INPUT_IGNORE_NEGATIVE_SELECTION_START, /** Chrome/FF returns null for selectionStart/selectionEnd. */ @@ -1015,7 +1015,7 @@ public enum BrowserVersionFeatures { JS_INPUT_SET_TYPE_LOWERCASE, /** Setting the value of an Input Date will check for correct format. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) JS_INPUT_SET_VALUE_DATE_SUPPORTED, /** Setting the value of an Input Email to blank will result in an empty value. */ @@ -1034,9 +1034,9 @@ public enum BrowserVersionFeatures { @BrowserFeature(CHROME) JS_INTL_V8_BREAK_ITERATOR, - /** Supports Iterator and StopIteration. */ - @BrowserFeature(FF52) - JS_Iterator, + /** Indicates that isSearchProviderInstalled returns zero instead of undefined. */ + @BrowserFeature({CHROME, FF60, IE}) + JS_IS_SEARCH_PROVIDER_INSTALLED_ZERO, /** Property form for label always returns null. */ @BrowserFeature({CHROME, FF}) @@ -1071,6 +1071,10 @@ public enum BrowserVersionFeatures { @BrowserFeature({CHROME, FF}) JS_LOCATION_HREF_HASH_IS_ENCODED, + /** Reload sends a referrer header. */ + @BrowserFeature(CHROME) + JS_LOCATION_RELOAD_REFERRER, + /** Indicates that an empty media list is represented by the string 'all'. */ @BrowserFeature(IE) JS_MEDIA_LIST_ALL, @@ -1084,7 +1088,7 @@ public enum BrowserVersionFeatures { JS_MENU_TYPE_EMPTY, /** Type property of menu returns the current (maybe invalid) value. */ - @BrowserFeature(FF60) + @BrowserFeature(FF) JS_MENU_TYPE_PASS, /** Indicates if the String representation of a native function is without newline. */ @@ -1096,7 +1100,7 @@ public enum BrowserVersionFeatures { JS_NATIVE_FUNCTION_TOSTRING_NEW_LINE, /** Indicates if the String representation of a native function has a newline for empty parameter list. */ - @BrowserFeature(FF60) + @BrowserFeature(FF) JS_NATIVE_FUNCTION_TOSTRING_NL, /** Navigator.doNotTrack returns unspecified if not set. */ @@ -1172,9 +1176,15 @@ public enum BrowserVersionFeatures { @BrowserFeature(IE) JS_REGEXP_GROUP0_RETURNS_WHOLE_MATCH, - /** Javascript script tags supports the 'for' and the 'event' attribute. + /** + * Javascript script tags handles a 204 (no content) response for the src + * attrib as error. */ @BrowserFeature(IE) + JS_SCRIPT_HANDLE_204_AS_ERROR, + + /** Javascript script tags supports the 'for' and the 'event' attribute. */ + @BrowserFeature(IE) JS_SCRIPT_SUPPORTS_FOR_AND_EVENT_WINDOW, /** Javascript selectorText property returns selectors in lower case. */ @@ -1185,17 +1195,17 @@ public enum BrowserVersionFeatures { @BrowserFeature({CHROME, FF}) JS_SELECT_FILE_THROWS, - /** When expanding the collection by setting the length don't add + /** When expanding the options collection by setting the length don't add * an empty text node. */ - @BrowserFeature({CHROME, IE}) - JS_SELECT_OPTIONS_DONT_ADD_EMPTY_TEXT_CHILD_WHEN_EXPANDING, + @BrowserFeature(FF60) + JS_SELECT_OPTIONS_ADD_EMPTY_TEXT_CHILD_WHEN_EXPANDING, /** Indicates that select.options has a wong class name. */ @BrowserFeature(IE) JS_SELECT_OPTIONS_HAS_SELECT_CLASS_NAME, /** Ignore negative value when setting the length. */ - @BrowserFeature({CHROME, FF52}) + @BrowserFeature(CHROME) JS_SELECT_OPTIONS_IGNORE_NEGATIVE_LENGTH, /** The 'in' operator returns always true for HtmlOptionsCollection. */ @@ -1207,14 +1217,14 @@ public enum BrowserVersionFeatures { JS_SELECT_OPTIONS_NULL_FOR_OUTSIDE, /** Indicates that select.options.remove ignores the call if index is too large. */ - @BrowserFeature(CHROME) + @BrowserFeature({CHROME, FF68}) JS_SELECT_OPTIONS_REMOVE_IGNORE_IF_INDEX_NEGATIVE, /** Indicates that select.options.remove ignores the call if index is too large. */ - @BrowserFeature({CHROME, IE}) + @BrowserFeature({CHROME, FF68, IE}) JS_SELECT_OPTIONS_REMOVE_IGNORE_IF_INDEX_TOO_LARGE, - /** Indicates that select.options[i] throws an exception if the requested index is neagtive. */ + /** Indicates that select.options[i] throws an exception if the requested index is negative. */ @BrowserFeature(IE) JS_SELECT_OPTIONS_REMOVE_THROWS_IF_NEGATIV, @@ -1240,7 +1250,7 @@ public enum BrowserVersionFeatures { JS_STYLESHEETLIST_ACTIVE_ONLY, /** Indicates if style.setProperty ignores case when determining the priority. */ - @BrowserFeature({CHROME, IE}) + @BrowserFeature({CHROME, FF68, IE}) JS_STYLE_SET_PROPERTY_IMPORTANT_IGNORES_CASE, /** IE supports accessing unsupported style elements via getter @@ -1249,10 +1259,6 @@ public enum BrowserVersionFeatures { @BrowserFeature(IE) JS_STYLE_UNSUPPORTED_PROPERTY_GETTER, - /** Indicates if style properties are always in lower case. */ - @BrowserFeature({CHROME, FF60, IE}) - JS_STYLE_VALUES_LOWERCASE, - /** Indicates wordSpacing support percent values. */ @BrowserFeature(FF) JS_STYLE_WORD_SPACING_ACCEPTS_PERCENT, @@ -1353,6 +1359,10 @@ public enum BrowserVersionFeatures { @BrowserFeature({CHROME, FF}) JS_TYPE_ACCEPTS_ARBITRARY_VALUES, + /** Setting the property valign converts to lowercase. */ + @BrowserFeature(IE) + JS_VALIGN_CONVERTS_TO_LOWERCASE, + /** Allow inheriting parent constants * in {@link com.gargoylesoftware.htmlunit.javascript.host.event.WebGLContextEvent}. */ @BrowserFeature({CHROME, FF}) @@ -1389,12 +1399,6 @@ public enum BrowserVersionFeatures { @BrowserFeature(IE) JS_WINDOW_FRAME_BY_ID_RETURNS_WINDOW, - /** - * Difference of window.outer/inner height is 89. - */ - @BrowserFeature(CHROME) - JS_WINDOW_OUTER_INNER_HEIGHT_DIFF_133, - /** * Difference of window.outer/inner height is 63. */ @@ -1402,10 +1406,16 @@ public enum BrowserVersionFeatures { JS_WINDOW_OUTER_INNER_HEIGHT_DIFF_63, /** - * Difference of window.outer/inner height is 94. + * Difference of window.outer/inner height is 86. */ @BrowserFeature(FF) - JS_WINDOW_OUTER_INNER_HEIGHT_DIFF_94, + JS_WINDOW_OUTER_INNER_HEIGHT_DIFF_86, + + /** + * Difference of window.outer/inner height is 92. + */ + @BrowserFeature(CHROME) + JS_WINDOW_OUTER_INNER_HEIGHT_DIFF_92, /** Window.getSelection returns null, if the window is not visible. */ @BrowserFeature(FF) @@ -1447,6 +1457,10 @@ public enum BrowserVersionFeatures { @BrowserFeature(IE) JS_XML_SUPPORT_VIA_ACTIVEXOBJECT, + /** {@code XSLTProcessor.transformToDocument} supports output indent attribute. */ + @BrowserFeature(CHROME) + JS_XSLT_TRANSFORM_INDENT, + /** With special keys [in .type(int)], should we trigger onkeypress event or not. */ @BrowserFeature(FF) KEYBOARD_EVENT_SPECIAL_KEYPRESS, @@ -1493,7 +1507,7 @@ public enum BrowserVersionFeatures { RESETINPUT_DEFAULT_VALUE_IF_VALUE_NOT_DEFINED, /** The default display style of slot is 'content'. */ - @BrowserFeature({CHROME, FF60}) + @BrowserFeature({CHROME, FF}) SLOT_CONTENTS, /** Indicates that string.includes() is supported. */ @@ -1556,6 +1570,14 @@ public enum BrowserVersionFeatures { @BrowserFeature({CHROME, FF}) URL_MISSING_SLASHES, + /** Set the origin property for web socket events. */ + @BrowserFeature({CHROME, FF}) + WEBSOCKET_ORIGIN_SET, + + /** Set the srcElement property for web socket events. */ + @BrowserFeature({CHROME, FF68, IE}) + WEBSOCKET_SRC_ELEMENT_SET, + /** Execute window events. */ @BrowserFeature(IE) WINDOW_EXECUTE_EVENTS, @@ -1565,7 +1587,7 @@ public enum BrowserVersionFeatures { XHR_ALL_RESPONSE_HEADERS_APPEND_SEPARATOR, /** XMLHttpRequest.getAllResponseHeaders() uses only Lf as separator. */ - @BrowserFeature({FF60, IE}) + @BrowserFeature({FF, IE}) XHR_ALL_RESPONSE_HEADERS_SEPARATE_BY_LF, /** XMLHttpRequest triggers the opened event at the beginning of the send method again. */ @@ -1594,13 +1616,9 @@ public enum BrowserVersionFeatures { XHR_OPEN_ALLOW_EMTPY_URL, /** Indicates that the content charset is used for response parsing. */ - @BrowserFeature(FF) + @BrowserFeature({FF, CHROME}) XHR_USE_CONTENT_CHARSET, - /** Indicates that the request uses the charset from the requesting page. */ - @BrowserFeature(CHROME) - XHR_USE_DEFAULT_CHARSET_FROM_PAGE, - /** Indicates that the "*" pattern is allowed when withCredential is enabled. */ @BrowserFeature(IE) XHR_WITHCREDENTIALS_ALLOW_ORIGIN_ALL, diff --git a/src/main/java/com/gargoylesoftware/htmlunit/Cache.java b/src/main/java/com/gargoylesoftware/htmlunit/Cache.java index f95a84bc7bb..32f955de295 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/Cache.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/Cache.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -19,6 +19,7 @@ import java.util.Collections; import java.util.Date; import java.util.HashMap; +import java.util.Iterator; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -46,7 +47,8 @@ public class Cache implements Serializable { private int maxSize_ = 40; private static final Pattern DATE_HEADER_PATTERN = Pattern.compile("-?\\d+"); - private static final long DELAY = 10 * org.apache.commons.lang3.time.DateUtils.MILLIS_PER_MINUTE; + static final long DELAY = 10 * org.apache.commons.lang3.time.DateUtils.MILLIS_PER_MINUTE; + /** * The map which holds the cached responses. Note that when keying on URLs, we key on the string version * of the URLs, rather than on the URLs themselves. This is done for performance, because a) the @@ -110,6 +112,42 @@ public int hashCode() { public void touch() { lastAccess_ = System.currentTimeMillis(); } + + /** + *

Check freshness return value if + * a) s-maxage specified + * b) max-age specified + * c) expired specified + * otherwise return {@code null}

+ * + * @see RFC 7234 + * + * @param response + * @param createdAt + * @return freshnessLifetime + */ + private boolean isStillFresh(final long now) { + long freshnessLifetime = 0; + if (!HeaderUtils.containsPrivate(response_) && HeaderUtils.containsSMaxage(response_)) { + // check s-maxage + freshnessLifetime = HeaderUtils.sMaxage(response_); + } + else if (HeaderUtils.containsMaxAge(response_)) { + // check max-age + freshnessLifetime = HeaderUtils.maxAge(response_); + } + else if (response_.getResponseHeaderValue(HttpHeader.EXPIRES) != null) { + final Date expires = parseDateHeader(response_, HttpHeader.EXPIRES); + if (expires != null) { + // use the same logic as in isCacheableContent() + return expires.getTime() - now > DELAY; + } + } + else { + return true; + } + return now - createdAt_ < freshnessLifetime * org.apache.commons.lang3.time.DateUtils.MILLIS_PER_SECOND; + } } /** @@ -143,7 +181,7 @@ public boolean cacheIfPossible(final WebRequest request, final WebResponse respo * than requests and responses as is done above) because a) this allows us to cache inline CSS, b) CSS is * extremely expensive to parse, so we want to avoid it as much as possible, c) CSS files aren't usually * nearly as large as JavaScript files, so memory bloat won't be too bad, and d) caching on requests and - * responses requires checking dynamicity (see {@link #isCacheableContent(WebResponse)}), and headers often + * responses requires checking dynamically (see {@link #isCacheableContent(WebResponse)}), and headers often * aren't set up correctly, disallowing caching when in fact it should be allowed. * * @param css the CSS snippet from which styleSheet is derived @@ -206,7 +244,14 @@ protected boolean isCacheableContent(final WebResponse response) { } final Date lastModified = parseDateHeader(response, HttpHeader.LAST_MODIFIED); - final Date expires = parseDateHeader(response, HttpHeader.EXPIRES); + + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Expires + // If there is a Cache-Control header with the max-age or s-maxage directive + // in the response, the Expires header is ignored. + Date expires = null; + if (!HeaderUtils.containsMaxAgeOrSMaxage(response)) { + expires = parseDateHeader(response, HttpHeader.EXPIRES); + } final long now = getCurrentTimestamp(); @@ -230,7 +275,7 @@ protected long getCurrentTimestamp() { * @param headerName the header name * @return the specified date header of the specified response */ - protected Date parseDateHeader(final WebResponse response, final String headerName) { + protected static Date parseDateHeader(final WebResponse response, final String headerName) { final String value = response.getResponseHeaderValue(headerName); if (value == null) { return null; @@ -287,13 +332,14 @@ private Entry getCacheEntry(final WebRequest request) { if (url == null) { return null; } - final Entry cachedEntry = entries_.get(UrlUtils.normalize(url)); + + final String normalizedUrl = UrlUtils.normalize(url); + final Entry cachedEntry = entries_.get(normalizedUrl); if (cachedEntry == null) { return null; } - // check if object still fresh - if (checkFreshness(cachedEntry.response_, cachedEntry.createdAt_)) { + if (cachedEntry.isStillFresh(getCurrentTimestamp())) { synchronized (entries_) { cachedEntry.touch(); } @@ -303,43 +349,6 @@ private Entry getCacheEntry(final WebRequest request) { return null; } - /** - *

Check freshness return value if - * a) s-maxage specified - * b) max-age specified - * c) expired specified - * otherwise return {@code null}

- * - * @see RFC 7234 - * - * @param response - * @param createdAt - * @return freshnessLifetime - */ - private boolean checkFreshness(final WebResponse response, final long createdAt) { - final long now = getCurrentTimestamp(); - long freshnessLifetime = 0; - if (!HeaderUtils.containsPrivate(response) && HeaderUtils.containsSMaxage(response)) { - // check s-maxage - freshnessLifetime = HeaderUtils.sMaxage(response); - } - else if (HeaderUtils.containsMaxAge(response)) { - // check max-age - freshnessLifetime = HeaderUtils.maxAge(response); - } - else if (response.getResponseHeaderValue(HttpHeader.EXPIRES) != null) { - final Date expires = parseDateHeader(response, HttpHeader.EXPIRES); - if (expires != null) { - // use the same logic as in isCacheableContent() - return expires.getTime() - now > DELAY; - } - } - else { - return true; - } - return now - createdAt < freshnessLifetime * org.apache.commons.lang3.time.DateUtils.MILLIS_PER_SECOND; - } - /** * Returns the cached parsed version of the specified CSS snippet. If there is no * corresponding cached stylesheet, this method returns {@code null}. @@ -404,4 +413,22 @@ public void clear() { entries_.clear(); } } + + /** + * Removes outdated entries from the cache. + */ + public void clearOutdated() { + synchronized (entries_) { + final long now = getCurrentTimestamp(); + + final Iterator> iter = entries_.entrySet().iterator(); + while (iter.hasNext()) { + final Map.Entry entry = iter.next(); + if (entry.getValue().response_ == null + || !entry.getValue().isStillFresh(now)) { + iter.remove(); + } + } + } + } } diff --git a/src/main/java/com/gargoylesoftware/htmlunit/CollectingAlertHandler.java b/src/main/java/com/gargoylesoftware/htmlunit/CollectingAlertHandler.java index c605027cf8d..20b33fe4e5e 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/CollectingAlertHandler.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/CollectingAlertHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/ConfirmHandler.java b/src/main/java/com/gargoylesoftware/htmlunit/ConfirmHandler.java index 3eec9b9894e..ba7fe0319df 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/ConfirmHandler.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/ConfirmHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,13 +14,15 @@ */ package com.gargoylesoftware.htmlunit; +import java.io.Serializable; + /** * A handler for the JavaScript function window.confirm(). Confirms * are triggered when the JavaScript function window.confirm() is invoked. * * @author Mike Bowler */ -public interface ConfirmHandler { +public interface ConfirmHandler extends Serializable { /** * Handles a confirm for the specified page. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/CookieManager.java b/src/main/java/com/gargoylesoftware/htmlunit/CookieManager.java index 6fb61f1bc29..b7abd377d3b 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/CookieManager.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/CookieManager.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider.java b/src/main/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider.java index d798855c73d..12686ed440d 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/DefaultCssErrorHandler.java b/src/main/java/com/gargoylesoftware/htmlunit/DefaultCssErrorHandler.java index 1441f7a60bc..444a13efbb8 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/DefaultCssErrorHandler.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/DefaultCssErrorHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/main/java/com/gargoylesoftware/htmlunit/DefaultPageCreator.java b/src/main/java/com/gargoylesoftware/htmlunit/DefaultPageCreator.java index c4f2f6e7949..dfbb73aaf4c 100644 --- a/src/main/java/com/gargoylesoftware/htmlunit/DefaultPageCreator.java +++ b/src/main/java/com/gargoylesoftware/htmlunit/DefaultPageCreator.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -23,9 +23,11 @@ import org.apache.commons.lang3.StringUtils; import com.gargoylesoftware.htmlunit.html.DomElement; -import com.gargoylesoftware.htmlunit.html.HTMLParser; +import com.gargoylesoftware.htmlunit.html.Html; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.html.XHtmlPage; +import com.gargoylesoftware.htmlunit.html.parser.HTMLParser; +import com.gargoylesoftware.htmlunit.html.parser.neko.HtmlUnitNekoHtmlParser; import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.xml.XmlPage; @@ -80,6 +82,8 @@ public class DefaultPageCreator implements PageCreator, Serializable { private static final byte[] markerUTF16BE_ = {(byte) 0xfe, (byte) 0xff}; private static final byte[] markerUTF16LE_ = {(byte) 0xff, (byte) 0xfe}; + private static final HTMLParser htmlParser_ = new HtmlUnitNekoHtmlParser(); + /** * The different supported page types. */ @@ -164,7 +168,7 @@ public Page createPage(final WebResponse webResponse, final WebWindow webWindow) case XML: final SgmlPage sgmlPage = createXmlPage(webResponse, webWindow); final DomElement doc = sgmlPage.getDocumentElement(); - if (doc != null && HTMLParser.XHTML_NAMESPACE.equals(doc.getNamespaceURI())) { + if (doc != null && Html.XHTML_NAMESPACE.equals(doc.getNamespaceURI())) { return createXHtmlPage(webResponse, webWindow); } return sgmlPage; @@ -196,7 +200,7 @@ private String determineContentType(final WebResponse webResponse) try (InputStream contentAsStream = webResponse.getContentAsStream()) { final byte[] bytes = read(contentAsStream, 500); if (bytes.length == 0) { - return "text/plain"; + return MimeType.TEXT_PLAIN; } final String asAsciiString = new String(bytes, "ASCII").toUpperCase(Locale.ROOT); @@ -205,16 +209,24 @@ private String determineContentType(final WebResponse webResponse) } else if (startsWith(bytes, markerUTF8_) || startsWith(bytes, markerUTF16BE_) || startsWith(bytes, markerUTF16LE_)) { - return "text/plain"; + return MimeType.TEXT_PLAIN; } else if (asAsciiString.trim().startsWith("\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); loadPage2(html); assertEquals(2, getMockWebConnection().getRequestCount()); @@ -199,6 +205,7 @@ public void acceptHeaderJavascript() throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); loadPage2(html); assertEquals(2, getMockWebConnection().getRequestCount()); @@ -219,6 +226,7 @@ public void acceptHeaderJavascriptWithoutType() throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); loadPage2(html); assertEquals(2, getMockWebConnection().getRequestCount()); @@ -245,6 +253,7 @@ public void acceptHeaderCssWithoutType() throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); loadPage2(html); assertEquals(2, getMockWebConnection().getRequestCount()); @@ -271,6 +280,7 @@ public void acceptHeaderCssEmptyType() throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); final int requests = getMockWebConnection().getRequestCount(); loadPage2(html); @@ -300,6 +310,7 @@ public void acceptHeaderCssBlankType() throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); final int requests = getMockWebConnection().getRequestCount(); loadPage2(html); @@ -315,7 +326,7 @@ public void acceptHeaderCssBlankType() throws Exception { @Test @Alerts(DEFAULT = {"2", "Accept: text/css,*/*;q=0.1"}, CHROME = {"1", "Accept: text/html,application/xhtml+xml," - + "application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"}, + + "application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}, IE = {"2", "Accept: text/css, */*"}) public void acceptHeaderCssDifferentType() throws Exception { final String html @@ -331,6 +342,7 @@ public void acceptHeaderCssDifferentType() throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); final int requests = getMockWebConnection().getRequestCount(); loadPage2(html); @@ -346,7 +358,7 @@ public void acceptHeaderCssDifferentType() throws Exception { @Test @Alerts(DEFAULT = {"2", "Accept: text/css,*/*;q=0.1"}, CHROME = {"1", "Accept: text/html,application/xhtml+xml," - + "application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"}, + + "application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"}, IE = {"2", "Accept: text/css, */*"}) public void acceptHeaderCssWrongType() throws Exception { final String html @@ -362,6 +374,7 @@ public void acceptHeaderCssWrongType() throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); final int requests = getMockWebConnection().getRequestCount(); loadPage2(html); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionFeaturesTest.java b/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionFeaturesTest.java index 41c2ed67357..73e160c95e9 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionFeaturesTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionFeaturesTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -66,7 +66,7 @@ public void lexicographicOrder() { public void unusedFeatures() throws Exception { final List browsers = new LinkedList<>(); browsers.add(BrowserVersion.FIREFOX_60); - browsers.add(BrowserVersion.FIREFOX_52); + browsers.add(BrowserVersion.FIREFOX_68); browsers.add(BrowserVersion.INTERNET_EXPLORER); browsers.add(BrowserVersion.CHROME); @@ -111,8 +111,8 @@ private static SupportedBrowser expectedBrowserName(final BrowserVersion browser if (browser == BrowserVersion.FIREFOX_60) { return SupportedBrowser.FF60; } - if (browser == BrowserVersion.FIREFOX_52) { - return SupportedBrowser.FF52; + if (browser == BrowserVersion.FIREFOX_68) { + return SupportedBrowser.FF68; } return SupportedBrowser.IE; diff --git a/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java index ef989de8cc2..1671321b467 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/BrowserVersionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -32,7 +32,7 @@ public class BrowserVersionTest extends WebTestCase { @Test public void getBrowserVersionNumeric() { assertEquals(60, BrowserVersion.FIREFOX_60.getBrowserVersionNumeric()); - assertEquals(52, BrowserVersion.FIREFOX_52.getBrowserVersionNumeric()); + assertEquals(68, BrowserVersion.FIREFOX_68.getBrowserVersionNumeric()); assertEquals(11, BrowserVersion.INTERNET_EXPLORER.getBrowserVersionNumeric()); assertEquals(67, BrowserVersion.CHROME.getBrowserVersionNumeric()); } @@ -42,7 +42,7 @@ public void getBrowserVersionNumeric() { */ @Test public void testClone() { - final BrowserVersion ff = BrowserVersion.FIREFOX_52; + final BrowserVersion ff = BrowserVersion.INTERNET_EXPLORER; final BrowserVersion clone = new BrowserVersion.BrowserVersionBuilder(ff).build(); // Nickname is used as key for dictionaries storing browser setups diff --git a/src/test/java/com/gargoylesoftware/htmlunit/CacheTest.java b/src/test/java/com/gargoylesoftware/htmlunit/CacheTest.java index c0da3ac29f7..9007691a3ae 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/CacheTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/CacheTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -48,7 +48,8 @@ * @author Ahmed Ashour * @author Frank Danek * @author Anton Demydenko - */ + * @author Ronald Brill +*/ @RunWith(BrowserRunner.class) public class CacheTest extends SimpleWebTestCase { @@ -400,7 +401,7 @@ public void xhrContentCached() throws Exception { final List headers = Collections.singletonList(new NameValuePair("Last-Modified", "Sun, 15 Jul 2007 20:46:27 GMT")); - connection.setResponse(new URL(URL_FIRST, "foo.txt"), "hello", 200, "OK", "text/plain", headers); + connection.setResponse(new URL(URL_FIRST, "foo.txt"), "hello", 200, "OK", MimeType.TEXT_PLAIN, headers); loadPageWithAlerts(html); @@ -475,6 +476,12 @@ public void testMaxAgeCacheControl() throws Exception { client.getPage(pageUrl); assertEquals(2, client.getCache().getSize()); assertEquals(4, connection.getRequestCount()); + + // wait for max-age seconds + 1 for recache + Thread.sleep(2 * 1000); + client.getCache().clearOutdated(); + assertEquals(0, client.getCache().getSize()); + assertEquals(4, connection.getRequestCount()); } /** @@ -513,6 +520,12 @@ public void testSMaxageCacheControl() throws Exception { client.getPage(pageUrl); assertEquals(2, client.getCache().getSize()); assertEquals(4, connection.getRequestCount()); + + // wait for s-maxage seconds + 1 for recache + Thread.sleep(2 * 1000); + client.getCache().clearOutdated(); + assertEquals(0, client.getCache().getSize()); + assertEquals(4, connection.getRequestCount()); } /** @@ -555,6 +568,40 @@ public void testExpiresCacheControl() throws Exception { assertEquals(4, connection.getRequestCount()); } + /** + * @throws Exception if the test fails + */ + @Test + public void testMaxAgeOverrulesExpiresCacheControl() throws Exception { + final String html = "page 1\n" + + "\n" + + "\n" + + "x\n" + + ""; + + final WebClient client = getWebClient(); + + final MockWebConnection connection = new MockWebConnection(); + client.setWebConnection(connection); + + final List headers = new ArrayList<>(); + headers.add(new NameValuePair("Last-Modified", "Tue, 20 Feb 2018 10:00:00 GMT")); + headers.add(new NameValuePair("Expires", "0")); + headers.add(new NameValuePair("Cache-Control", "max-age=20")); + + final URL pageUrl = new URL(URL_FIRST, "page1.html"); + connection.setResponse(pageUrl, html, 200, "OK", "text/html;charset=ISO-8859-1", headers); + connection.setResponse(new URL(URL_FIRST, "foo.css"), "", 200, "OK", MimeType.APPLICATION_JAVASCRIPT, headers); + + client.getPage(pageUrl); + assertEquals(2, client.getCache().getSize()); + assertEquals(2, connection.getRequestCount()); + // resources should be still in cache + client.getPage(pageUrl); + assertEquals(2, client.getCache().getSize()); + assertEquals(2, connection.getRequestCount()); + } + /** * Ensures {@link WebResponse#cleanUp()} is called for overflow deleted entries. * @throws Exception if the test fails @@ -566,6 +613,7 @@ public void cleanUpOverflow() throws Exception { expect(response1.getWebRequest()).andReturn(request1); expectLastCall().atLeastOnce(); expect(response1.getResponseHeaderValue(HttpHeader.CACHE_CONTROL)).andReturn(null); + expect(response1.getResponseHeaderValue(HttpHeader.CACHE_CONTROL)).andReturn(null); expect(response1.getResponseHeaderValue(HttpHeader.LAST_MODIFIED)).andReturn(null); expect(response1.getResponseHeaderValue(HttpHeader.EXPIRES)).andReturn( formatDate(DateUtils.addHours(new Date(), 1))); @@ -575,6 +623,7 @@ public void cleanUpOverflow() throws Exception { expect(response2.getWebRequest()).andReturn(request2); expectLastCall().atLeastOnce(); expect(response2.getResponseHeaderValue(HttpHeader.CACHE_CONTROL)).andReturn(null); + expect(response2.getResponseHeaderValue(HttpHeader.CACHE_CONTROL)).andReturn(null); expect(response2.getResponseHeaderValue(HttpHeader.LAST_MODIFIED)).andReturn(null); expect(response2.getResponseHeaderValue(HttpHeader.EXPIRES)).andReturn( formatDate(DateUtils.addHours(new Date(), 1))); @@ -602,6 +651,7 @@ public void cleanUpOnClear() { expect(response1.getWebRequest()).andReturn(request1); expectLastCall().atLeastOnce(); expect(response1.getResponseHeaderValue(HttpHeader.CACHE_CONTROL)).andReturn(null); + expect(response1.getResponseHeaderValue(HttpHeader.CACHE_CONTROL)).andReturn(null); expect(response1.getResponseHeaderValue(HttpHeader.LAST_MODIFIED)).andReturn(null); expect(response1.getResponseHeaderValue(HttpHeader.EXPIRES)).andReturn( formatDate(DateUtils.addHours(new Date(), 1))); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/CodeChecker.java b/src/test/java/com/gargoylesoftware/htmlunit/CodeChecker.java index 8e09adfcfb3..59c59184dc7 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/CodeChecker.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/CodeChecker.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/CodeStyleTest.java b/src/test/java/com/gargoylesoftware/htmlunit/CodeStyleTest.java index 09d2bdf09ed..ffee68c637a 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/CodeStyleTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/CodeStyleTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -571,8 +571,7 @@ private void browserVersion_isIE(final List lines, final String relative && !relativePath.contains("BrowserVersionFeatures.java") && !relativePath.contains("DateTimeFormat.java") && !relativePath.contains("Document.java") - && !relativePath.contains("HTMLDocument2.java") - && !relativePath.contains("NashornJavaScriptEngine.java")) { + && !relativePath.contains("HTMLDocument2.java")) { int index = 1; for (final String line : lines) { if (line.contains(".isIE()")) { @@ -594,7 +593,8 @@ private void browserVersion_isIE(final List lines, final String relative && !relativePath.contains("BrowserConfiguration.java") && !relativePath.contains("BrowserVersion.java") && !relativePath.contains("Document.java") - && !relativePath.contains("HTMLParser.java") + && !relativePath.contains("HtmlUnitNekoDOMBuilder.java") + && !relativePath.contains("HtmlUnitValidatorDOMBuilder.java") && !relativePath.contains("Window.java") && !relativePath.contains("Window2.java")) { int index = 1; @@ -853,7 +853,7 @@ private void alertVerifyOrder(final String browserName, final List previ break; case "FF": - if (previousList.contains("FF60") || previousList.contains("FF52")) { + if (previousList.contains("FF60") || previousList.contains("FF68")) { addFailure("FF must be before specifc FF version in " + relativePath + ", line: " + (lineIndex + 1)); } @@ -899,7 +899,7 @@ private void indentation(final List lines, final String relativePath) { || line.startsWith(" IE = ") || line.startsWith(" FF = ") || line.startsWith(" FF60 = ") - || line.startsWith(" FF52 = ")) { + || line.startsWith(" FF68 = ")) { addFailure("Incorrect indentation in " + relativePath + ", line: " + (i + 2)); } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/CookieManager2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/CookieManager2Test.java index 1add6126c8a..953bac56a8c 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/CookieManager2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/CookieManager2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/CookieManager3Test.java b/src/test/java/com/gargoylesoftware/htmlunit/CookieManager3Test.java index a4e21a66294..6b0c07191e7 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/CookieManager3Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/CookieManager3Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/CookieManager4Test.java b/src/test/java/com/gargoylesoftware/htmlunit/CookieManager4Test.java index 5345c78fc7a..927f4fb00c4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/CookieManager4Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/CookieManager4Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/CookieManagerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/CookieManagerTest.java index 21192b38c07..0ba6d03a592 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/CookieManagerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/CookieManagerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider2Test.java index 6ea85186b20..039f4bcd73b 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -17,14 +17,16 @@ import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import static org.junit.Assert.fail; +import java.io.StringWriter; import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import org.apache.log4j.AppenderSkeleton; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.apache.log4j.spi.LoggingEvent; +import org.apache.commons.lang3.StringUtils; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.core.Logger; +import org.apache.logging.log4j.core.appender.WriterAppender; +import org.apache.logging.log4j.core.config.Configurator; +import org.apache.logging.log4j.core.layout.PatternLayout; import org.junit.Test; import org.junit.runner.RunWith; @@ -96,66 +98,33 @@ public void basicAuthenticationWrongPassword() throws Exception { */ @Test public void basicAuthentication_singleAuthenticaiton() throws Exception { - final Logger logger = Logger.getLogger("org.apache.http.headers"); + final Logger logger = (Logger) LogManager.getLogger("org.apache.http.headers"); final Level oldLevel = logger.getLevel(); - logger.setLevel(Level.DEBUG); + Configurator.setLevel(logger.getName(), Level.DEBUG); - final InMemoryAppender appender = new InMemoryAppender(); - logger.addAppender(appender); + final StringWriter stringWriter = new StringWriter(); + final PatternLayout layout = PatternLayout.newBuilder().withPattern("%msg%n").build(); + + final WriterAppender writerAppender = WriterAppender.newBuilder().setName("writeLogger").setTarget(stringWriter) + .setLayout(layout).build(); + writerAppender.start(); + + logger.addAppender(writerAppender); try { ((DefaultCredentialsProvider) getWebClient().getCredentialsProvider()).addCredentials("jetty", "jetty"); loadPage("Hi There"); - int unauthorizedCount = 0; - for (final String message : appender.getMessages()) { - if (message.contains("HTTP/1.1 401")) { - unauthorizedCount++; - } - } + int unauthorizedCount = StringUtils.countMatches(stringWriter.toString(), "HTTP/1.1 401"); assertEquals(1, unauthorizedCount); - } - finally { - logger.removeAppender(appender); - logger.setLevel(oldLevel); - } - } - - /** - * An in memory appender, used to save all logged messages in memory. - */ - public static class InMemoryAppender extends AppenderSkeleton { - private List messages_ = new ArrayList<>(); - - /** - * {@inheritDoc} - */ - @Override - protected void append(final LoggingEvent event) { - messages_.add(event.getMessage().toString()); - } - - /** - * Returns the saved messages. - * @return the saved messages - */ - public List getMessages() { - return messages_; - } - - /** - * {@inheritDoc} - */ - @Override - public void close() { + // and again + loadPage("Hi There"); + unauthorizedCount = StringUtils.countMatches(stringWriter.toString(), "HTTP/1.1 401"); + assertEquals(1, unauthorizedCount); } - - /** - * {@inheritDoc} - */ - @Override - public boolean requiresLayout() { - return false; + finally { + logger.removeAppender(writerAppender); + Configurator.setLevel(logger.getName(), oldLevel); } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider3Test.java b/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider3Test.java index 8b4fd9104f2..5d702171fa1 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider3Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProvider3Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProviderTest.java b/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProviderTest.java index de888176da4..a62ee0ea782 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProviderTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/DefaultCredentialsProviderTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/DefaultPageCreator2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/DefaultPageCreator2Test.java index c5627605b31..94c68324234 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/DefaultPageCreator2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/DefaultPageCreator2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -47,7 +47,7 @@ public void determinePageType() { assertEquals(PageType.XML, DefaultPageCreator.determinePageType("application/vnd.wap.xhtml+xml")); assertEquals(PageType.XML, DefaultPageCreator.determinePageType("application/rdf+xml")); - assertEquals(PageType.TEXT, DefaultPageCreator.determinePageType("text/plain")); + assertEquals(PageType.TEXT, DefaultPageCreator.determinePageType(MimeType.TEXT_PLAIN)); assertEquals(PageType.TEXT, DefaultPageCreator.determinePageType("text/csv")); assertEquals(PageType.TEXT, DefaultPageCreator.determinePageType("text/css")); assertEquals(PageType.TEXT, DefaultPageCreator.determinePageType("text/xhtml")); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/DefaultPageCreatorTest.java b/src/test/java/com/gargoylesoftware/htmlunit/DefaultPageCreatorTest.java index 04b33955fea..52c3cefa413 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/DefaultPageCreatorTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/DefaultPageCreatorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -36,6 +36,7 @@ * * @author Marc Guillemot * @author Ahmed Ashour + * @author Ronald Brill */ @RunWith(BrowserRunner.class) public class DefaultPageCreatorTest extends WebServerTestCase { @@ -88,17 +89,18 @@ public static class ContentTypeServlet extends HttpServlet { @Override protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws IOException { response.setContentType(request.getParameter("type")); - final Writer writer = response.getWriter(); - final boolean doctype = request.getParameter("doctype") != null; - if (doctype) { - writer.write(XHTML_DOCTYPE); - } - writer.write("foo"); } - writer.write(">foo"); } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/DocumentationTests.java b/src/test/java/com/gargoylesoftware/htmlunit/DocumentationTests.java new file mode 100644 index 00000000000..beb928156bb --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/DocumentationTests.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2002-2020 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; + +import static org.junit.Assert.assertEquals; + +import org.junit.Test; + +/** + * Tests for code from the documentation. + * + * @author Ronald Brill + */ +public class DocumentationTests { + + /** + * See {@link BrowserVersion} class comment. + * @throws Exception if the test fails + */ + @Test + public void binary() throws Exception { + final String applicationName = "APPNAME"; + final String applicationVersion = "APPVERSION"; + final String userAgent = "USERAGENT"; + + final BrowserVersion browser = + new BrowserVersion.BrowserVersionBuilder(BrowserVersion.FIREFOX_68) + .setApplicationName(applicationName) + .setApplicationVersion(applicationVersion) + .setUserAgent(userAgent) + .build(); + + assertEquals(applicationName, browser.getApplicationName()); + assertEquals(applicationVersion, browser.getApplicationVersion()); + assertEquals(userAgent, browser.getUserAgent()); + } +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/ErrorOutputChecker.java b/src/test/java/com/gargoylesoftware/htmlunit/ErrorOutputChecker.java index 26081a2a396..7d9d645bfc1 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/ErrorOutputChecker.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/ErrorOutputChecker.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -41,20 +41,31 @@ public class ErrorOutputChecker implements TestRule { // chrome Pattern.compile("Starting ChromeDriver " + ExternalTest.CHROME_DRIVER_.replace(".", "\\.") - + " ?\\(?[0-9a-f]*\\)? on port \\d*\r?\n" + + " \\(.*\\) on port \\d*\r?\n" + "Only local connections are allowed\\.\r?\n" + "Please protect ports used by ChromeDriver and related test " + "frameworks to prevent access by malicious code\\.\r?\n"), Pattern.compile(".*\\sorg.openqa.selenium.remote.ProtocolHandshake createSession\r?\n"), - Pattern.compile("INFO: Detected dialect: OSS\r?\n"), + Pattern.compile("INFO(RMATION)?: Detected dialect: W3C\r?\n"), - // GeckoDriver - Pattern.compile("[0-9]*\\sgeckodriver\\sINFO\\sgeckodriver " - + ExternalTest.GECKO_DRIVER_.replace(".", "\\.") + ".*", Pattern.DOTALL), + // FF68 + Pattern.compile("[0-9]*\\smozrunner::runner\\sINFO\\sRunning command:" + + ".*\\n" + + ".*\\r\\n" + + ".*\\r\\n" + + ".*\\r\\n" + + ".*\\r\\n" + + ".*\\r\\n" + + ".*\\r\\n" + + ".*TLS certificate errors will be ignored for this session\\r\\n"), + + // FF60 Pattern.compile("[0-9]*\\smozrunner::runner\\sINFO\\sRunning command:" + ".*\\n.*\\r\\n.*TLS certificate errors will be ignored for this session\\r\\n"), + Pattern.compile("Unable to read VR Path Registry from .*\\r\\n" + ".*\\r\\n"), + Pattern.compile("JavaScript warning: .*\\r\\n"), // ie Pattern.compile("Started InternetExplorerDriver server \\(\\d\\d\\-bit\\)\r?\n" @@ -62,6 +73,9 @@ public class ErrorOutputChecker implements TestRule { + "Listening on port \\d*\r?\n" + "Only local connections are allowed\r?\n"), + // jetty + Pattern.compile(".*Logging initialized .* to org.eclipse.jetty.util.log.StdErrLog.*\r?\n"), + // Quercus Pattern.compile(".*com.caucho.quercus.servlet.QuercusServlet initImpl\r?\n"), Pattern.compile(".*QuercusServlet starting as QuercusServletImpl\r?\n"), diff --git a/src/test/java/com/gargoylesoftware/htmlunit/ErrorOutputCheckerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/ErrorOutputCheckerTest.java index b2f2176f48b..54ebd7fd9c7 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/ErrorOutputCheckerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/ErrorOutputCheckerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/ExternalTest.java b/src/test/java/com/gargoylesoftware/htmlunit/ExternalTest.java index 8bd40f77b62..07d97196244 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/ExternalTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/ExternalTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -23,6 +23,7 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.HashMap; +import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Map; @@ -30,6 +31,7 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; +import org.junit.Assert; import org.junit.Test; import com.gargoylesoftware.htmlunit.html.DomNode; @@ -47,11 +49,11 @@ public class ExternalTest { /** Chrome driver. */ - static String CHROME_DRIVER_ = "73.0.3683.68"; - static String CHROME_DRIVER_URL_ = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_73"; + static String CHROME_DRIVER_ = "79.0.3945.36"; + static String CHROME_DRIVER_URL_ = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_79"; /** Gecko driver. */ - static String GECKO_DRIVER_ = "0.24.0"; + static String GECKO_DRIVER_ = "0.26.0"; /** IE driver. */ static String IE_DRIVER_ = "3.14.0.0"; @@ -75,6 +77,8 @@ public void testEnvironment() throws Exception { public void pom() throws Exception { final Map properties = new HashMap<>(); final List lines = FileUtils.readLines(new File("pom.xml"), ISO_8859_1); + + final List wrongVersions = new LinkedList(); for (int i = 0; i < lines.size(); i++) { final String line = lines.get(i); if (line.trim().equals("")) { @@ -88,11 +92,20 @@ public void pom() throws Exception { if (version.startsWith("${")) { version = properties.get(version.substring(2, version.length() - 1)); } - assertVersion(groupId, artifactId, version); + try { + assertVersion(groupId, artifactId, version); + } + catch (final AssertionError e) { + wrongVersions.add(e.getMessage()); + } } } } + if (wrongVersions.size() > 0) { + Assert.fail(String.join("\n ", wrongVersions)); + } + assertVersion("org.sonatype.oss", "oss-parent", "9"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/FailingHttpStatusCodeExceptionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/FailingHttpStatusCodeExceptionTest.java index 0bae9e5c578..ef68dca8ab4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/FailingHttpStatusCodeExceptionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/FailingHttpStatusCodeExceptionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/History2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/History2Test.java index 5edc71a527e..44109ec6e62 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/History2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/History2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/HistoryTest.java b/src/test/java/com/gargoylesoftware/htmlunit/HistoryTest.java index 23b0095bead..8d2f3949a06 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/HistoryTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/HistoryTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/HtmlUnitCookieStoreTest.java b/src/test/java/com/gargoylesoftware/htmlunit/HtmlUnitCookieStoreTest.java index de6c7dc71c7..d4e40df7bdf 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/HtmlUnitCookieStoreTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/HtmlUnitCookieStoreTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnection2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnection2Test.java index 2fff7541380..a65b12b17ab 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnection2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnection2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -78,6 +78,9 @@ public void formGet() throws Exception { expectedHeaders = "Connection: keep-alive\n" + "Host: localhost:" + PORT + "\n" + "Referer: http://localhost:" + PORT + "/\n" + + "Sec-Fetch-Mode: navigate\n" + + "Sec-Fetch-Site: same-origin\n" + + "Sec-Fetch-User: ?1\n" + "Upgrade-Insecure-Requests: 1\n" + "User-Agent: " + getBrowserVersion().getUserAgent() + "\n"; } @@ -147,6 +150,9 @@ public void formPost() throws Exception { + "Host: localhost:" + PORT + "\n" + "Origin: http://localhost:" + PORT + "\n" + "Referer: http://localhost:" + PORT + "/\n" + + "Sec-Fetch-Mode: navigate\n" + + "Sec-Fetch-Site: same-origin\n" + + "Sec-Fetch-User: ?1\n" + "Upgrade-Insecure-Requests: 1\n" + "User-Agent: " + getBrowserVersion().getUserAgent() + "\n"; } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnection3Test.java b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnection3Test.java index f18885c4d2e..619ab17758d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnection3Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnection3Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,10 +14,14 @@ */ package com.gargoylesoftware.htmlunit; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; +import static org.junit.Assert.fail; + import java.net.URL; import java.net.URLEncoder; import java.util.Arrays; +import org.apache.commons.lang3.StringUtils; import org.junit.Test; import org.junit.runner.RunWith; import org.openqa.selenium.By; @@ -44,7 +48,9 @@ public class HttpWebConnection3Test extends WebDriverTestCase { @Test @Alerts(CHROME = {HttpHeader.HOST, HttpHeader.CONNECTION, HttpHeader.UPGRADE_INSECURE_REQUESTS, HttpHeader.USER_AGENT, - HttpHeader.ACCEPT, HttpHeader.ACCEPT_ENCODING, HttpHeader.ACCEPT_LANGUAGE}, + HttpHeader.SEC_FETCH_USER, HttpHeader.ACCEPT, + HttpHeader.SEC_FETCH_SITE, HttpHeader.SEC_FETCH_MODE, + HttpHeader.ACCEPT_ENCODING, HttpHeader.ACCEPT_LANGUAGE}, FF = {HttpHeader.HOST, HttpHeader.USER_AGENT, HttpHeader.ACCEPT, HttpHeader.ACCEPT_LANGUAGE, HttpHeader.ACCEPT_ENCODING, HttpHeader.CONNECTION, HttpHeader.UPGRADE_INSECURE_REQUESTS}, IE = {HttpHeader.ACCEPT, HttpHeader.ACCEPT_LANGUAGE, HttpHeader.USER_AGENT, @@ -77,11 +83,16 @@ public void headers() throws Exception { @Test @Alerts(CHROME = {HttpHeader.HOST, HttpHeader.CONNECTION, HttpHeader.UPGRADE_INSECURE_REQUESTS, HttpHeader.USER_AGENT, - HttpHeader.ACCEPT, HttpHeader.REFERER, HttpHeader.ACCEPT_ENCODING, HttpHeader.ACCEPT_LANGUAGE, + HttpHeader.SEC_FETCH_USER, HttpHeader.ACCEPT, + HttpHeader.SEC_FETCH_SITE, HttpHeader.SEC_FETCH_MODE, + HttpHeader.REFERER, HttpHeader.ACCEPT_ENCODING, HttpHeader.ACCEPT_LANGUAGE, HttpHeader.COOKIE}, - FF = {HttpHeader.HOST, HttpHeader.USER_AGENT, HttpHeader.ACCEPT, HttpHeader.ACCEPT_LANGUAGE, + FF60 = {HttpHeader.HOST, HttpHeader.USER_AGENT, HttpHeader.ACCEPT, HttpHeader.ACCEPT_LANGUAGE, HttpHeader.ACCEPT_ENCODING, HttpHeader.REFERER, HttpHeader.COOKIE, HttpHeader.CONNECTION, HttpHeader.UPGRADE_INSECURE_REQUESTS}, + FF68 = {HttpHeader.HOST, HttpHeader.USER_AGENT, HttpHeader.ACCEPT, HttpHeader.ACCEPT_LANGUAGE, + HttpHeader.ACCEPT_ENCODING, HttpHeader.REFERER, HttpHeader.CONNECTION, HttpHeader.COOKIE, + HttpHeader.UPGRADE_INSECURE_REQUESTS}, IE = {HttpHeader.ACCEPT, HttpHeader.REFERER, HttpHeader.ACCEPT_LANGUAGE, HttpHeader.USER_AGENT, HttpHeader.ACCEPT_ENCODING, HttpHeader.HOST, HttpHeader.CONNECTION, HttpHeader.COOKIE}) @@ -120,6 +131,37 @@ public void headers_cookie_referer() throws Exception { } } + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "gzip, deflate", + CHROME = "gzip, deflate, br") + public void acceptEncoding() throws Exception { + final String response = "HTTP/1.1 200 OK\r\n" + + "Content-Length: 2\r\n" + + "Content-Type: text/plain\r\n" + + "\r\n" + + "Hi"; + + try (PrimitiveWebServer primitiveWebServer = new PrimitiveWebServer(null, response, null)) { + final WebDriver driver = getWebDriver(); + + driver.get("http://localhost:" + primitiveWebServer.getPort()); + final String request = primitiveWebServer.getRequests().get(0); + final String[] headers = request.split("\\r\\n"); + for (int i = 0; i < headers.length; i++) { + final String header = headers[i]; + if (StringUtils.startsWithIgnoreCase(header, HttpHeader.ACCEPT_ENCODING_LC)) { + final String value = header.substring(header.indexOf(':') + 1); + assertEquals(getExpectedAlerts()[0], value.trim()); + return; + } + } + fail("No accept-encoding header found."); + } + } + /** * An expectation for checking that the current url contains a case-sensitive substring. * @@ -177,7 +219,9 @@ public void locationUTF() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts("§§URL§§test?%D8%A3%D9%87%D9%84%D8%A7%D9%8B") + @Alerts(DEFAULT = "§§URL§§test?%D8%A3%D9%87%D9%84%D8%A7%D9%8B", + CHROME = "§§URL§§") + @NotYetImplemented(CHROME) public void locationQueryUTF8Encoded() throws Exception { final String url = "http://localhost:" + PORT_PRIMITIVE_SERVER + "/"; diff --git a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionInsecureSSLTest.java b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionInsecureSSLTest.java index 3562be4ef81..b09bfb0e79e 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionInsecureSSLTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionInsecureSSLTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionInsecureSSLWithClientCertificateTest.java b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionInsecureSSLWithClientCertificateTest.java index 2d4ff93b970..b8c424c6ab4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionInsecureSSLWithClientCertificateTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionInsecureSSLWithClientCertificateTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionProxyTest.java b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionProxyTest.java index 65b4bd9bc17..c2bc00ee003 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionProxyTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionProxyTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionTest.java index 481ebc7c592..686626097b5 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -22,6 +22,7 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.io.StringWriter; import java.io.Writer; import java.lang.reflect.Field; import java.lang.reflect.Method; @@ -49,13 +50,16 @@ import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.message.BasicHttpResponse; import org.apache.http.message.BasicStatusLine; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.core.Logger; +import org.apache.logging.log4j.core.appender.WriterAppender; +import org.apache.logging.log4j.core.config.Configurator; +import org.apache.logging.log4j.core.layout.PatternLayout; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.DefaultCredentialsProvider2Test.InMemoryAppender; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.util.KeyDataPair; import com.gargoylesoftware.htmlunit.util.MimeType; @@ -94,10 +98,10 @@ public static void assertEquals( if (expected == null && actual == null) { return; } - if (expected == null || actual == null) { + if (expected == null || expected.length < length) { fail(message); } - if (expected.length < length || actual.length < length) { + if (actual == null || actual.length < length) { fail(message); } for (int i = 0; i < length; i++) { @@ -233,9 +237,12 @@ public void designedForExtension() throws Exception { final boolean[] tabCalled = {false}; final WebConnection myWebConnection = new HttpWebConnection(webClient) { @Override - protected HttpClientBuilder createHttpClient() { + protected HttpClientBuilder createHttpClientBuilder() { tabCalled[0] = true; - return HttpClientBuilder.create(); + + final HttpClientBuilder builder = HttpClientBuilder.create(); + builder.setConnectionManagerShared(true); + return builder; } }; @@ -269,7 +276,7 @@ public void reinitialiseAfterClosing() throws Exception { public void buildFilePart() throws Exception { final String encoding = "ISO8859-1"; final KeyDataPair pair = new KeyDataPair("myFile", new File("this/doesnt_exist.txt"), "something", - "text/plain", encoding); + MimeType.TEXT_PLAIN, encoding); final MultipartEntityBuilder builder = MultipartEntityBuilder.create().setLaxMode(); try (HttpWebConnection webConnection = new HttpWebConnection(getWebClient())) { webConnection.buildFilePart(pair, builder); @@ -355,24 +362,31 @@ protected void doGet(final HttpServletRequest request, @Alerts(DEFAULT = "Host", IE = {}) public void hostHeaderFirst() throws Exception { - final Logger logger = Logger.getLogger("org.apache.http.headers"); + final Logger logger = (Logger) LogManager.getLogger("org.apache.http.headers"); final Level oldLevel = logger.getLevel(); - logger.setLevel(Level.DEBUG); + Configurator.setLevel(logger.getName(), Level.DEBUG); + + final StringWriter stringWriter = new StringWriter(); + final PatternLayout layout = PatternLayout.newBuilder().withPattern("%msg%n").build(); + + final WriterAppender writerAppender = WriterAppender.newBuilder().setName("writeLogger").setTarget(stringWriter) + .setLayout(layout).build(); + writerAppender.start(); - final InMemoryAppender appender = new InMemoryAppender(); - logger.addAppender(appender); + logger.addAppender(writerAppender); try { startWebServer("./"); final WebClient webClient = getWebClient(); webClient.getPage(URL_FIRST + "LICENSE.txt"); + final String[] messages = StringUtils.split(stringWriter.toString(), "\n"); for (int i = 0; i < getExpectedAlerts().length; i++) { - assertTrue(appender.getMessages().get(i + 1).contains(getExpectedAlerts()[i])); + assertTrue(messages[i + 1].contains(getExpectedAlerts()[i])); } } finally { - logger.removeAppender(appender); - logger.setLevel(oldLevel); + logger.removeAppender(writerAppender); + Configurator.setLevel(logger.getName(), oldLevel); } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionTruststoreTest.java b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionTruststoreTest.java index 1b2ec2ea5b4..c5bc5d013a4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionTruststoreTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/HttpWebConnectionTruststoreTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/ImmediateRefreshHandlerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/ImmediateRefreshHandlerTest.java index d2f2c1b8411..08b901087f6 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/ImmediateRefreshHandlerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/ImmediateRefreshHandlerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/IncorrectnessListenerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/IncorrectnessListenerTest.java index 3caf32de1a7..eaeaf9b9214 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/IncorrectnessListenerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/IncorrectnessListenerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/InsecureHttpsServer.java b/src/test/java/com/gargoylesoftware/htmlunit/InsecureHttpsServer.java index 07c2c09f75f..bc2333d6436 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/InsecureHttpsServer.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/InsecureHttpsServer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/LocalTestServer.java b/src/test/java/com/gargoylesoftware/htmlunit/LocalTestServer.java index ddd8b3e5fba..3b43083d3a0 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/LocalTestServer.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/LocalTestServer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/MiniServer.java b/src/test/java/com/gargoylesoftware/htmlunit/MiniServer.java index beb5d641452..34efb2df0d4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/MiniServer.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/MiniServer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -130,7 +130,7 @@ public void run() { } } - private RawResponseData getResponseData(final String in) { + private RawResponseData getResponseData(final String in) throws IOException { final WebRequest request = parseRequest(in); if (request == null) { return null; diff --git a/src/test/java/com/gargoylesoftware/htmlunit/MockWebConnectionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/MockWebConnectionTest.java index a43856677fc..64ee4093d42 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/MockWebConnectionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/MockWebConnectionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/NiceRefreshHandlerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/NiceRefreshHandlerTest.java index 4b218c44a14..812437d8583 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/NiceRefreshHandlerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/NiceRefreshHandlerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/NicelyResynchronizingAjaxControllerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/NicelyResynchronizingAjaxControllerTest.java index 002c7585d9e..7be046b813a 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/NicelyResynchronizingAjaxControllerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/NicelyResynchronizingAjaxControllerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/NoHttpResponseTest.java b/src/test/java/com/gargoylesoftware/htmlunit/NoHttpResponseTest.java index 4e87a049b23..7ea964b2710 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/NoHttpResponseTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/NoHttpResponseTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/NotYetImplementedTest.java b/src/test/java/com/gargoylesoftware/htmlunit/NotYetImplementedTest.java index 97c9b86a1bb..2eb612d3c78 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/NotYetImplementedTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/NotYetImplementedTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -156,7 +156,7 @@ private void save() throws Exception { int count = 0; int countIE = 0; int countFF60 = 0; - int countFF52 = 0; + int countFF68 = 0; int countChrome = 0; for (final String entry : entries_) { final String[] values = entry.split(";"); @@ -181,14 +181,25 @@ private void save() throws Exception { else { builder.append(" "); } - builder.append(fileName); + builder.append("") + .append(fileName) + .append(""); builder.append("\n"); lastFile = file; } builder.append(" ").append(Integer.toString(count++)).append("\n"); - builder.append(" ").append(method).append(" ") - .append(browser).append("\n"); + + builder.append(" ") + .append(method) + .append(" ") + .append(browser) + .append("\n"); builder.append(" ").append(line).append("\n"); builder.append(" ").append(description).append("\n"); builder.append(" \n"); @@ -200,14 +211,14 @@ private void save() throws Exception { if (browser.contains("FF60")) { countFF60++; } - if (browser.contains("FF52")) { - countFF52++; + if (browser.contains("FF68")) { + countFF68++; } if (!browser.contains("FF60") - && !browser.contains("FF52") + && !browser.contains("FF68") && browser.contains("FF")) { countFF60++; - countFF52++; + countFF68++; } if (browser.contains("CHROME")) { countChrome++; @@ -215,7 +226,7 @@ private void save() throws Exception { if (browser.contains("All")) { countIE++; countFF60++; - countFF52++; + countFF68++; countChrome++; } } @@ -239,8 +250,8 @@ private void save() throws Exception { overview.append(" \n"); overview.append(" \n"); - overview.append(" ").append(countFF52).append("\n"); - overview.append(" for FF52\n"); + overview.append(" ").append(countFF68).append("\n"); + overview.append(" for FF68\n"); overview.append(" \n"); overview.append(" \n"); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/ObjectInstantiationExceptionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/ObjectInstantiationExceptionTest.java index ae66a320aa2..658e68d234c 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/ObjectInstantiationExceptionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/ObjectInstantiationExceptionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/PageReloadTest.java b/src/test/java/com/gargoylesoftware/htmlunit/PageReloadTest.java index 3ad9eb9fbb1..b84ae2b523d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/PageReloadTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/PageReloadTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/PrimitiveWebServer.java b/src/test/java/com/gargoylesoftware/htmlunit/PrimitiveWebServer.java index ef824962f10..ca876d672e8 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/PrimitiveWebServer.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/PrimitiveWebServer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -112,7 +112,8 @@ public void run() { } final String response; - if (requestString.contains("/favicon.ico")) { + if (requestString.length() < 1 + || requestString.contains("/favicon.ico")) { response = "HTTP/1.1 404 Not Found\r\n" + "Content-Length: 0\r\n" + "Connection: close\r\n" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/ProxyAutoConfigTest.java b/src/test/java/com/gargoylesoftware/htmlunit/ProxyAutoConfigTest.java index 3acf9dd6be4..46d421cc215 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/ProxyAutoConfigTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/ProxyAutoConfigTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/ScriptExceptionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/ScriptExceptionTest.java index 6e18bfb6b40..bddc381c404 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/ScriptExceptionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/ScriptExceptionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/ScriptPreProcessorTest.java b/src/test/java/com/gargoylesoftware/htmlunit/ScriptPreProcessorTest.java index b0bbce8c5bd..1a173b57787 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/ScriptPreProcessorTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/ScriptPreProcessorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/SgmlPage2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/SgmlPage2Test.java index d15638f24f8..8a1b570daae 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/SgmlPage2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/SgmlPage2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/SgmlPageTest.java b/src/test/java/com/gargoylesoftware/htmlunit/SgmlPageTest.java index 399211f2ee6..8750c96904e 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/SgmlPageTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/SgmlPageTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -29,7 +29,7 @@ import com.gargoylesoftware.htmlunit.html.DomElement; import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.DomNodeList; -import com.gargoylesoftware.htmlunit.html.HTMLParser; +import com.gargoylesoftware.htmlunit.html.Html; import com.gargoylesoftware.htmlunit.html.HtmlDivision; import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.util.MimeType; @@ -116,7 +116,7 @@ public void getElementsByTagNameNSAsterisk() throws Exception { final HtmlPage page = loadPage(html); - final DomNodeList elements = page.getElementsByTagNameNS(HTMLParser.XHTML_NAMESPACE, "*"); + final DomNodeList elements = page.getElementsByTagNameNS(Html.XHTML_NAMESPACE, "*"); assertEquals(9, elements.getLength()); validateDomNodeList(elements); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/SimpleWebTestCase.java b/src/test/java/com/gargoylesoftware/htmlunit/SimpleWebTestCase.java index 4f9d2d4727d..a9bf6ad6023 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/SimpleWebTestCase.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/SimpleWebTestCase.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/SocksProxyTest.java b/src/test/java/com/gargoylesoftware/htmlunit/SocksProxyTest.java index 0ffdc652fe7..31bfba36f79 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/SocksProxyTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/SocksProxyTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/StringWebResponseTest.java b/src/test/java/com/gargoylesoftware/htmlunit/StringWebResponseTest.java index c7668ccd388..33cc5f671ac 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/StringWebResponseTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/StringWebResponseTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/TestCaseTest.java b/src/test/java/com/gargoylesoftware/htmlunit/TestCaseTest.java index 2cf4a09e125..eca9cb05843 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/TestCaseTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/TestCaseTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,7 +15,7 @@ package com.gargoylesoftware.htmlunit; import static com.gargoylesoftware.htmlunit.BrowserVersion.CHROME; -import static com.gargoylesoftware.htmlunit.BrowserVersion.FIREFOX_52; +import static com.gargoylesoftware.htmlunit.BrowserVersion.FIREFOX_68; import static com.gargoylesoftware.htmlunit.BrowserVersion.FIREFOX_60; import static com.gargoylesoftware.htmlunit.BrowserVersion.INTERNET_EXPLORER; import static java.nio.charset.StandardCharsets.ISO_8859_1; @@ -91,7 +91,7 @@ else if (line.contains("(\"ClientRect\")")) { public static Set getAllClassNames() throws Exception { final Set names = new HashSet<>(); - for (BrowserVersion browser : new BrowserVersion[] {CHROME, FIREFOX_60, FIREFOX_52, INTERNET_EXPLORER}) { + for (BrowserVersion browser : new BrowserVersion[] {CHROME, FIREFOX_60, FIREFOX_68, INTERNET_EXPLORER}) { final JavaScriptConfiguration jsConfig = JavaScriptConfiguration.getInstance(browser); for (ClassConfiguration config : jsConfig.getAll()) { names.add(config.getClassName()); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/TextPageTest.java b/src/test/java/com/gargoylesoftware/htmlunit/TextPageTest.java new file mode 100644 index 00000000000..3ed9edce14e --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/TextPageTest.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2002-2020 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; + +import java.io.File; +import java.nio.charset.StandardCharsets; + +import org.apache.commons.io.FileUtils; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.junit.runner.RunWith; + +/** + * Tests for text content. + * + * @author Ronald Brill + */ +@RunWith(BrowserRunner.class) +public class TextPageTest extends WebServerTestCase { + + /** + * Utility for temporary folders. + * Has to be public due to JUnit's constraints for @Rule. + */ + @Rule + public final TemporaryFolder tmpFolderProvider_ = new TemporaryFolder(); + + /** + * @throws Exception if the test fails + */ + @Test + public void save() throws Exception { + final String response = "HTTP/1.1 200 OK\r\n" + + "Content-Type: text/plain\r\n" + + "\r\n" + + "HtmlUnit Text Response"; + + try (PrimitiveWebServer primitiveWebServer = new PrimitiveWebServer(null, response, null)) { + final WebClient client = getWebClient(); + + final TextPage page = client.getPage("http://localhost:" + primitiveWebServer.getPort() + "/" + "text"); + + final File tmpFolder = tmpFolderProvider_.newFolder("hu"); + final File file = new File(tmpFolder, "hu_txt.plain"); + page.save(file); + assertTrue(file.exists()); + assertTrue(file.isFile()); + + assertEquals("HtmlUnit Text Response", FileUtils.readFileToString(file, StandardCharsets.UTF_8)); + } + } +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/TopLevelWindowTest.java b/src/test/java/com/gargoylesoftware/htmlunit/TopLevelWindowTest.java index a548bd85af5..d2345b06cf5 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/TopLevelWindowTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/TopLevelWindowTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WaitingRefreshHandlerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/WaitingRefreshHandlerTest.java index e51d48e7484..dd13394c1ad 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WaitingRefreshHandlerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WaitingRefreshHandlerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebAssertTest.java b/src/test/java/com/gargoylesoftware/htmlunit/WebAssertTest.java index 6e5bfcc3b90..f370a09d2ba 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebAssertTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebAssertTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebClient2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/WebClient2Test.java index d8e556b3fb6..97ff942c494 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebClient2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebClient2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebClient3Test.java b/src/test/java/com/gargoylesoftware/htmlunit/WebClient3Test.java index e0516145977..3890a53e820 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebClient3Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebClient3Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -88,7 +88,7 @@ public void readStreamTwice() throws Exception { for (int i = 0; i < binaryContent.length; i++) { binaryContent[i] = (byte) (random.nextInt(Byte.MAX_VALUE)); } - mockConnection.setDefaultResponse(binaryContent, 200, "OK", "application/octet-stream"); + mockConnection.setDefaultResponse(binaryContent, 200, "OK", MimeType.APPLICATION_OCTET_STREAM); final URL urlFoo = new URL(URL_FIRST, "foo.html"); mockConnection.setResponse(urlFoo, ""); @@ -526,7 +526,7 @@ public void javascriptContentDetectorWithoutContentMixedCase() throws Exception @Test public void javascriptContentDetectorContentTypeTextPlain() throws Exception { final MockWebConnection conn = getMockWebConnection(); - conn.setDefaultResponse("", 200, "OK", "text/plain"); + conn.setDefaultResponse("", 200, "OK", MimeType.TEXT_PLAIN); loadPageWithAlerts2(URL_FIRST); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebClient4Test.java b/src/test/java/com/gargoylesoftware/htmlunit/WebClient4Test.java index b0ac155c773..b21bccf2f11 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebClient4Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebClient4Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebClient5Test.java b/src/test/java/com/gargoylesoftware/htmlunit/WebClient5Test.java index 8e5028c2221..5f337e44e88 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebClient5Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebClient5Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebClient6Test.java b/src/test/java/com/gargoylesoftware/htmlunit/WebClient6Test.java index 70b5f6080b8..f1b86fdae6b 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebClient6Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebClient6Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebClient7Test.java b/src/test/java/com/gargoylesoftware/htmlunit/WebClient7Test.java index e95e7842ddd..b815c40f2fa 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebClient7Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebClient7Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,7 +14,6 @@ */ package com.gargoylesoftware.htmlunit; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import java.net.URL; @@ -24,6 +23,7 @@ import org.junit.runner.RunWith; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebDriverException; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.BuggyWebDriver; @@ -131,6 +131,7 @@ private void testRequestUrlEncoding(final String url) throws Exception { + "\r\n" + html; + shutDownAll(); try (PrimitiveWebServer primitiveWebServer = new PrimitiveWebServer(null, response, null)) { final URL baseUrl = new URL("http://localhost:" + primitiveWebServer.getPort() + "/"); final WebDriver driver = getWebDriver(); @@ -211,7 +212,7 @@ public void anchorUrlEncodingWindows_1251Meta() throws Exception { @Test @Alerts(DEFAULT = "/area.html?k%C3%B6nig", IE = "/area.html?k\u00c3\u00b6nig") - @BuggyWebDriver(FF60) + @BuggyWebDriver(FF = "WebDriverException") @NotYetImplemented(IE) public void areaUrlEncodingUTF8Header() throws Exception { areaUrlEncoding(true, "UTF-8"); @@ -223,7 +224,7 @@ public void areaUrlEncodingUTF8Header() throws Exception { @Test @Alerts(DEFAULT = "/area.html?k%C3%B6nig", IE = "/area.html?k\u00c3\u00b6nig") - @BuggyWebDriver(FF60) + @BuggyWebDriver(FF = "WebDriverException") @NotYetImplemented(IE) public void areaUrlEncodingUTF8Meta() throws Exception { areaUrlEncoding(false, "UTF-8"); @@ -235,7 +236,7 @@ public void areaUrlEncodingUTF8Meta() throws Exception { @Test @Alerts(DEFAULT = "/area.html?k%F6nig", IE = "/area.html?k\u00f6nig") - @BuggyWebDriver(FF60) + @BuggyWebDriver(FF = "WebDriverException") @NotYetImplemented(IE) public void areaUrlEncodingISO8859_1Header() throws Exception { areaUrlEncoding(true, "ISO-8859-1"); @@ -247,7 +248,7 @@ public void areaUrlEncodingISO8859_1Header() throws Exception { @Test @Alerts(DEFAULT = "/area.html?k%F6nig", IE = "/area.html?k\u00f6nig") - @BuggyWebDriver(FF60) + @BuggyWebDriver(FF = "WebDriverException") @NotYetImplemented(IE) public void areaUrlEncodingISO8859_1Meta() throws Exception { areaUrlEncoding(false, "ISO-8859-1"); @@ -419,7 +420,6 @@ private void urlEncoding(final boolean header, final String charset, final String addHeader, final String addHtml, final boolean click) throws Exception { - String html = "\n" + "foo\n"; if (!header) { @@ -449,20 +449,26 @@ private void urlEncoding(final boolean header, final String charset, + "Connection: close\r\n" + "\r\n"; + shutDownAll(); try (PrimitiveWebServer primitiveWebServer = new PrimitiveWebServer(Charset.forName(charset), firstResponse, secondResponse)) { final String url = "http://localhost:" + primitiveWebServer.getPort() + "/"; final WebDriver driver = getWebDriver(); driver.get(url); - if (click) { - driver.findElement(By.id("myLink")).click(); - } + try { + if (click) { + driver.findElement(By.id("myLink")).click(); + } - String reqUrl = primitiveWebServer.getRequests().get(1); - reqUrl = reqUrl.substring(4, reqUrl.indexOf("HTTP/1.1") - 1); + String reqUrl = primitiveWebServer.getRequests().get(1); + reqUrl = reqUrl.substring(4, reqUrl.indexOf("HTTP/1.1") - 1); - assertEquals(getExpectedAlerts()[0], reqUrl); + assertEquals(getExpectedAlerts()[0], reqUrl); + } + catch (final WebDriverException e) { + assertEquals(getExpectedAlerts()[0], "WebDriverException"); + } } } @@ -504,6 +510,7 @@ private void framesetUrlEncoding(final String charset) throws Exception { + "Connection: close\r\n" + "\r\n"; + shutDownAll(); try (PrimitiveWebServer primitiveWebServer = new PrimitiveWebServer(Charset.forName(charset), firstResponse, secondResponse)) { final String url = "http://localhost:" + primitiveWebServer.getPort() + "/"; diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebClient8Test.java b/src/test/java/com/gargoylesoftware/htmlunit/WebClient8Test.java new file mode 100644 index 00000000000..980253da77a --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebClient8Test.java @@ -0,0 +1,290 @@ +/* + * Copyright (c) 2002-2020 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; + +import java.net.URL; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import com.gargoylesoftware.htmlunit.html.DomElement; +import com.gargoylesoftware.htmlunit.html.DomNodeList; +import com.gargoylesoftware.htmlunit.html.HtmlInlineFrame; +import com.gargoylesoftware.htmlunit.html.HtmlPage; +import com.gargoylesoftware.htmlunit.util.MimeType; + +/** + * Tests for {@link WebClient} running with js disabled. + * + * @author Ronald Brill + */ +@RunWith(BrowserRunner.class) +public class WebClient8Test extends SimpleWebTestCase { + + /** + * @throws Exception if something goes wrong + */ + @Test + public void asText() throws Exception { + final String ls = System.lineSeparator(); + final String html = + "foo\n" + + "
Hello HtmlUnit
"; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final HtmlPage page = loadPage(webClient, html, null, URL_FIRST); + assertEquals("foo" + ls + "Hello HtmlUnit", page.asText()); + } + } + + /** + * @throws Exception if something goes wrong + */ + @Test + public void asXml() throws Exception { + final String html = + "foo\n" + + "
Hello HtmlUnit
"; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final HtmlPage page = loadPage(webClient, html, null, URL_FIRST); + assertEquals("\r\n\r\n" + + " \r\n" + + " \r\n foo\r\n \r\n" + + " \r\n" + + " \r\n" + + "
\r\n Hello \r\n" + + " \r\n HtmlUnit\r\n \r\n" + + "
\r\n" + + " \r\n" + + "\r\n", + page.asXml()); + } + } + + /** + * @throws Exception if something goes wrong + */ + @Test + public void cloneNode() throws Exception { + final String html = "\n" + + "foo\n" + + "\n" + + "

hello world

\n" + + ""; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final HtmlPage page = loadPage(webClient, html, null, URL_FIRST); + + final String org = page.asXml(); + + final HtmlPage clonedPage = page.cloneNode(true); + final String clone = clonedPage.asXml(); + + assertEquals(org, clone); + } + } + + /** + * @throws Exception if something goes wrong + */ + @Test + public void appendChildMoved() throws Exception { + final String html = "\n" + + "foo\n" + + "\n" + + "

hello

\n" + + ""; + + final String html2 = "\n" + + "foo\n" + + "\n" + + "

world

\n" + + ""; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final HtmlPage page = loadPage(webClient, html, null, URL_FIRST); + final HtmlPage page2 = loadPage(webClient, html2, null, URL_SECOND); + + final DomNodeList elements = page.getElementsByTagName("*"); + assertEquals(5, elements.getLength()); + + page.getBody().appendChild(page2.getElementById("tester")); + assertEquals(6, elements.getLength()); + } + } + + /** + * @throws Exception if something goes wrong + */ + @Test + public void iFrame() throws Exception { + final String html = "\n" + + "foo\n" + + "\n" + + " \n" + + ""; + + final String html2 = "\n" + + "frame\n" + + "\n" + + ""; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final MockWebConnection webConnection = getMockWebConnection(); + webConnection.setResponse(URL_FIRST, html); + webConnection.setDefaultResponse(html2); + webClient.setWebConnection(webConnection); + + final HtmlPage page = webClient.getPage(URL_FIRST); + + final HtmlInlineFrame iFrame = (HtmlInlineFrame) page.getElementById("tester"); + assertEquals("frame", ((HtmlPage) iFrame.getEnclosedWindow().getEnclosedPage()).getTitleText()); + } + } + + /** + * @throws Exception if something goes wrong + */ + @Test + public void iFrameTextContent() throws Exception { + final String html = "\n" + + "foo\n" + + "\n" + + " \n" + + ""; + + final String plainContent = "plain frame content"; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final MockWebConnection webConnection = getMockWebConnection(); + webConnection.setResponse(URL_FIRST, html); + webConnection.setDefaultResponse(plainContent, 200, "OK", MimeType.TEXT_PLAIN); + webClient.setWebConnection(webConnection); + + final HtmlPage page = webClient.getPage(URL_FIRST); + + final HtmlInlineFrame iFrame = (HtmlInlineFrame) page.getElementById("tester"); + assertEquals(plainContent, ((TextPage) iFrame.getEnclosedWindow().getEnclosedPage()).getContent()); + } + } + + /** + * @throws Exception if something goes wrong + */ + @Test + public void iFrameInFragment() throws Exception { + final String html = "\n" + + "foo\n" + + "\n" + + "

hello

\n" + + ""; + + final String html2 = "\n" + + "frame\n" + + "\n" + + ""; + + final String fragment = ""; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final MockWebConnection webConnection = getMockWebConnection(); + webConnection.setResponse(URL_FIRST, html); + webConnection.setDefaultResponse(html2); + webClient.setWebConnection(webConnection); + + final HtmlPage page = webClient.getPage(URL_FIRST); + final DomElement para = page.getElementById("para"); + page.getWebClient().getPageCreator().getHtmlParser().parseFragment(para, fragment); + + final HtmlInlineFrame iFrame = (HtmlInlineFrame) page.getElementById("tester"); + assertEquals("frame", ((HtmlPage) iFrame.getEnclosedWindow().getEnclosedPage()).getTitleText()); + } + } + + /** + * @throws Exception if something goes wrong + */ + @Test + public void script() throws Exception { + final String html = "\n" + + "\n" + + " foo\n" + + " \n" + + " \n" + + "\n" + + "\n" + + ""; + + final String script = "alert('test');"; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final MockWebConnection webConnection = getMockWebConnection(); + webConnection.setResponse(URL_FIRST, html); + webConnection.setDefaultResponse(script); + webClient.setWebConnection(webConnection); + + webClient.getPage(URL_FIRST); + } + } + + /** + * @throws Exception if something goes wrong + */ + @Test + public void link() throws Exception { + final String html = "\n" + + "\n" + + " foo\n" + + " \n" + + "\n" + + "\n" + + ""; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final MockWebConnection webConnection = getMockWebConnection(); + webConnection.setResponse(URL_FIRST, html); + webConnection.setResponse(new URL(URL_FIRST, "simple.css"), ""); + + webClient.setWebConnection(webConnection); + + webClient.getPage(URL_FIRST); + } + } + + /** + * @throws Exception if something goes wrong + */ + @Test + public void object() throws Exception { + final String html = "\n" + + "\n" + + " foo\n" + + "\n" + + "\n" + + "\n" + + ""; + + try (WebClient webClient = new WebClient(getBrowserVersion(), false, null, -1)) { + final MockWebConnection webConnection = getMockWebConnection(); + webConnection.setResponse(URL_FIRST, html); + webConnection.setResponse(new URL(URL_FIRST, "simple.css"), ""); + + webClient.setWebConnection(webConnection); + + webClient.getPage(URL_FIRST); + } + } +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebClientTest.java b/src/test/java/com/gargoylesoftware/htmlunit/WebClientTest.java index b300f676962..e58776ed65b 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebClientTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebClientTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -56,6 +56,8 @@ import com.gargoylesoftware.htmlunit.html.HtmlElement; import com.gargoylesoftware.htmlunit.html.HtmlInlineFrame; import com.gargoylesoftware.htmlunit.html.HtmlPage; +import com.gargoylesoftware.htmlunit.html.parser.HTMLParser; +import com.gargoylesoftware.htmlunit.html.parser.neko.HtmlUnitNekoHtmlParser; import com.gargoylesoftware.htmlunit.javascript.host.html.HTMLStyleElement; import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.util.NameValuePair; @@ -96,7 +98,8 @@ public void credentialProvider_NoCredentials() throws Exception { client.getOptions().setPrintContentOnFailingStatusCode(false); final MockWebConnection webConnection = new MockWebConnection(); - webConnection.setDefaultResponse(htmlContent, 401, "Credentials missing or just plain wrong", "text/plain"); + webConnection.setDefaultResponse(htmlContent, 401, "Credentials missing or just plain wrong", + MimeType.TEXT_PLAIN); client.setWebConnection(webConnection); try { @@ -705,6 +708,9 @@ public void setPageCreator() throws Exception { /** A PageCreator that collects data. */ private static class CollectingPageCreator implements PageCreator { private final List collectedPages_; + + private static final HTMLParser htmlParser_ = new HtmlUnitNekoHtmlParser(); + /** * Creates an instance. * @param list the list that will contain the data @@ -727,6 +733,11 @@ public Page createPage(final WebResponse webResponse, final WebWindow webWindow) collectedPages_.add(page); return page; } + + @Override + public HTMLParser getHtmlParser() { + return htmlParser_; + } } /** @@ -1587,30 +1598,31 @@ public void clientHeaderOverwritesDefault() throws Exception { @Test public void requestHeaderDoNotOverwriteWebRequestAcceptHeader() throws Exception { final String content = ""; - final WebClient client = getWebClient(); + final WebClient webClient = getWebClient(); final MockWebConnection webConnection = new MockWebConnection(); webConnection.setDefaultResponse(content); - client.setWebConnection(webConnection); + webClient.setWebConnection(webConnection); // default accept header - client.getPage(URL_FIRST); + webClient.getPage(URL_FIRST); assertNotNull(webConnection.getLastAdditionalHeaders().get(HttpHeader.ACCEPT)); assertNotEquals("application/pdf", webConnection.getLastAdditionalHeaders().get(HttpHeader.ACCEPT)); // request with accept header - final WebRequest wr = new WebRequest(URL_FIRST, "application/pdf"); - client.getPage(wr); + final WebRequest wr = new WebRequest(URL_FIRST, "application/pdf", + webClient.getBrowserVersion().getAcceptEncodingHeader()); + webClient.getPage(wr); assertEquals("application/pdf", webConnection.getLastAdditionalHeaders().get(HttpHeader.ACCEPT)); // request has an accept header use the one from the request - client.addRequestHeader(HttpHeader.ACCEPT, "image/png"); - client.getPage(wr); + webClient.addRequestHeader(HttpHeader.ACCEPT, "image/png"); + webClient.getPage(wr); assertEquals("application/pdf", webConnection.getLastAdditionalHeaders().get(HttpHeader.ACCEPT)); // request has no longer an accept header use the one from the client wr.removeAdditionalHeader(HttpHeader.ACCEPT); - client.getPage(wr); + webClient.getPage(wr); assertEquals("image/png", webConnection.getLastAdditionalHeaders().get(HttpHeader.ACCEPT)); } @@ -1679,7 +1691,7 @@ public void contentTypeCaseInsensitive() throws Exception { webConnection.setResponse(URL_FIRST, content, "ApplicaTion/Xml"); assertTrue(XmlPage.class.isInstance(client.getPage(URL_FIRST))); - webConnection.setResponse(URL_FIRST, content, "Text/Plain"); + webConnection.setResponse(URL_FIRST, content, MimeType.TEXT_PLAIN); assertTrue(TextPage.class.isInstance(client.getPage(URL_FIRST))); webConnection.setResponse(URL_FIRST, "", "Text/JavaScript"); @@ -2113,6 +2125,22 @@ public void openWindowWithAboutBlank() throws Exception { assertNotNull(window); } + /** + * @throws Exception if an error occurs + */ + @Test + public void openWindowFromTextContent() throws Exception { + final WebClient client = getWebClient(); + final MockWebConnection webConnection = new MockWebConnection(); + client.setWebConnection(webConnection); + webConnection.setResponse(URL_FIRST, "some text", MimeType.TEXT_PLAIN); + + client.getPage(URL_FIRST); + final WebWindow window = client.openWindow(URL_FIRST, "TestingWindow"); + assertNotNull(window); + assertTrue(window.getEnclosedPage().toString(), window.getEnclosedPage() instanceof TextPage); + } + /** * @throws Exception if an error occurs */ diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebClientWaitForBackgroundJobsTest.java b/src/test/java/com/gargoylesoftware/htmlunit/WebClientWaitForBackgroundJobsTest.java index 11c64b7b871..d9533128dc3 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebClientWaitForBackgroundJobsTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebClientWaitForBackgroundJobsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java b/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java index 67839e4ce77..e084358fc79 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebDriverTestCase.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -39,6 +39,7 @@ import java.util.concurrent.Executor; import java.util.concurrent.Executors; import java.util.function.Supplier; +import java.util.logging.Level; import javax.servlet.DispatcherType; import javax.servlet.Filter; @@ -90,7 +91,10 @@ import org.openqa.selenium.htmlunit.HtmlUnitWebElement; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.ie.InternetExplorerDriverService; +import org.openqa.selenium.logging.LogType; +import org.openqa.selenium.logging.LoggingPreferences; import org.openqa.selenium.remote.BrowserType; +import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.UnreachableBrowserException; @@ -107,21 +111,21 @@ * "{@code test.properties}" in the HtmlUnit root directory. * Sample: *
-   browsers=hu,ff52,ie
+   browsers=hu,ff68,ie
    chrome.bin=/path/to/chromedriver                     [Unix-like]
-   ff52.bin=/usr/bin/firefox                            [Unix-like]
+   ff68.bin=/usr/bin/firefox                            [Unix-like]
    ie.bin=C:\\path\\to\\32bit\\IEDriverServer.exe       [Windows]
    autofix=true
    
* The file could contain some properties: *
    *
  • browsers: is a comma separated list contains any combination of "hu" (for HtmlUnit with all browser versions), - * "hu-ie", "hu-ff52", "ff52", "ie", "chrome", which will be used to drive real browsers
  • + * "hu-ie", "hu-ff68", "ff68", "ie", "chrome", which will be used to drive real browsers * *
  • chrome.bin (mandatory if it does not exist in the path): is the location of the ChromeDriver binary (see * Chrome Driver downloads)
  • *
  • ff60.bin (optional): is the location of the FF binary, in Windows use double back-slashes
  • - *
  • ff52.bin (optional): is the location of the FF binary, in Windows use double back-slashes
  • + *
  • ff68.bin (optional): is the location of the FF binary, in Windows use double back-slashes
  • *
  • ie.bin (mandatory if it does not exist in the path): is the location of the IEDriverServer binary (see * IEDriverServer downloads)
  • *
  • edge.bin (mandatory if it does not exist in the path): is the location of the MicrosoftWebDriver binary @@ -148,14 +152,14 @@ public abstract class WebDriverTestCase extends WebTestCase { private static List ALL_BROWSERS_ = Collections.unmodifiableList( Arrays.asList(BrowserVersion.CHROME, BrowserVersion.FIREFOX_60, - BrowserVersion.FIREFOX_52, + BrowserVersion.FIREFOX_68, BrowserVersion.INTERNET_EXPLORER)); /** * Browsers which run by default. */ private static BrowserVersion[] DEFAULT_RUNNING_BROWSERS_ = - {BrowserVersion.CHROME, BrowserVersion.FIREFOX_60, BrowserVersion.FIREFOX_52, BrowserVersion.INTERNET_EXPLORER}; + {BrowserVersion.CHROME, BrowserVersion.FIREFOX_60, BrowserVersion.FIREFOX_68, BrowserVersion.INTERNET_EXPLORER}; private static final Log LOG = LogFactory.getLog(WebDriverTestCase.class); @@ -163,7 +167,7 @@ public abstract class WebDriverTestCase extends WebTestCase { private static String CHROME_BIN_; private static String IE_BIN_; private static String FF60_BIN_; - private static String FF52_BIN_; + private static String FF68_BIN_; /** The driver cache. */ protected static final Map WEB_DRIVERS_ = new HashMap<>(); @@ -173,15 +177,15 @@ public abstract class WebDriverTestCase extends WebTestCase { private static final Map WEB_DRIVERS_REAL_BROWSERS_USAGE_COUNT = new HashMap<>(); private static Server STATIC_SERVER_; - private static String STATIC_SERVER_STARTER_; + private static String STATIC_SERVER_STARTER_; // stack trace to save the server start code location // second server for cross-origin tests. private static Server STATIC_SERVER2_; - private static String STATIC_SERVER2_STARTER_; + private static String STATIC_SERVER2_STARTER_; // stack trace to save the server start code location // third server for multi-origin cross-origin tests. private static Server STATIC_SERVER3_; - private static String STATIC_SERVER3_STARTER_; + private static String STATIC_SERVER3_STARTER_; // stack trace to save the server start code location - private static Boolean LAST_TEST_MockWebConnection_; + private static Boolean LAST_TEST_UsesMockWebConnection_; private static final Executor EXECUTOR_POOL = Executors.newFixedThreadPool(4); private boolean useRealBrowser_; @@ -219,7 +223,7 @@ static Set getBrowsersProperties() { CHROME_BIN_ = properties.getProperty("chrome.bin"); IE_BIN_ = properties.getProperty("ie.bin"); FF60_BIN_ = properties.getProperty("ff60.bin"); - FF52_BIN_ = properties.getProperty("ff52.bin"); + FF68_BIN_ = properties.getProperty("ff68.bin"); final boolean autofix = Boolean.parseBoolean(properties.getProperty("autofix")); System.setProperty(AUTOFIX_, Boolean.toString(autofix)); @@ -319,7 +323,6 @@ public static void shutDownAll() throws Exception { shutDownRealBrowsers(); stopWebServers(); - LAST_TEST_MockWebConnection_ = null; } /** @@ -378,7 +381,7 @@ protected static void shutDownRealIE() { } /** - * Stops all WebServers. + * Asserts all static servers are null. * @throws Exception if it fails */ protected static void assertWebServersStopped() throws Exception { @@ -409,6 +412,7 @@ protected static void stopWebServers() throws Exception { STATIC_SERVER3_.destroy(); STATIC_SERVER3_ = null; } + LAST_TEST_UsesMockWebConnection_ = null; } /** @@ -454,13 +458,16 @@ protected WebDriver buildWebDriver() throws IOException { } final ChromeOptions options = new ChromeOptions(); options.addArguments("--lang=en-US"); + + final LoggingPreferences logPrefs = new LoggingPreferences(); + logPrefs.enable(LogType.BROWSER, Level.INFO); + options.setCapability(CapabilityType.LOGGING_PREFS, logPrefs); + return new ChromeDriver(options); } - if (BrowserVersion.FIREFOX_52 == getBrowserVersion()) { - // disable the new marionette interface because it requires ff47 or more - System.setProperty(FirefoxDriver.SystemProperty.DRIVER_USE_MARIONETTE, "false"); - return createFirefoxDriver(FF52_BIN_); + if (BrowserVersion.FIREFOX_68 == getBrowserVersion()) { + return createFirefoxDriver(FF68_BIN_); } if (BrowserVersion.FIREFOX_60 == getBrowserVersion()) { @@ -498,11 +505,11 @@ private static FirefoxDriver createFirefoxDriver(final String binary) { } private static String getBrowserName(final BrowserVersion browserVersion) { - if (browserVersion == BrowserVersion.FIREFOX_52) { - return BrowserType.FIREFOX + '-' + browserVersion.getBrowserVersionNumeric(); + if (browserVersion == BrowserVersion.FIREFOX_68) { + return BrowserType.FIREFOX; } else if (browserVersion == BrowserVersion.FIREFOX_60) { - return BrowserType.FIREFOX; + return BrowserType.FIREFOX + '-' + browserVersion.getBrowserVersionNumeric(); } if (browserVersion == BrowserVersion.INTERNET_EXPLORER) { return BrowserType.IE; @@ -518,11 +525,11 @@ else if (browserVersion == BrowserVersion.FIREFOX_60) { */ protected void startWebServer(final MockWebConnection mockConnection, final Charset serverCharset) throws Exception { - if (Boolean.FALSE.equals(LAST_TEST_MockWebConnection_)) { + if (Boolean.FALSE.equals(LAST_TEST_UsesMockWebConnection_)) { stopWebServers(); } - LAST_TEST_MockWebConnection_ = Boolean.TRUE; + LAST_TEST_UsesMockWebConnection_ = Boolean.TRUE; if (STATIC_SERVER_ == null) { final Server server = buildServer(PORT); @@ -646,7 +653,7 @@ protected void startWebServer2(final String resourceBase, final String[] classpa protected void startWebServer(final String resourceBase, final String[] classpath, final Map> servlets, final HandlerWrapper handler) throws Exception { stopWebServers(); - LAST_TEST_MockWebConnection_ = Boolean.FALSE; + LAST_TEST_UsesMockWebConnection_ = Boolean.FALSE; STATIC_SERVER_STARTER_ = ExceptionUtils.getStackTrace(new Throwable("StaticServerStarter")); STATIC_SERVER_ = WebServerTestCase.createWebServer(PORT, resourceBase, classpath, servlets, handler); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebRequestTest.java b/src/test/java/com/gargoylesoftware/htmlunit/WebRequestTest.java index 60d15682958..c58d675c1b0 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebRequestTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebRequestTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebResponse2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/WebResponse2Test.java index bc852e42579..1028d329829 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebResponse2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebResponse2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebResponseData2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/WebResponseData2Test.java index 1f8a7888ea6..9a7f630cf8b 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebResponseData2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebResponseData2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebResponseDataTest.java b/src/test/java/com/gargoylesoftware/htmlunit/WebResponseDataTest.java index 2161075d0d9..52b2fca32b2 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebResponseDataTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebResponseDataTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -51,6 +51,7 @@ public class WebResponseDataTest extends WebServerTestCase { private static final String GZIPPED_FILE = "testfiles/test.html.gz"; + private static final String BROTLI_FILE = "testfiles/test.html.brotli"; /** * Tests that gzipped content is handled correctly. @@ -184,7 +185,42 @@ public void brokenGZippedContent() throws Exception { data.getBody(); } catch (final RuntimeException e) { - assertTrue(StringUtils.contains(e.getMessage(), "Not in GZIP format")); + assertTrue(e.getMessage(), StringUtils.contains(e.getMessage(), "Not in GZIP format")); + } + } + + /** + * Tests that brotli encoded content is handled correctly. + * @throws Exception if the test fails + */ + @Test + public void brotliContent() throws Exception { + final InputStream stream = getClass().getClassLoader().getResourceAsStream(BROTLI_FILE); + final byte[] zippedContent = IOUtils.toByteArray(stream); + + final List headers = new ArrayList<>(); + headers.add(new NameValuePair("Content-Encoding", "br")); + + final WebResponseData data = new WebResponseData(zippedContent, HttpStatus.SC_OK, "OK", headers); + final String body = new String(data.getBody(), UTF_8); + assertTrue(StringUtils.contains(body, "Test")); + } + + /** + * Tests that broken gzipped content is handled correctly. + * @throws Exception if the test fails + */ + @Test + public void brokenBrotliContent() throws Exception { + final List headers = new ArrayList<>(); + headers.add(new NameValuePair("Content-Encoding", "br")); + + final WebResponseData data = new WebResponseData("Plain Content".getBytes(), HttpStatus.SC_OK, "OK", headers); + try { + data.getBody(); + } + catch (final RuntimeException e) { + assertTrue(e.getMessage(), StringUtils.contains(e.getMessage(), "Brotli stream decoding failed")); } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebResponseTest.java b/src/test/java/com/gargoylesoftware/htmlunit/WebResponseTest.java index 42bb41ed78e..5d04dbb8c9b 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebResponseTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebResponseTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebServerTestCase.java b/src/test/java/com/gargoylesoftware/htmlunit/WebServerTestCase.java index e05269b9610..cabf3a18c3c 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebServerTestCase.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebServerTestCase.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -63,7 +63,6 @@ public abstract class WebServerTestCase extends WebTestCase { public static final int BIND_TIMEOUT = 1000; private Server server_; - private static Boolean LAST_TEST_MockWebConnection_; private static Server STATIC_SERVER_; private WebClient webClient_; private CollectingAlertHandler alertHandler_ = new CollectingAlertHandler(); @@ -242,7 +241,6 @@ public void tearDown() throws Exception { } stopWebServer(); - WebServerTestCase.LAST_TEST_MockWebConnection_ = null; } /** @@ -331,10 +329,6 @@ private HtmlPage loadPage(final String html, final URL url, * @throws Exception if a problem occurs */ protected void startWebServer(final MockWebConnection mockConnection) throws Exception { - if (Boolean.FALSE.equals(LAST_TEST_MockWebConnection_)) { - stopWebServer(); - } - LAST_TEST_MockWebConnection_ = Boolean.TRUE; if (STATIC_SERVER_ == null) { final Server server = buildServer(PORT); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebTestCase.java b/src/test/java/com/gargoylesoftware/htmlunit/WebTestCase.java index 22c2de371c3..cebc7b9874e 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebTestCase.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebTestCase.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/WebWindowListenerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/WebWindowListenerTest.java index 1771228d9a7..2fbd295466f 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/WebWindowListenerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/WebWindowListenerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLActiveXObjectFactoryTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLActiveXObjectFactoryTest.java index 63001ee53a7..61109d51ca9 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLActiveXObjectFactoryTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLActiveXObjectFactoryTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLTestUtil.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLTestHelper.java similarity index 94% rename from src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLTestUtil.java rename to src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLTestHelper.java index 796209d0d7d..bf24d2fd1ba 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLTestUtil.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/MSXMLTestHelper.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -22,7 +22,7 @@ * @author Frank Danek * @author Ronald Brill */ -public final class MSXMLTestUtil { +public final class MSXMLTestHelper { /** Helper. */ public static final String ACTIVEX_CHECK = @@ -131,7 +131,10 @@ public static String callLoadXMLHTTPRequestFromURL(final String url) { /** Helper. */ public static final String SERIALIZE_XMLDOMDOCUMENT_TO_STRING_FUNCTION = "" + " function " + SERIALIZE_XMLDOMDOCUMENT_TO_STRING_FUNCTION_NAME + "(doc) {\n" - + " return doc.xml;\n" + + " var txt = doc.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " return txt;\n" + " }\n"; /** @@ -155,7 +158,7 @@ public static String createTestHTML(final String scriptContent) { + ""; } - private MSXMLTestUtil() { + private MSXMLTestHelper() { super(); } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMAttributeTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMAttributeTest.java index 62fab800558..bf17c5b1bd0 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMAttributeTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMAttributeTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,20 +14,20 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMAttribute}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMCDATASectionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMCDATASectionTest.java index 653a2b7fefe..e332748d9ce 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMCDATASectionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMCDATASectionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,12 +15,12 @@ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; @@ -28,8 +28,8 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMCDATASection}. @@ -429,19 +429,28 @@ public void text() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"", "", "", "]]>"}) + IE = {"", "", "", "]]>"}) public void xml() throws Exception { final String test = "" + "alert(cdata.xml);\n" // text + "cdata = root.childNodes[1];\n" - + "alert(cdata.xml);\n" + + "var txt = cdata.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" // linebreak + "cdata = root.childNodes[2];\n" - + "alert(cdata.xml);\n" + + "txt = cdata.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" // xml + "cdata = root.childNodes[3];\n" - + "alert(cdata.xml);\n"; + + "txt = cdata.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n"; final String xml = "" + "" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMCommentTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMCommentTest.java index 6cdb9ce4385..d0edb9a42e4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMCommentTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMCommentTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,20 +14,20 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMComment}. @@ -404,23 +404,38 @@ public void text() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"", "", "", "", ""}) + IE = {"", "", "", "", ""}) public void xml() throws Exception { final String test = // empty - "alert(comment.xml);\n" + "var txt = comment.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" // blank + "comment = root.childNodes[1];\n" - + "alert(comment.xml);\n" + + "txt = comment.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" // normal + "comment = root.childNodes[2];\n" - + "alert(comment.xml);\n" + + "txt = comment.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" // linebreak + "comment = root.childNodes[3];\n" - + "alert(comment.xml);\n" + + "txt = comment.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" // space + "comment = root.childNodes[4];\n" - + "alert(comment.xml);\n"; + + "txt = comment.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n"; final String xml = "" + "" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocument2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocument2Test.java index 69a810dbfe5..78b4598371d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocument2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocument2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,14 +14,14 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromString; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromString; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import java.net.URL; @@ -30,8 +30,8 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMDocument}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocument3Test.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocument3Test.java index 4cdeaebfdcf..b823acb1000 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocument3Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocument3Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,14 +14,14 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.SERIALIZE_XMLDOMDOCUMENT_TO_STRING_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromString; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callSerializeXMLDOMDocumentToString; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.SERIALIZE_XMLDOMDOCUMENT_TO_STRING_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromString; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callSerializeXMLDOMDocumentToString; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentFragmentTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentFragmentTest.java index 3adf51931f0..d86a8d0b570 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentFragmentTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentFragmentTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,20 +14,20 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMDocumentFragment}. @@ -394,12 +394,15 @@ public void xml() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = "child-text\r\n") + IE = "child-text\\r\\n") public void xml_lineBreak() throws Exception { final String test = "var text = doc.createTextNode('child-text\\n');\n" + "fragment.appendChild(text);\n" - + "alert(fragment.xml);\n"; + + "var txt = fragment.xml;\n" + + "txt = txt.replace('\\r', '\\\\r');\n" + + "txt = txt.replace('\\n', '\\\\n');\n" + + "alert(txt);\n"; tester(test); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentTest.java index d71f2895442..f0713154eb1 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,15 +15,15 @@ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION_NAME; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromString; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION_NAME; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromString; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; @@ -31,8 +31,8 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMDocument}. @@ -291,7 +291,7 @@ public void documentElement() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"true", "\r\n"}) + IE = {"true", "\\r\\n"}) public void documentElement_replaceExisting() throws Exception { final String test = "" + "doc.documentElement = doc.createElement('foo');\n" @@ -299,7 +299,10 @@ public void documentElement_replaceExisting() throws Exception { + "var element = doc.createElement('new');\n" + "doc.documentElement = element;\n" + "alert(doc.documentElement === element);\n" - + "alert(doc.xml);\n"; + + "var txt = doc.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n"; tester_create(test); } @@ -793,8 +796,8 @@ public void prefix() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"false", "\r\n", - "true", "\r\n"}) + IE = {"false", "\\r\\n", + "true", "\\r\\n"}) public void preserveWhiteSpace() throws Exception { final String test = "" + "doc.documentElement = doc.createElement('root');\n" @@ -804,12 +807,18 @@ public void preserveWhiteSpace() throws Exception { + "test.appendChild(element);\n" + "try {\n" + " alert(doc.preserveWhiteSpace);\n" - + " alert(doc.xml);\n" + + " var txt = doc.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception1'); }\n" + "try {\n" + " doc.preserveWhiteSpace = true;\n" + " alert(doc.preserveWhiteSpace);\n" - + " alert(doc.xml);\n" + + " txt = doc.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception2'); }\n"; tester_create(test); @@ -820,10 +829,10 @@ public void preserveWhiteSpace() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"false", "false", "\r\n\t\r\n\t\t\r\n\t\r\nA B C\tD\r\n\r\n", - "false", "true", "\r\n\t\r\n\t\t\r\n\t\r\nA B C\tD\r\n\r\n", - "true", "false", "\r\n\r\n \r\n\r\nA B C\tD\r\n\r\n", - "true", "true", "\r\n\r\n \r\n\r\nA B C\tD\r\n\r\n"}) + IE = {"false", "false", "\\r\\n\t\\r\\n\t\t\\r\\n\t\\r\\nA B C\tD\\r\\n\\r\\n", + "false", "true", "\\r\\n\t\\r\\n\t\t\\r\\n\t\\r\\nA B C\tD\\r\\n\\r\\n", + "true", "false", "\\r\\n\\r\\n \\r\\n\\r\\nA B C\tD\\r\\n\\r\\n", + "true", "true", "\\r\\n\\r\\n \\r\\n\\r\\nA B C\tD\\r\\n\\r\\n"}) public void preserveWhiteSpace_load() throws Exception { final String test = "" + "doc.async = false;\n" @@ -832,7 +841,10 @@ public void preserveWhiteSpace_load() throws Exception { + " alert(doc.preserveWhiteSpace);\n" + " doc.load('" + URL_SECOND + "');\n" + " alert(doc.preserveWhiteSpace);\n" - + " alert(doc.xml);\n" + + " var txt = doc.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception1'); }\n" // read false, write true + "try {\n" @@ -840,7 +852,10 @@ public void preserveWhiteSpace_load() throws Exception { + " doc.load('" + URL_SECOND + "');\n" + " doc.preserveWhiteSpace = true;\n" + " alert(doc.preserveWhiteSpace);\n" - + " alert(doc.xml);\n" + + " txt = doc.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception2'); }\n" // read true, write false + "try {\n" @@ -848,7 +863,10 @@ public void preserveWhiteSpace_load() throws Exception { + " doc.load('" + URL_SECOND + "');\n" + " doc.preserveWhiteSpace = false;\n" + " alert(doc.preserveWhiteSpace);\n" - + " alert(doc.xml);\n" + + " txt = doc.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception2'); }\n" // read true, write true + "try {\n" @@ -856,7 +874,10 @@ public void preserveWhiteSpace_load() throws Exception { + " alert(doc.preserveWhiteSpace);\n" + " doc.load('" + URL_SECOND + "');\n" + " alert(doc.preserveWhiteSpace);\n" - + " alert(doc.xml);\n" + + " txt = doc.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception2'); }\n"; final String xml @@ -1010,12 +1031,19 @@ public void url_created() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"", "\r\n"}) + IE = {"", "\\r\\n"}) public void xml() throws Exception { final String test = "" - + "alert(doc.xml);\n" + + "var txt = doc.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" + + "doc.documentElement = doc.createElement('foo');\n" - + "alert(doc.xml);\n"; + + "txt = doc.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n"; tester_create(test); } @@ -1818,14 +1846,17 @@ public void insertBefore_xmlDeclaration() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"", "\r\n", "foo"}) + IE = {"", "\\r\\n", "foo"}) public void loadXML() throws Exception { final String test = "" + "var text='';\n" + "doc.async = false;\n" + "alert(doc.xml);\n" + "doc.loadXML(text);\n" - + "alert(doc.xml);\n" + + "var txt = doc.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" + "alert(doc.documentElement.nodeName);\n"; tester_create(test); @@ -1836,15 +1867,23 @@ public void loadXML() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"\r\n", "myns:foo"}) + IE = {"\\r\\n", "myns:foo"}) public void loadXML_namespace() throws Exception { final String html = "" + " function test() {\n" + ACTIVEX_CHECK + " var text='';\n" + " var doc = " + callLoadXMLDOMDocumentFromString("text") + ";\n" - + " alert(doc.xml);\n" - + " alert(doc.documentElement.nodeName);\n" + + + " var txt = doc.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + + + " txt = doc.documentElement.nodeName;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + " }\n" + LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentTypeTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentTypeTest.java index b365149879e..82c0c293c41 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentTypeTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMDocumentTypeTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,10 +15,10 @@ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; @@ -26,8 +26,8 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMDocumentType}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMElementTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMElementTest.java index debdb90b01f..e6c095e55ef 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMElementTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMElementTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,20 +14,20 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMElement}. @@ -655,12 +655,12 @@ public void xml() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = "\r\n" - + "\t\r\n" - + "\t\r\n" - + "\t\r\n" - + "\t\r\n" - + "child-text\r\n" + IE = "\\r\\n" + + "\t\\r\\n" + + "\t\\r\\n" + + "\t\\r\\n" + + "\t\\r\\n" + + "child-text\\r\\n" + "") public void xml_lineBreak() throws Exception { final String xml = "" @@ -672,7 +672,12 @@ public void xml_lineBreak() throws Exception { + "child-text\n" + ""; - tester("alert(root.xml);\n", xml); + final String tester = + "var txt = root.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n"; + tester(tester, xml); } /** diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMImplementationTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMImplementationTest.java index 95bdf930312..232be2e91d7 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMImplementationTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMImplementationTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,10 +14,10 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMNamedNodeMapTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMNamedNodeMapTest.java index f8a16594cf6..d7b4077c261 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMNamedNodeMapTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMNamedNodeMapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,18 +14,18 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMNamedNodeMap}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMNodeListTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMNodeListTest.java index 042b40a4ad6..1929cdd3c46 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMNodeListTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMNodeListTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,17 +14,17 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMNodeList}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMParseErrorTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMParseErrorTest.java index d7358aecc9a..7308c83b417 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMParseErrorTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMParseErrorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,22 +14,22 @@ */ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromString; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromString; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMParseError}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMProcessingInstructionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMProcessingInstructionTest.java index 47bf6c5bab4..fd617b7399a 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMProcessingInstructionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMProcessingInstructionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,12 +15,12 @@ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; @@ -28,8 +28,8 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMProcessingInstruction}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMTextTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMTextTest.java index 64b6aafb56b..f040c548754 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMTextTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLDOMTextTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,12 +15,12 @@ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; @@ -28,8 +28,8 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XMLDOMText}. @@ -434,17 +434,26 @@ public void text() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"text", "text\r\ntext", " text text "}) + IE = {"text", "text\\r\\ntext", " text text "}) public void xml() throws Exception { final String test = // text - "alert(text.firstChild.xml);\n" + "var txt = text.firstChild.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" // linebreak + "text = text.nextSibling;\n" - + "alert(text.firstChild.xml);\n" + + "txt = text.firstChild.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n" // space + "text = text.nextSibling;\n" - + "alert(text.firstChild.xml);\n"; + + "var txt = text.firstChild.xml;\n" + + "txt = txt.replace(/\\r/g, '\\\\r');\n" + + "txt = txt.replace(/\\n/g, '\\\\n');\n" + + "alert(txt);\n"; final String xml = "" + "" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLHTTPRequestTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLHTTPRequestTest.java index 094081c5893..7e1397a2765 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLHTTPRequestTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLHTTPRequestTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,11 +15,11 @@ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLHTTPREQUEST_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLHTTPREQUEST_FUNCTION_NAME; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLHTTPRequest; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLHTTPREQUEST_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLHTTPREQUEST_FUNCTION_NAME; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLHTTPRequest; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import static java.nio.charset.StandardCharsets.UTF_8; import java.io.IOException; @@ -35,13 +35,14 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; -import com.gargoylesoftware.htmlunit.HttpHeader; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; +import com.gargoylesoftware.htmlunit.HttpHeader; import com.gargoylesoftware.htmlunit.WebDriverTestCase; import com.gargoylesoftware.htmlunit.WebRequest; import com.gargoylesoftware.htmlunit.javascript.host.xml.XMLHttpRequestTest.BasicAuthenticationServlet; @@ -57,6 +58,14 @@ @RunWith(BrowserRunner.class) public class XMLHTTPRequestTest extends WebDriverTestCase { + /** + * Closes the real IE; otherwise tests are failing because of cached responses. + */ + @After + public void shutDownRealBrowsersAfter() { + shutDownRealIE(); + } + /** * @throws Exception if the test fails */ @@ -107,6 +116,7 @@ private void createRequest(final String activeXName) throws Exception { + " function " + CREATE_XMLHTTPREQUEST_FUNCTION_NAME + "() {\n" + " return new ActiveXObject('" + activeXName + "');\n" + " }\n"; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); loadPageWithAlerts2(createTestHTML(html)); } @@ -188,6 +198,7 @@ public void onreadystatechange_async() throws Exception { // send + "xhr.send();\n" + "alert('sent 1');\n"; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); tester(test); } @@ -288,7 +299,7 @@ public void responseText_contentTypeText() throws Exception { + " }\n" + CREATE_XMLHTTPREQUEST_FUNCTION; - getMockWebConnection().setResponse(URL_SECOND, "", "text/plain"); + getMockWebConnection().setResponse(URL_SECOND, "", MimeType.TEXT_PLAIN); loadPageWithAlerts2(createTestHTML(html)); } @@ -344,7 +355,7 @@ public void responseText_defaultEncodingIsUTF8() throws Exception { final String response = "ol\u00E9"; final byte[] responseBytes = response.getBytes(UTF_8); - getMockWebConnection().setResponse(URL_SECOND, responseBytes, 200, "OK", "text/plain", + getMockWebConnection().setResponse(URL_SECOND, responseBytes, 200, "OK", MimeType.TEXT_PLAIN, new ArrayList()); loadPageWithAlerts2(createTestHTML(html)); } @@ -356,9 +367,9 @@ public void responseText_defaultEncodingIsUTF8() throws Exception { @Alerts(DEFAULT = "no ActiveX", IE = {"exception-created", "", - "\r\n", + "\\r\\n", "", - "\r\n"}) + "\\r\\n"}) public void responseXML_sync() throws Exception { property_lifecycleSync("responseXML.xml"); } @@ -368,7 +379,7 @@ public void responseXML_sync() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"1:", "1:", "2:", "3:", "4:\r\n"}) + IE = {"1:", "1:", "2:", "3:", "4:\\r\\n"}) public void responseXML_async() throws Exception { property_lifecycleAsync("responseXML.xml"); } @@ -421,7 +432,7 @@ public void responseXML_contentTypeText() throws Exception { + " }\n" + CREATE_XMLHTTPREQUEST_FUNCTION; - getMockWebConnection().setResponse(URL_SECOND, "", "text/plain"); + getMockWebConnection().setResponse(URL_SECOND, "", MimeType.TEXT_PLAIN); loadPageWithAlerts2(createTestHTML(html)); } @@ -430,7 +441,7 @@ public void responseXML_contentTypeText() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = "\r\n") + IE = "\\r\\n") public void responseXML_contentTypeApplicationXML() throws Exception { final String html = "" + " var xhr;\n" @@ -441,7 +452,10 @@ public void responseXML_contentTypeApplicationXML() throws Exception { + " xhr.open(\"GET\", \"" + URL_SECOND + "\", false);\n" + " xhr.send();\n" + " try {\n" - + " alert(xhr.responseXML.xml);\n" + + " var txt = xhr.responseXML.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + " } catch(e) { alert('exception-xml'); }\n" + " } catch(e) { alert('exception'); }\n" + " }\n" @@ -457,7 +471,7 @@ public void responseXML_contentTypeApplicationXML() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = "ol\u00E9\r\n") + IE = "ol\u00E9\\r\\n") public void responseXML_defaultEncodingIsUTF8() throws Exception { final String html = "" + " var xhr;\n" @@ -468,7 +482,10 @@ public void responseXML_defaultEncodingIsUTF8() throws Exception { + " xhr.open('GET', '" + URL_SECOND + "', false);\n" + " xhr.send();\n" + " try {\n" - + " alert(xhr.responseXML.xml);\n" + + " var txt = xhr.responseXML.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + " } catch(e) { alert('exception-xml'); }\n" + " } catch(e) { alert('exception'); }\n" + " }\n" @@ -580,7 +597,7 @@ public void abort_opened() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"4:200 \r\n", + IE = {"4:200 \\r\\n", "0:ex status ex text ex xml"}) public void abort_sentSync() throws Exception { final String test = "" @@ -627,9 +644,9 @@ public void abort_sentAsync() throws Exception { @Alerts(DEFAULT = "no ActiveX", IE = {"exception-created", "exception-opened", - "Date XYZ GMT\r\n" - + "Content-Type: text/xml;charset=iso-8859-1\r\n" - + "Transfer-Encoding: chunked\r\nServer: Jetty(XXX)\r\n\r\n"}) + "Date XYZ GMT\\r\\n" + + "Content-Type: text/xml;charset=iso-8859-1\\r\\n" + + "Transfer-Encoding: chunked\\r\\nServer: Jetty(XXX)\\r\\n\\r\\n"}) public void getAllResponseHeaders() throws Exception { final String test = "" // create @@ -644,8 +661,12 @@ public void getAllResponseHeaders() throws Exception { // send + "xhr.send();\n" + "try {\n" - + " alert(xhr.getAllResponseHeaders().replace(/Jetty\\(.*\\)/, 'Jetty(XXX)')" - + ".replace(/Date.*GMT/, 'Date XYZ GMT'));\n" + + " var txt = xhr.getAllResponseHeaders();\n" + + " txt = txt.replace(/Jetty\\(.*\\)/, 'Jetty(XXX)');\n" + + " txt = txt.replace(/Date.*GMT/, 'Date XYZ GMT');\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception-sent'); }\n"; tester(test, ""); @@ -1228,7 +1249,8 @@ public void send_headersDefaultBody() throws Exception { @Test @Alerts(DEFAULT = {"null", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "null", "null", "no ActiveX"}, - CHROME = {"null", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + CHROME = {"null", "text/html,application/xhtml+xml,application/xml;" + + "q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "null", "null", "no ActiveX"}, IE = {"bar", "application/javascript", @@ -1332,27 +1354,42 @@ private void property_lifecycleSync(final String property) throws Exception { final String test = "" // create + "try {\n" - + " alert(xhr." + property + ");\n" + + " var txt = '' + xhr." + property + ";\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception-created'); }\n" // open + "xhr.open(\"GET\", \"" + URL_SECOND + "\", false);\n" + "try {\n" - + " alert(xhr." + property + ");\n" + + " txt = '' + xhr." + property + ";\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception-opened'); }\n" // send + "xhr.send();\n" + "try {\n" - + " alert(xhr." + property + ");\n" + + " txt = '' + xhr." + property + ";\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception-sent'); }\n" // re-open + "xhr.open(\"GET\", \"" + URL_SECOND + "\", false);\n" + "try {\n" - + " alert(xhr." + property + ");\n" + + " txt = '' + xhr." + property + ";\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception-reopened'); }\n" // send + "xhr.send();\n" + "try {\n" - + " alert(xhr." + property + ");\n" + + " txt = '' + xhr." + property + ";\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + "} catch(e) { alert('exception-sent'); }\n"; tester(test); @@ -1362,7 +1399,10 @@ private void property_lifecycleAsync(final String property) throws Exception { final String test = "" + "xhr.onreadystatechange = function() {\n" + " try {\n" - + " alert(xhr.readyState + ':' + xhr." + property + ");\n" + + " var txt = xhr.readyState + ':' + xhr." + property + ";\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " alert(txt);\n" + " } catch(e) { alert(xhr.readyState + ':exception-async'); }\n" + "};\n" // open @@ -1403,14 +1443,17 @@ private void tester(final String test, final String xml) throws Exception { + " msg += ' ' + r.responseText;\n" + " } catch(e) { msg += ' ex text'; }\n" + " try {\n" - + " msg += ' ' + r.responseXML.xml;\n" + + " var txt = r.responseXML.xml;\n" + + " txt = txt.replace(/\\r/g, '\\\\r');\n" + + " txt = txt.replace(/\\n/g, '\\\\n');\n" + + " msg += ' ' + txt;\n" + " } catch(e) { msg += ' ex xml'; }\n" + " alert(msg);\n" + " }\n" + CREATE_XMLHTTPREQUEST_FUNCTION; getMockWebConnection().setResponse(URL_SECOND, xml, MimeType.TEXT_XML); - loadPageWithAlerts2(createTestHTML(html), URL_FIRST, 6 * DEFAULT_WAIT_TIME); + loadPageWithAlerts2(createTestHTML(html), URL_FIRST, 10 * DEFAULT_WAIT_TIME); } private void tester_bounce(final String test) throws Exception { @@ -1444,7 +1487,7 @@ private void tester_bounce(final String test) throws Exception { final Map> servlets = new HashMap<>(); servlets.put("/bounce", BounceServlet.class); - loadPageWithAlerts2(createTestHTML(html), servlets); + loadPageWithAlerts2(createTestHTML(html), URL_FIRST, DEFAULT_WAIT_TIME * 2, servlets); } /** diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLSerializerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLSerializerTest.java index 0a9fa109008..343eb0be3ba 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLSerializerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XMLSerializerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,14 +15,14 @@ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.CREATE_XMLDOMDOCUMENT_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.SERIALIZE_XMLDOMDOCUMENT_TO_STRING_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callCreateXMLDOMDocument; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromString; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callSerializeXMLDOMDocumentToString; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.CREATE_XMLDOMDOCUMENT_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_STRING_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.SERIALIZE_XMLDOMDOCUMENT_TO_STRING_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callCreateXMLDOMDocument; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromString; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callSerializeXMLDOMDocumentToString; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import org.junit.Test; import org.junit.runner.RunWith; @@ -54,8 +54,8 @@ public class XMLSerializerTest extends WebDriverTestCase { IE = {}) public void test() throws Exception { final String expectedString = getExpectedAlerts().length != 0 ? "" - : "13109Tove13109Jani13109Do32not32forget32me32this32weekend!" - + "13109131099Some32Value13101310"; + : "\\r\\n9Tove\\r\\n9Jani\\r\\n9Do32not32forget32me32this32weekend!" + + "\\r\\n9\\r\\n99Some32Value\\r\\n\\r\\n"; final String serializationText = " " @@ -79,7 +79,7 @@ public void test() throws Exception { @Alerts(DEFAULT = "no ActiveX", IE = {}) public void comment() throws Exception { - final String expectedString = getExpectedAlerts().length != 0 ? "" : "1310"; + final String expectedString = getExpectedAlerts().length != 0 ? "" : "\\r\\n"; final String serializationText = ""; final WebDriver driver = loadPageWithAlerts2(constructPageContent(serializationText)); @@ -94,7 +94,7 @@ public void comment() throws Exception { @Alerts(DEFAULT = "no ActiveX", IE = {}) public void xmlEntities() throws Exception { - final String expectedString = getExpectedAlerts().length != 0 ? "" : "<>&1310"; + final String expectedString = getExpectedAlerts().length != 0 ? "" : "<>&\\r\\n"; final String serializationText = "<>&"; final WebDriver driver = loadPageWithAlerts2(constructPageContent(serializationText)); final WebElement textArea = driver.findElement(By.id("myTextArea")); @@ -111,19 +111,19 @@ public void xmlEntities() throws Exception { // so far we are not able to add the XML header public void nameSpaces() throws Exception { final String expectedString = getExpectedAlerts().length != 0 ? "" - : "131013109131099" - + "131099913109991310991310913101310"; + : "\\r\\n\\r\\n9\\r\\n99" + + "\\r\\n999\\r\\n999\\r\\n99\\r\\n9\\r\\n\\r\\n"; final String serializationText = - "\\n" - + "\\n" - + " \\n" - + " \\n" - + " \\n" - + " \\n" - + " \\n" - + " \\n" + "\\r\\n" + + "\\r\\n" + + " \\r\\n" + + " \\r\\n" + + " \\r\\n" + + " \\r\\n" + + " \\r\\n" + + " \\r\\n" + ""; final WebDriver driver = loadPageWithAlerts2(constructPageContent(serializationText)); @@ -140,7 +140,7 @@ public void nameSpaces() throws Exception { public void attributes() throws Exception { final String expectedString = getExpectedAlerts().length != 0 ? "" : "" - + "1310"; + + "\\r\\n"; final String serializationText = "" + "" @@ -163,12 +163,12 @@ public void attributes() throws Exception { // so far we are not able to add the XML header public void htmlAttributes() throws Exception { final String expectedString = getExpectedAlerts().length != 0 ? "" - : "1310" + : "\\r\\n" + "html" + "" + "foo" + "" - + "1310"; + + "\\r\\n"; final String serializationText = "" + "" @@ -220,7 +220,7 @@ private static String constructPageContent(final String serializationText) { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = {"\r\n", ""}) + IE = {"\\r\\n", ""}) public void document() throws Exception { final String html = " function test() {\n" + ACTIVEX_CHECK @@ -268,7 +268,7 @@ public void xml() throws Exception { */ @Test @Alerts(DEFAULT = "no ActiveX", - IE = "\r\n") + IE = "\\r\\n") public void namespace() throws Exception { final String html = " function test() {\n" + ACTIVEX_CHECK diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XSLProcessor2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XSLProcessor2Test.java index 48d6fe50cfa..dffcada96c9 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XSLProcessor2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XSLProcessor2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XSLProcessorTest.java b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XSLProcessorTest.java index 66e4caeb4ac..bd29d46779c 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XSLProcessorTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/activex/javascript/msxml/XSLProcessorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,10 +15,10 @@ package com.gargoylesoftware.htmlunit.activex.javascript.msxml; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.ACTIVEX_CHECK; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.callLoadXMLDOMDocumentFromURL; -import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestUtil.createTestHTML; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.ACTIVEX_CHECK; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.LOAD_XMLDOMDOCUMENT_FROM_URL_FUNCTION; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.callLoadXMLDOMDocumentFromURL; +import static com.gargoylesoftware.htmlunit.activex.javascript.msxml.MSXMLTestHelper.createTestHTML; import java.net.URL; @@ -28,8 +28,8 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XSLProcessor}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/annotations/StandardsMode.java b/src/test/java/com/gargoylesoftware/htmlunit/annotations/StandardsMode.java index a2dcb8041bb..dcc018ad760 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/annotations/StandardsMode.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/annotations/StandardsMode.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/annotations/ToRunWithRealBrowsers.java b/src/test/java/com/gargoylesoftware/htmlunit/annotations/ToRunWithRealBrowsers.java index 21febc90c93..da0ab3cdf10 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/annotations/ToRunWithRealBrowsers.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/annotations/ToRunWithRealBrowsers.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/archunit/ArchitectureTest.java b/src/test/java/com/gargoylesoftware/htmlunit/archunit/ArchitectureTest.java new file mode 100644 index 00000000000..b2f796b8fda --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/archunit/ArchitectureTest.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2002-2020 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.archunit; + +import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes; + +import org.junit.runner.RunWith; + +import com.tngtech.archunit.junit.AnalyzeClasses; +import com.tngtech.archunit.junit.ArchTest; +import com.tngtech.archunit.junit.ArchUnitRunner; +import com.tngtech.archunit.lang.ArchRule; + +/** + * Architecture tests. + * + * @author Ronald Brill + */ +@RunWith(ArchUnitRunner.class) +@AnalyzeClasses(packages = "com.gargoylesoftware.htmlunit") +public class ArchitectureTest { + + /** + * Utility classes should be placed in 'com.gargoylesoftware.htmlunit.util'. + */ + @ArchTest + public static final ArchRule utilsPackageRule = classes() + .that().haveNameMatching(".*Util.?") + .should().resideInAPackage("com.gargoylesoftware.htmlunit.util"); +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/attachment/AttachmentTest.java b/src/test/java/com/gargoylesoftware/htmlunit/attachment/AttachmentTest.java index 64f20daedcf..c3473c215b2 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/attachment/AttachmentTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/attachment/AttachmentTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -115,7 +115,7 @@ public void filename() throws Exception { final List headers2 = new ArrayList<>(); headers2.add(new NameValuePair("Content-Disposition", "attachment; filename=hello2.html; something=else")); - conn.setResponse(URL_SECOND, content, 200, "OK", "text/plain", headers2); + conn.setResponse(URL_SECOND, content, 200, "OK", MimeType.TEXT_PLAIN, headers2); client.getPage(URL_SECOND); final Attachment result2 = attachments.get(0); assertEquals(result2.getSuggestedFilename(), "hello2.html"); @@ -124,7 +124,7 @@ public void filename() throws Exception { final List headers3 = new ArrayList<>(); headers3.add(new NameValuePair("Content-Disposition", "attachment; filename=")); - conn.setResponse(URL_SECOND, content, 200, "OK", "text/plain", headers3); + conn.setResponse(URL_SECOND, content, 200, "OK", MimeType.TEXT_PLAIN, headers3); client.getPage(URL_SECOND); final Attachment result3 = attachments.get(0); assertNull(result3.getSuggestedFilename()); @@ -167,7 +167,7 @@ public void jsChangeLocationAfterReceptionOfAttachment() throws Exception { final MockWebConnection conn = getMockWebConnection(); conn.setDefaultResponse(""); - conn.setResponse(URL_SECOND, "some text", 200, "OK", "text/plain", headers); + conn.setResponse(URL_SECOND, "some text", 200, "OK", MimeType.TEXT_PLAIN, headers); final HtmlPage page = loadPage(html); // download text attachment diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementChildNodesTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementChildNodesTest.java index fc1091cc35d..d19600f8994 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementChildNodesTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementChildNodesTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,7 +14,7 @@ */ package com.gargoylesoftware.htmlunit.general; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; import org.junit.Test; import org.junit.runner.RunWith; @@ -417,8 +417,8 @@ public void details() throws Exception { */ @Test @Alerts(DEFAULT = {"3", "2", "2", "3", "2", "2"}, - FF60 = {"1", "0", "1", "1", "0", "1"}) - @NotYetImplemented(FF60) + FF = {"1", "0", "1", "1", "0", "1"}) + @NotYetImplemented(FF) public void dialog() throws Exception { loadPageWithAlerts2(test("dialog")); } @@ -739,7 +739,7 @@ public void ins() throws Exception { @Test @Alerts(DEFAULT = {"1", "0", "1", "1", "0", "1"}, CHROME = {"3", "2", "2", "3", "2", "2"}, - FF60 = {"3", "2", "2", "3", "2", "2"}) + FF = {"3", "2", "2", "3", "2", "2"}) public void isindex() throws Exception { loadPageWithAlerts2(test("isindex")); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementClosesItselfTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementClosesItselfTest.java index 20c7fb02cb8..bcf6a3a29ef 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementClosesItselfTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementClosesItselfTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -811,7 +811,7 @@ public void ins() throws Exception { @Test @Alerts(DEFAULT = "0", CHROME = "1", - FF60 = "1") + FF = "1") public void isindex() throws Exception { loadPageWithAlerts2(test("isindex")); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementCreationTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementCreationTest.java index dbb540748a8..75d478c421f 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementCreationTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementCreationTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -97,9 +97,8 @@ public void a() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "[object HTMLAppletElement]", - CHROME = "[object HTMLUnknownElement]", - FF60 = "[object HTMLUnknownElement]") + @Alerts(DEFAULT = "[object HTMLUnknownElement]", + IE = "[object HTMLAppletElement]") public void applet() throws Exception { test("applet"); } @@ -190,7 +189,8 @@ public void basefont() throws Exception { */ @Test @Alerts(DEFAULT = "[object HTMLUnknownElement]", - CHROME = "[object HTMLElement]") + CHROME = "[object HTMLElement]", + FF68 = "[object HTMLElement]") public void bdi() throws Exception { test("bdi"); } @@ -882,7 +882,7 @@ public void mark() throws Exception { */ @Test @Alerts(DEFAULT = "[object HTMLMarqueeElement]", - FF = "[object HTMLDivElement]") + FF60 = "[object HTMLDivElement]") public void marquee() throws Exception { test("marquee"); } @@ -2055,7 +2055,8 @@ public void template() throws Exception { */ @Test @Alerts(DEFAULT = "[object HTMLUnknownElement]", - CHROME = "[object HTMLSlotElement]") + CHROME = "[object HTMLSlotElement]", + FF68 = "[object HTMLSlotElement]") public void slot() throws Exception { test("slot"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementDefaultStyleDisplayTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementDefaultStyleDisplayTest.java index dc59414212a..af74b6a8c91 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementDefaultStyleDisplayTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementDefaultStyleDisplayTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -52,7 +52,6 @@ private static String test(final String tagName) { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void abbr() throws Exception { @@ -66,7 +65,6 @@ public void abbr() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void acronym() throws Exception { @@ -80,7 +78,6 @@ public void acronym() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void a() throws Exception { @@ -94,7 +91,8 @@ public void a() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void address() throws Exception { loadPageWithAlerts2(test("address")); } @@ -106,7 +104,6 @@ public void address() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void applet() throws Exception { @@ -120,7 +117,8 @@ public void applet() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF = {"none", "none"}, + FF60 = {"none", "none"}, + FF68 = {"", "none"}, IE = {"inline", "inline"}) public void area() throws Exception { loadPageWithAlerts2(test("area")); @@ -133,7 +131,8 @@ public void area() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void article() throws Exception { loadPageWithAlerts2(test("article")); } @@ -145,7 +144,8 @@ public void article() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void aside() throws Exception { loadPageWithAlerts2(test("aside")); } @@ -157,7 +157,8 @@ public void aside() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "none"}) + CHROME = {"", "none"}, + FF68 = {"", "none"}) public void audio() throws Exception { loadPageWithAlerts2(test("audio")); } @@ -169,7 +170,6 @@ public void audio() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void bgsound() throws Exception { @@ -183,7 +183,8 @@ public void bgsound() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF = {"none", "none"}, + FF60 = {"none", "none"}, + FF68 = {"", "none"}, IE = {"inline", "inline"}) public void base() throws Exception { loadPageWithAlerts2(test("base")); @@ -196,7 +197,8 @@ public void base() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF = {"none", "none"}, + FF60 = {"none", "none"}, + FF68 = {"", "none"}, IE = {"inline", "inline"}) public void basefont() throws Exception { loadPageWithAlerts2(test("basefont")); @@ -209,7 +211,6 @@ public void basefont() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void bdi() throws Exception { @@ -223,7 +224,6 @@ public void bdi() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void bdo() throws Exception { @@ -237,7 +237,6 @@ public void bdo() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void big() throws Exception { @@ -251,7 +250,6 @@ public void big() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void blink() throws Exception { @@ -265,7 +263,8 @@ public void blink() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void blockquote() throws Exception { loadPageWithAlerts2(test("blockquote")); } @@ -277,7 +276,8 @@ public void blockquote() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void body() throws Exception { loadPageWithAlerts2(test("body")); } @@ -289,7 +289,6 @@ public void body() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void b() throws Exception { @@ -303,7 +302,6 @@ public void b() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void br() throws Exception { @@ -317,7 +315,6 @@ public void br() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline-block"}, - FF52 = {"block", "inline-block"}, FF60 = {"inline-block", "inline-block"}, IE = {"inline-block", "inline-block"}) public void button() throws Exception { @@ -331,7 +328,6 @@ public void button() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void canvas() throws Exception { @@ -345,7 +341,6 @@ public void canvas() throws Exception { */ @Test @Alerts(DEFAULT = {"", "table-caption"}, - FF52 = {"block", "table-caption"}, FF60 = {"table-caption", "table-caption"}, IE = {"table-caption", "table-caption"}) public void caption() throws Exception { @@ -359,7 +354,8 @@ public void caption() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void center() throws Exception { loadPageWithAlerts2(test("center")); } @@ -371,7 +367,6 @@ public void center() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void cite() throws Exception { @@ -385,7 +380,6 @@ public void cite() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void code() throws Exception { @@ -399,7 +393,6 @@ public void code() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void command() throws Exception { @@ -413,7 +406,8 @@ public void command() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "none"}) + CHROME = {"", "none"}, + FF68 = {"", "none"}) public void datalist() throws Exception { loadPageWithAlerts2(test("datalist")); } @@ -425,7 +419,6 @@ public void datalist() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void dfn() throws Exception { @@ -440,9 +433,11 @@ public void dfn() throws Exception { @Test @Alerts(DEFAULT = {"", "block"}, FF = {"block", "inline"}, + FF68 = {"", "inline"}, IE = {"block", "block"}) @AlertsStandards(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void dd() throws Exception { loadPageWithAlerts2(test("dd")); } @@ -454,7 +449,6 @@ public void dd() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void del() throws Exception { @@ -468,7 +462,7 @@ public void del() throws Exception { */ @Test @Alerts(DEFAULT = {"", "block"}, - FF = {"block", "block"}, + FF60 = {"block", "block"}, IE = {"inline", "inline"}) public void details() throws Exception { loadPageWithAlerts2(test("details")); @@ -481,7 +475,6 @@ public void details() throws Exception { */ @Test @Alerts(DEFAULT = {"", "none"}, - FF52 = {"block", "inline"}, FF60 = {"none", "none"}, IE = {"inline", "inline"}) public void dialog() throws Exception { @@ -495,7 +488,8 @@ public void dialog() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void dir() throws Exception { loadPageWithAlerts2(test("dir")); } @@ -507,7 +501,8 @@ public void dir() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void div() throws Exception { loadPageWithAlerts2(test("div")); } @@ -519,7 +514,8 @@ public void div() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void dl() throws Exception { loadPageWithAlerts2(test("dl")); } @@ -531,7 +527,8 @@ public void dl() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void dt() throws Exception { loadPageWithAlerts2(test("dt")); } @@ -543,7 +540,6 @@ public void dt() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void embed() throws Exception { @@ -557,7 +553,6 @@ public void embed() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void em() throws Exception { @@ -571,7 +566,8 @@ public void em() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void fieldset() throws Exception { loadPageWithAlerts2(test("fieldset")); } @@ -583,7 +579,8 @@ public void fieldset() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void figcaption() throws Exception { loadPageWithAlerts2(test("figcaption")); } @@ -595,7 +592,8 @@ public void figcaption() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void figure() throws Exception { loadPageWithAlerts2(test("figure")); } @@ -607,7 +605,6 @@ public void figure() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void font() throws Exception { @@ -621,7 +618,8 @@ public void font() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void form() throws Exception { loadPageWithAlerts2(test("form")); } @@ -633,7 +631,8 @@ public void form() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void footer() throws Exception { loadPageWithAlerts2(test("footer")); } @@ -645,8 +644,8 @@ public void footer() throws Exception { */ @Test @Alerts(DEFAULT = {"", "block"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, + FF68 = {"", "inline"}, IE = {"block", "block"}) public void frame() throws Exception { loadPageWithAlerts2(test("frame")); @@ -659,7 +658,8 @@ public void frame() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void frameset() throws Exception { loadPageWithAlerts2(test("frameset")); } @@ -671,7 +671,8 @@ public void frameset() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "none"}) + CHROME = {"", "none"}, + FF68 = {"", "none"}) public void head() throws Exception { loadPageWithAlerts2(test("head")); } @@ -683,7 +684,8 @@ public void head() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void header() throws Exception { loadPageWithAlerts2(test("header")); } @@ -695,7 +697,8 @@ public void header() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void h1() throws Exception { loadPageWithAlerts2(test("h1")); } @@ -707,7 +710,8 @@ public void h1() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void h2() throws Exception { loadPageWithAlerts2(test("h2")); } @@ -719,7 +723,8 @@ public void h2() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void h3() throws Exception { loadPageWithAlerts2(test("h3")); } @@ -731,7 +736,8 @@ public void h3() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void h4() throws Exception { loadPageWithAlerts2(test("h4")); } @@ -743,7 +749,8 @@ public void h4() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void h5() throws Exception { loadPageWithAlerts2(test("h5")); } @@ -755,7 +762,8 @@ public void h5() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void h6() throws Exception { loadPageWithAlerts2(test("h6")); } @@ -767,7 +775,8 @@ public void h6() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void hr() throws Exception { loadPageWithAlerts2(test("hr")); } @@ -779,7 +788,8 @@ public void hr() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void html() throws Exception { loadPageWithAlerts2(test("html")); } @@ -791,7 +801,6 @@ public void html() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void iframe() throws Exception { @@ -805,7 +814,6 @@ public void iframe() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void q() throws Exception { @@ -819,7 +827,6 @@ public void q() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void img() throws Exception { @@ -833,7 +840,6 @@ public void img() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void image() throws Exception { @@ -847,7 +853,6 @@ public void image() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void ins() throws Exception { @@ -861,7 +866,6 @@ public void ins() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void isindex() throws Exception { @@ -875,7 +879,6 @@ public void isindex() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void i() throws Exception { @@ -889,7 +892,6 @@ public void i() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void kbd() throws Exception { @@ -901,7 +903,6 @@ public void kbd() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void keygen() throws Exception { @@ -915,7 +916,6 @@ public void keygen() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void label() throws Exception { @@ -929,8 +929,8 @@ public void label() throws Exception { */ @Test @Alerts(DEFAULT = {"", "block"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, + FF68 = {"", "inline"}, IE = {"inline", "inline"}) public void layer() throws Exception { loadPageWithAlerts2(test("layer")); @@ -943,7 +943,7 @@ public void layer() throws Exception { */ @Test @Alerts(DEFAULT = {"", "block"}, - FF = {"block", "block"}, + FF60 = {"block", "block"}, IE = {"inline", "inline"}) public void legend() throws Exception { loadPageWithAlerts2(test("legend")); @@ -956,7 +956,8 @@ public void legend() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void listing() throws Exception { loadPageWithAlerts2(test("listing")); } @@ -968,7 +969,6 @@ public void listing() throws Exception { */ @Test @Alerts(DEFAULT = {"", "list-item"}, - FF52 = {"block", "list-item"}, FF60 = {"list-item", "list-item"}, IE = {"list-item", "list-item"}) public void li() throws Exception { @@ -982,7 +982,7 @@ public void li() throws Exception { */ @Test @Alerts(DEFAULT = {"", "none"}, - FF = {"none", "none"}, + FF60 = {"none", "none"}, IE = {"inline", "inline"}) public void link() throws Exception { loadPageWithAlerts2(test("link")); @@ -995,7 +995,7 @@ public void link() throws Exception { */ @Test @Alerts(DEFAULT = {"", "block"}, - FF = {"block", "block"}, + FF60 = {"block", "block"}, IE = {"inline", "inline"}) public void main() throws Exception { loadPageWithAlerts2(test("main")); @@ -1008,7 +1008,6 @@ public void main() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void map() throws Exception { @@ -1022,7 +1021,6 @@ public void map() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void mark() throws Exception { @@ -1036,7 +1034,6 @@ public void mark() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline-block"}, - FF52 = {"block", "inline-block"}, FF60 = {"inline-block", "inline-block"}, IE = {"block", "block"}) public void marquee() throws Exception { @@ -1050,7 +1047,8 @@ public void marquee() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void menu() throws Exception { loadPageWithAlerts2(test("menu")); } @@ -1062,7 +1060,6 @@ public void menu() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void menuitem() throws Exception { @@ -1076,7 +1073,8 @@ public void menuitem() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "none"}) + CHROME = {"", "none"}, + FF68 = {"", "none"}) public void meta() throws Exception { loadPageWithAlerts2(test("meta")); } @@ -1088,7 +1086,6 @@ public void meta() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline-block"}, - FF52 = {"block", "inline-block"}, FF60 = {"inline-block", "inline-block"}, IE = {"inline", "inline"}) public void meter() throws Exception { @@ -1102,7 +1099,8 @@ public void meter() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF = {"block", "block"}, + FF60 = {"block", "block"}, + FF68 = {"", "block"}, IE = {"inline", "inline"}) public void multicol() throws Exception { loadPageWithAlerts2(test("multicol")); @@ -1115,7 +1113,8 @@ public void multicol() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void nav() throws Exception { loadPageWithAlerts2(test("nav")); } @@ -1127,7 +1126,6 @@ public void nav() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void nextid() throws Exception { @@ -1141,7 +1139,6 @@ public void nextid() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void nobr() throws Exception { @@ -1155,7 +1152,8 @@ public void nobr() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "inline"}) + CHROME = {"", "inline"}, + FF68 = {"", "none"}) public void noembed() throws Exception { loadPageWithAlerts2(test("noembed")); } @@ -1167,7 +1165,8 @@ public void noembed() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "none"}) + CHROME = {"", "none"}, + FF68 = {"", "none"}) public void noframes() throws Exception { loadPageWithAlerts2(test("noframes")); } @@ -1179,7 +1178,6 @@ public void noframes() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void nolayer() throws Exception { @@ -1193,7 +1191,8 @@ public void nolayer() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "inline"}) + CHROME = {"", "inline"}, + FF68 = {"", "none"}) public void noscript() throws Exception { loadPageWithAlerts2(test("noscript")); } @@ -1205,7 +1204,6 @@ public void noscript() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void object() throws Exception { @@ -1219,7 +1217,8 @@ public void object() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void ol() throws Exception { loadPageWithAlerts2(test("ol")); } @@ -1231,7 +1230,7 @@ public void ol() throws Exception { */ @Test @Alerts(DEFAULT = {"", "block"}, - FF = {"block", "block"}, + FF60 = {"block", "block"}, IE = {"inline", "inline"}) public void optgroup() throws Exception { loadPageWithAlerts2(test("optgroup")); @@ -1244,7 +1243,7 @@ public void optgroup() throws Exception { */ @Test @Alerts(DEFAULT = {"", "block"}, - FF = {"block", "block"}, + FF60 = {"block", "block"}, IE = {"inline", "inline"}) public void option() throws Exception { loadPageWithAlerts2(test("option")); @@ -1257,7 +1256,6 @@ public void option() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void output() throws Exception { @@ -1271,7 +1269,8 @@ public void output() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void p() throws Exception { loadPageWithAlerts2(test("p")); } @@ -1283,7 +1282,7 @@ public void p() throws Exception { */ @Test @Alerts(DEFAULT = {"", "none"}, - FF = {"none", "none"}, + FF60 = {"none", "none"}, IE = {"inline", "inline"}) public void param() throws Exception { loadPageWithAlerts2(test("param")); @@ -1296,7 +1295,8 @@ public void param() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void plaintext() throws Exception { loadPageWithAlerts2(test("plaintext")); } @@ -1308,7 +1308,8 @@ public void plaintext() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void pre() throws Exception { loadPageWithAlerts2(test("pre")); } @@ -1320,7 +1321,6 @@ public void pre() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline-block"}, - FF52 = {"block", "inline-block"}, FF60 = {"inline-block", "inline-block"}, IE = {"inline", "inline"}) public void progress() throws Exception { @@ -1334,7 +1334,7 @@ public void progress() throws Exception { */ @Test @Alerts(DEFAULT = {"", "none"}, - FF = {"none", "none"}, + FF60 = {"none", "none"}, IE = {"inline", "inline"}) public void rp() throws Exception { loadPageWithAlerts2(test("rp")); @@ -1347,8 +1347,8 @@ public void rp() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "ruby-text"}, FF60 = {"ruby-text", "ruby-text"}, + FF68 = {"", "ruby-text"}, IE = {"ruby-text", "ruby-text"}) public void rt() throws Exception { loadPageWithAlerts2(test("rt")); @@ -1361,8 +1361,8 @@ public void rt() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "ruby"}, FF60 = {"ruby", "ruby"}, + FF68 = {"", "ruby"}, IE = {"ruby", "ruby"}) public void ruby() throws Exception { loadPageWithAlerts2(test("ruby")); @@ -1375,7 +1375,6 @@ public void ruby() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void s() throws Exception { @@ -1389,7 +1388,6 @@ public void s() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void samp() throws Exception { @@ -1403,7 +1401,8 @@ public void samp() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "none"}) + CHROME = {"", "none"}, + FF68 = {"", "none"}) public void script() throws Exception { loadPageWithAlerts2(test("script")); } @@ -1415,7 +1414,8 @@ public void script() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void section() throws Exception { loadPageWithAlerts2(test("section")); } @@ -1427,7 +1427,6 @@ public void section() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline-block"}, - FF52 = {"block", "inline-block"}, FF60 = {"inline-block", "inline-block"}, IE = {"inline-block", "inline-block"}) public void select() throws Exception { @@ -1441,7 +1440,6 @@ public void select() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void small() throws Exception { @@ -1455,7 +1453,6 @@ public void small() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void source() throws Exception { @@ -1469,7 +1466,6 @@ public void source() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void span() throws Exception { @@ -1483,7 +1479,6 @@ public void span() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void strike() throws Exception { @@ -1497,7 +1492,6 @@ public void strike() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void strong() throws Exception { @@ -1511,7 +1505,8 @@ public void strong() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "none"}) + CHROME = {"", "none"}, + FF68 = {"", "none"}) public void style() throws Exception { loadPageWithAlerts2(test("style")); } @@ -1523,7 +1518,6 @@ public void style() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void sub() throws Exception { @@ -1537,7 +1531,7 @@ public void sub() throws Exception { */ @Test @Alerts(DEFAULT = {"", "block"}, - FF = {"block", "block"}, + FF60 = {"block", "block"}, IE = {"inline", "inline"}) public void summary() throws Exception { loadPageWithAlerts2(test("summary")); @@ -1550,7 +1544,6 @@ public void summary() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void sup() throws Exception { @@ -1564,7 +1557,6 @@ public void sup() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void svg() throws Exception { @@ -1578,7 +1570,8 @@ public void svg() throws Exception { */ @Test @Alerts(DEFAULT = {"table", "table"}, - CHROME = {"", "table"}) + CHROME = {"", "table"}, + FF68 = {"", "table"}) public void table() throws Exception { loadPageWithAlerts2(test("table")); } @@ -1590,7 +1583,6 @@ public void table() throws Exception { */ @Test @Alerts(DEFAULT = {"", "table-column"}, - FF52 = {"block", "table-column"}, FF60 = {"table-column", "table-column"}, IE = {"table-column", "table-column"}) public void col() throws Exception { @@ -1604,7 +1596,6 @@ public void col() throws Exception { */ @Test @Alerts(DEFAULT = {"", "table-column-group"}, - FF52 = {"block", "table-column-group"}, FF60 = {"table-column-group", "table-column-group"}, IE = {"table-column-group", "table-column-group"}) public void colgroup() throws Exception { @@ -1618,7 +1609,6 @@ public void colgroup() throws Exception { */ @Test @Alerts(DEFAULT = {"", "table-row-group"}, - FF52 = {"block", "table-row-group"}, FF60 = {"table-row-group", "table-row-group"}, IE = {"table-row-group", "table-row-group"}) public void tbody() throws Exception { @@ -1632,7 +1622,6 @@ public void tbody() throws Exception { */ @Test @Alerts(DEFAULT = {"", "table-cell"}, - FF52 = {"block", "table-cell"}, FF60 = {"table-cell", "table-cell"}, IE = {"table-cell", "table-cell"}) public void td() throws Exception { @@ -1646,7 +1635,6 @@ public void td() throws Exception { */ @Test @Alerts(DEFAULT = {"", "table-cell"}, - FF52 = {"block", "table-cell"}, FF60 = {"table-cell", "table-cell"}, IE = {"table-cell", "table-cell"}) public void th() throws Exception { @@ -1660,7 +1648,6 @@ public void th() throws Exception { */ @Test @Alerts(DEFAULT = {"", "table-row"}, - FF52 = {"block", "table-row"}, FF60 = {"table-row", "table-row"}, IE = {"table-row", "table-row"}) public void tr() throws Exception { @@ -1674,8 +1661,8 @@ public void tr() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline-block"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, + FF68 = {"", "inline"}, IE = {"inline-block", "inline-block"}) public void textarea() throws Exception { loadPageWithAlerts2(test("textarea")); @@ -1688,7 +1675,6 @@ public void textarea() throws Exception { */ @Test @Alerts(DEFAULT = {"", "table-footer-group"}, - FF52 = {"block", "table-footer-group"}, FF60 = {"table-footer-group", "table-footer-group"}, IE = {"table-footer-group", "table-footer-group"}) public void tfoot() throws Exception { @@ -1702,7 +1688,6 @@ public void tfoot() throws Exception { */ @Test @Alerts(DEFAULT = {"", "table-header-group"}, - FF52 = {"block", "table-header-group"}, FF60 = {"table-header-group", "table-header-group"}, IE = {"table-header-group", "table-header-group"}) public void thead() throws Exception { @@ -1716,7 +1701,6 @@ public void thead() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void tt() throws Exception { @@ -1730,7 +1714,6 @@ public void tt() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void time() throws Exception { @@ -1744,7 +1727,8 @@ public void time() throws Exception { */ @Test @Alerts(DEFAULT = {"none", "none"}, - CHROME = {"", "none"}) + CHROME = {"", "none"}, + FF68 = {"", "none"}) public void title() throws Exception { loadPageWithAlerts2(test("title")); } @@ -1756,7 +1740,6 @@ public void title() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void track() throws Exception { @@ -1770,7 +1753,6 @@ public void track() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void u() throws Exception { @@ -1784,7 +1766,8 @@ public void u() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void ul() throws Exception { loadPageWithAlerts2(test("ul")); } @@ -1796,7 +1779,6 @@ public void ul() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void var() throws Exception { @@ -1810,7 +1792,6 @@ public void var() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void video() throws Exception { @@ -1824,7 +1805,6 @@ public void video() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void wbr() throws Exception { @@ -1838,7 +1818,8 @@ public void wbr() throws Exception { */ @Test @Alerts(DEFAULT = {"block", "block"}, - CHROME = {"", "block"}) + CHROME = {"", "block"}, + FF68 = {"", "block"}) public void xmp() throws Exception { loadPageWithAlerts2(test("xmp")); } @@ -1850,8 +1831,8 @@ public void xmp() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline-block"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, + FF68 = {"", "inline"}, IE = {"inline-block", "inline-block"}) public void input() throws Exception { loadPageWithAlerts2(test("input")); @@ -1864,7 +1845,6 @@ public void input() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void data() throws Exception { @@ -1878,7 +1858,6 @@ public void data() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void content() throws Exception { @@ -1892,7 +1871,6 @@ public void content() throws Exception { */ @Test @Alerts(DEFAULT = {"", "inline"}, - FF52 = {"block", "inline"}, FF60 = {"inline", "inline"}, IE = {"inline", "inline"}) public void picture() throws Exception { @@ -1906,7 +1884,7 @@ public void picture() throws Exception { */ @Test @Alerts(DEFAULT = {"", "none"}, - FF = {"none", "none"}, + FF60 = {"none", "none"}, IE = {"inline", "inline"}) public void template() throws Exception { loadPageWithAlerts2(test("template")); @@ -1919,7 +1897,6 @@ public void template() throws Exception { */ @Test @Alerts(DEFAULT = {"", "contents"}, - FF52 = {"block", "inline"}, FF60 = {"contents", "contents"}, IE = {"inline", "inline"}) public void slot() throws Exception { diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementOuterHtmlTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementOuterHtmlTest.java index fca12d8d8c6..a37e5d8a17d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementOuterHtmlTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementOuterHtmlTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementOwnPropertiesTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementOwnPropertiesTest.java new file mode 100644 index 00000000000..9ec6832b447 --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementOwnPropertiesTest.java @@ -0,0 +1,7742 @@ +/* + * Copyright (c) 2002-2020 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.general; + +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.HtmlUnitNYI; +import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.html.HtmlPageTest; + +/** + * Tests own properties of an object. + * + * @author Ronald Brill + */ +@RunWith(BrowserRunner.class) +public class ElementOwnPropertiesTest extends WebDriverTestCase { + + private void test(final String tagName) throws Exception { + testString("document.createElement('" + tagName + "')"); + } + + private void testString(final String string) throws Exception { + final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ + + "\n" + + "\n" + + " \n" + + " \n" + + " \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "assignedSlot,constructor(),getDestinationInsertionPoints(),splitText(),wholeText", + FF60 = "constructor(),splitText(),wholeText", + FF68 = "assignedSlot,constructor(),splitText(),wholeText", + IE = "constructor,removeNode(),replaceNode(),replaceWholeText(),splitText(),swapNode(),wholeText") + @HtmlUnitNYI(CHROME = "constructor(),splitText(),wholeText", + FF68 = "constructor(),splitText(),wholeText", + IE = "constructor,splitText(),text,wholeText") + public void text() throws Exception { + testString("document.createTextNode('some text')"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),localName,name,namespaceURI,ownerElement,prefix,specified,value", + FF60 = "constructor(),localName,name,namespaceURI,ownerElement,prefix,specified,value", + FF68 = "constructor(),localName,name,namespaceURI,ownerElement,prefix,specified,value", + IE = "constructor,expando,name,ownerElement,specified,value") + @HtmlUnitNYI(IE = "constructor,expando,localName,name,namespaceURI,ownerElement,prefix," + + "specified,value") + public void attr() throws Exception { + testString("document.createAttribute('some_attrib')"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,text") + @HtmlUnitNYI(IE = "constructor,getAttribute(),getAttributeNode(),text") + public void comment() throws Exception { + testString("document.createComment('come_comment')"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void unknown() throws Exception { + testString("unknown"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void htmlElement() throws Exception { + testString("unknown"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.Element}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "after(),animate(),append(),assignedSlot,attachShadow(),attributes,attributeStyleMap,before()," + + "childElementCount,children,classList,className,clientHeight,clientLeft,clientTop,clientWidth," + + "closest(),computedStyleMap(),constructor(),createShadowRoot(),elementTiming,firstElementChild," + + "getAttribute(),getAttributeNames(),getAttributeNode(),getAttributeNodeNS(),getAttributeNS()," + + "getBoundingClientRect(),getClientRects(),getDestinationInsertionPoints()," + + "getElementsByClassName(),getElementsByTagName(),getElementsByTagNameNS(),hasAttribute()," + + "hasAttributeNS(),hasAttributes(),hasPointerCapture(),id,innerHTML,insertAdjacentElement()," + + "insertAdjacentHTML(),insertAdjacentText(),lastElementChild,localName,matches(),namespaceURI," + + "nextElementSibling,onbeforecopy,onbeforecut,onbeforepaste,onfullscreenchange,onfullscreenerror," + + "onsearch,onwebkitfullscreenchange,onwebkitfullscreenerror,outerHTML,part,prefix,prepend()," + + "previousElementSibling,querySelector(),querySelectorAll(),releasePointerCapture(),remove()," + + "removeAttribute(),removeAttributeNode(),removeAttributeNS(),replaceWith(),requestFullscreen()," + + "requestPointerLock(),scroll(),scrollBy(),scrollHeight,scrollIntoView(),scrollIntoViewIfNeeded()," + + "scrollLeft,scrollTo(),scrollTop,scrollWidth,setAttribute(),setAttributeNode()," + + "setAttributeNodeNS(),setAttributeNS(),setPointerCapture(),shadowRoot,slot,tagName," + + "toggleAttribute(),webkitMatchesSelector(),webkitRequestFullscreen()," + + "webkitRequestFullScreen()", + FF60 = "after(),animate(),append(),attributes,before(),childElementCount,children,classList,className," + + "clientHeight,clientLeft,clientTop,clientWidth,closest(),constructor(),firstElementChild," + + "getAttribute(),getAttributeNames(),getAttributeNode(),getAttributeNodeNS(),getAttributeNS()," + + "getBoundingClientRect(),getClientRects(),getElementsByClassName(),getElementsByTagName()," + + "getElementsByTagNameNS(),hasAttribute(),hasAttributeNS(),hasAttributes(),hasPointerCapture(),id," + + "innerHTML,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),lastElementChild," + + "localName,matches(),mozMatchesSelector(),mozRequestFullScreen(),namespaceURI,nextElementSibling," + + "outerHTML,prefix,prepend(),previousElementSibling,querySelector(),querySelectorAll()," + + "releaseCapture(),releasePointerCapture(),remove(),removeAttribute(),removeAttributeNode()," + + "removeAttributeNS(),replaceWith(),requestPointerLock(),scroll(),scrollBy(),scrollHeight," + + "scrollIntoView(),scrollLeft,scrollLeftMax,scrollTo(),scrollTop,scrollTopMax,scrollWidth," + + "setAttribute(),setAttributeNode(),setAttributeNodeNS(),setAttributeNS(),setCapture()," + + "setPointerCapture(),tagName," + + "webkitMatchesSelector()", + FF68 = "after(),animate(),append(),assignedSlot,attachShadow(),attributes,before(),childElementCount," + + "children,classList,className,clientHeight,clientLeft,clientTop,clientWidth,closest()," + + "constructor(),firstElementChild,getAttribute(),getAttributeNames(),getAttributeNode()," + + "getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect(),getClientRects()," + + "getElementsByClassName(),getElementsByTagName(),getElementsByTagNameNS(),hasAttribute()," + + "hasAttributeNS(),hasAttributes(),hasPointerCapture(),id,innerHTML,insertAdjacentElement()," + + "insertAdjacentHTML(),insertAdjacentText(),lastElementChild,localName,matches()," + + "mozMatchesSelector(),mozRequestFullScreen(),namespaceURI,nextElementSibling,onfullscreenchange," + + "onfullscreenerror,outerHTML,prefix,prepend(),previousElementSibling,querySelector()," + + "querySelectorAll(),releaseCapture(),releasePointerCapture(),remove(),removeAttribute()," + + "removeAttributeNode(),removeAttributeNS(),replaceWith(),requestFullscreen(),requestPointerLock()," + + "scroll(),scrollBy(),scrollHeight,scrollIntoView(),scrollLeft,scrollLeftMax,scrollTo(),scrollTop," + + "scrollTopMax,scrollWidth,setAttribute(),setAttributeNode(),setAttributeNodeNS(),setAttributeNS()," + + "setCapture(),setPointerCapture(),shadowRoot,slot,tagName,toggleAttribute()," + + "webkitMatchesSelector()", + IE = "childElementCount,clientHeight,clientLeft,clientTop,clientWidth,constructor,firstElementChild," + + "getAttribute(),getAttributeNode(),getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect()," + + "getClientRects(),getElementsByTagName(),getElementsByTagNameNS(),hasAttribute(),hasAttributeNS()," + + "lastElementChild,msContentZoomFactor,msGetRegionContent(),msGetUntransformedBounds()," + + "msMatchesSelector(),msRegionOverflow,msReleasePointerCapture(),msRequestFullscreen()," + + "msSetPointerCapture(),nextElementSibling,ongotpointercapture,onlostpointercapture," + + "onmsgesturechange,onmsgesturedoubletap,onmsgestureend,onmsgesturehold,onmsgesturestart," + + "onmsgesturetap,onmsgotpointercapture,onmsinertiastart,onmslostpointercapture,onmspointercancel," + + "onmspointerdown,onmspointerenter,onmspointerleave,onmspointermove,onmspointerout,onmspointerover," + + "onmspointerup,onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove," + + "onpointerout,onpointerover,onpointerup,previousElementSibling,querySelector(),querySelectorAll()," + + "releasePointerCapture(),removeAttribute(),removeAttributeNode(),removeAttributeNS(),scrollHeight," + + "scrollLeft,scrollTop,scrollWidth,setAttribute(),setAttributeNode(),setAttributeNodeNS()," + + "setAttributeNS(),setPointerCapture()," + + "tagName") + @HtmlUnitNYI(CHROME = "after(),attributes,before(),childElementCount,children,classList,className,clientHeight," + + "clientLeft,clientTop,clientWidth,constructor(),firstElementChild,getAttribute(),getAttributeNode()," + + "getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect(),getClientRects()," + + "getElementsByClassName()," + + "getElementsByTagName(),getElementsByTagNameNS(),hasAttribute(),hasAttributeNS(),hasAttributes(),id," + + "innerHTML,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),lastElementChild," + + "localName," + + "matches(),namespaceURI,nextElementSibling,onbeforecopy,onbeforecut,onbeforepaste,oncopy,oncut," + + "onpaste," + + "onsearch,onselectstart,onwebkitfullscreenchange,onwebkitfullscreenerror,outerHTML,prefix," + + "previousElementSibling,querySelector(),querySelectorAll(),remove(),removeAttribute()," + + "removeAttributeNode(),removeAttributeNS(),replaceWith(),scrollHeight,scrollIntoView()," + + "scrollIntoViewIfNeeded(),scrollLeft,scrollTop,scrollWidth,setAttribute(),setAttributeNode()," + + "setAttributeNS(),tagName,webkitMatchesSelector()", + FF60 = "after(),attributes,before(),childElementCount,children,classList,className,clientHeight,clientLeft," + + "clientTop,clientWidth,constructor(),firstElementChild,getAttribute(),getAttributeNode()," + + "getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect(),getClientRects()," + + "getElementsByClassName(),getElementsByTagName(),getElementsByTagNameNS(),hasAttribute()," + + "hasAttributeNS(),hasAttributes(),id,innerHTML,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),lastElementChild,localName,matches(),mozMatchesSelector(),namespaceURI," + + "nextElementSibling,outerHTML,prefix,previousElementSibling,querySelector(),querySelectorAll()," + + "releaseCapture(),remove(),removeAttribute(),removeAttributeNode(),removeAttributeNS()," + + "replaceWith(),scrollHeight,scrollIntoView(),scrollLeft,scrollTop,scrollWidth,setAttribute()," + + "setAttributeNode(),setAttributeNS(),setCapture(),tagName,webkitMatchesSelector()", + FF68 = "after(),attributes,before(),childElementCount,children,classList,className,clientHeight,clientLeft," + + "clientTop,clientWidth,constructor(),firstElementChild,getAttribute(),getAttributeNode()," + + "getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect(),getClientRects()," + + "getElementsByClassName(),getElementsByTagName(),getElementsByTagNameNS(),hasAttribute()," + + "hasAttributeNS(),hasAttributes(),id,innerHTML,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),lastElementChild,localName,matches(),mozMatchesSelector(),namespaceURI," + + "nextElementSibling,outerHTML,prefix,previousElementSibling,querySelector(),querySelectorAll()," + + "releaseCapture(),remove(),removeAttribute(),removeAttributeNode(),removeAttributeNS(),replaceWith()," + + "scrollHeight,scrollIntoView(),scrollLeft,scrollTop,scrollWidth,setAttribute(),setAttributeNode()," + + "setAttributeNS(),setCapture(),tagName,webkitMatchesSelector()", + IE = "attributes,childElementCount,clientHeight,clientLeft,clientTop,clientWidth,constructor," + + "firstElementChild,getAttribute(),getAttributeNode(),getAttributeNodeNS(),getAttributeNS()," + + "getBoundingClientRect(),getClientRects(),getElementsByTagName(),getElementsByTagNameNS()," + + "hasAttribute(),hasAttributeNS(),lastElementChild,msMatchesSelector(),nextElementSibling," + + "ongotpointercapture,onlostpointercapture,onmsgesturechange,onmsgesturedoubletap,onmsgestureend," + + "onmsgesturehold,onmsgesturestart,onmsgesturetap,onmsgotpointercapture,onmsinertiastart," + + "onmslostpointercapture,onmspointercancel,onmspointerdown,onmspointerenter,onmspointerleave," + + "onmspointermove,onmspointerout,onmspointerover,onmspointerup,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup," + + "previousElementSibling,querySelector(),querySelectorAll(),removeAttribute(),removeAttributeNode()," + + "removeAttributeNS(),scrollHeight,scrollLeft,scrollTop,scrollWidth,setAttribute()," + + "setAttributeNode(),setAttributeNS(),tagName") + public void element() throws Exception { + testString("element"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "exception", + FF60 = "exception", + FF68 = "exception", + IE = "blockDirection,clipBottom,clipLeft,clipRight,clipTop,constructor,hasLayout") + @HtmlUnitNYI(IE = "accelerator,backgroundAttachment,backgroundColor,backgroundImage,backgroundPosition," + + "backgroundRepeat,borderBottomColor,borderBottomStyle,borderBottomWidth,borderLeftColor," + + "borderLeftStyle,borderLeftWidth,borderRightColor,borderRightStyle,borderRightWidth," + + "borderTopColor,borderTopStyle,borderTopWidth,bottom,color,constructor,cssFloat,cssText," + + "display,font,fontFamily,fontSize,getAttribute(),getPropertyPriority(),getPropertyValue()," + + "height,left,length,letterSpacing,lineHeight,margin,marginBottom,marginLeft,marginRight,marginTop," + + "maxHeight,maxWidth,minHeight,minWidth,opacity,orphans,outline,outlineWidth,padding," + + "paddingBottom,paddingLeft,paddingRight,paddingTop,pixelBottom,pixelHeight,pixelLeft," + + "pixelRight,pixelTop,pixelWidth,posBottom,posHeight,position,posLeft,posRight,posTop," + + "posWidth,removeAttribute(),removeProperty(),right,rubyAlign,setAttribute(),setProperty()," + + "textDecorationBlink,textDecorationLineThrough,textDecorationNone,textDecorationOverline," + + "textDecorationUnderline,textIndent,top,verticalAlign,widows,width,wordSpacing,zIndex") + public void currentStyle() throws Exception { + testString("document.body.currentStyle"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,composed,composedPath()," + + "constructor(),currentTarget,defaultPrevented,eventPhase,initEvent(),NONE,path,preventDefault()," + + "returnValue,srcElement,stopImmediatePropagation(),stopPropagation(),target,timeStamp," + + "type", + FF60 = "ALT_MASK,AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,composed," + + "composedPath(),constructor(),CONTROL_MASK,currentTarget,defaultPrevented,eventPhase," + + "explicitOriginalTarget,initEvent(),META_MASK,NONE,originalTarget,preventDefault(),SHIFT_MASK," + + "stopImmediatePropagation(),stopPropagation(),target,timeStamp," + + "type", + FF68 = "ALT_MASK,AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,composed," + + "composedPath(),constructor(),CONTROL_MASK,currentTarget,defaultPrevented,eventPhase," + + "explicitOriginalTarget,initEvent(),META_MASK,NONE,originalTarget,preventDefault(),returnValue," + + "SHIFT_MASK,srcElement,stopImmediatePropagation(),stopPropagation(),target,timeStamp," + + "type", + IE = "AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,constructor," + + "currentTarget,defaultPrevented,eventPhase,initEvent(),isTrusted,preventDefault(),srcElement," + + "stopImmediatePropagation(),stopPropagation(),target,timeStamp," + + "type") + @HtmlUnitNYI(CHROME = "AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,constructor()," + + "currentTarget,defaultPrevented,eventPhase,initEvent(),NONE,preventDefault(),returnValue," + + "srcElement,stopImmediatePropagation(),stopPropagation(),target,timeStamp,type", + FF60 = "ALT_MASK,AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,constructor()," + + "CONTROL_MASK,currentTarget,defaultPrevented,eventPhase,initEvent(),META_MASK,NONE," + + "preventDefault(),SHIFT_MASK,stopImmediatePropagation(),stopPropagation(),target,timeStamp,type", + FF68 = "ALT_MASK,AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,constructor()," + + "CONTROL_MASK,currentTarget,defaultPrevented,eventPhase,initEvent(),META_MASK,NONE,preventDefault()," + + "returnValue,SHIFT_MASK,srcElement,stopImmediatePropagation(),stopPropagation(),target," + + "timeStamp,type", + IE = "AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,constructor,currentTarget," + + "defaultPrevented,eventPhase,initEvent(),preventDefault(),srcElement,stopImmediatePropagation()," + + "stopPropagation(),target,timeStamp,type") + public void event() throws Exception { + testString("event ? event : window.event"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),PERSISTENT,TEMPORARY", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "addEventListener(),alert(),animationStartTime,applicationCache,atob(),blur(),btoa()," + + "cancelAnimationFrame(),captureEvents(),clearImmediate(),clearInterval(),clearTimeout()," + + "clientInformation,clipboardData,close(),closed,confirm(),console,constructor,defaultStatus," + + "devicePixelRatio,dispatchEvent(),document,doNotTrack,event,external,focus(),frameElement,frames," + + "getComputedStyle(),getSelection(),history,indexedDB,innerHeight,innerWidth,item(),length," + + "localStorage,location,matchMedia(),maxConnectionsPerServer,moveBy(),moveTo()," + + "msAnimationStartTime,msCancelRequestAnimationFrame(),msClearImmediate(),msCrypto,msIndexedDB," + + "msIsStaticHTML(),msMatchMedia(),msRequestAnimationFrame(),msSetImmediate(),msWriteProfilerMark()," + + "name,navigate(),navigator,offscreenBuffering,onabort,onafterprint,onbeforeprint,onbeforeunload," + + "onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,ondblclick,ondrag,ondragend," + + "ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror," + + "onfocus,onfocusin,onfocusout,onhashchange,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload()," + + "onloadeddata,onloadedmetadata,onloadstart,onmessage,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onmsgesturechange,onmsgesturedoubletap," + + "onmsgestureend,onmsgesturehold,onmsgesturestart,onmsgesturetap,onmsinertiastart," + + "onmspointercancel,onmspointerdown,onmspointerenter,onmspointerleave,onmspointermove," + + "onmspointerout,onmspointerover,onmspointerup,onoffline,ononline,onpagehide,onpageshow,onpause," + + "onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove," + + "onpointerout,onpointerover,onpointerup,onpopstate,onprogress,onratechange,onreadystatechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onstalled,onstorage,onsubmit,onsuspend," + + "ontimeupdate,onunload,onvolumechange,onwaiting,open(),opener,outerHeight,outerWidth,pageXOffset," + + "pageYOffset,parent,performance,postMessage(),print(),prompt(),releaseEvents()," + + "removeEv\u2026") + @HtmlUnitNYI(CHROME = "alert(),applicationCache,atob(),blur(),btoa(),cancelAnimationFrame(),captureEvents()," + + "clearInterval(),clearTimeout(),clientInformation,close(),closed,confirm(),console,constructor()," + + "crypto,devicePixelRatio,document,event,external,find(),focus(),frameElement,frames," + + "getComputedStyle()," + + "getSelection(),history,innerHeight,innerWidth,length,localStorage,location,matchMedia()," + + "moveBy(),moveTo()," + + "name,navigator,offscreenBuffering,onabort,onanimationend,onanimationiteration,onanimationstart," + + "onauxclick,onbeforeunload,onblur,oncancel,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncuechange,ondblclick,ondevicemotion,ondeviceorientation,ondeviceorientationabsolute," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied," + + "onended,onerror,onfocus,ongotpointercapture,onhashchange,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onlanguagechange,onload(),onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmessage,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," + + "onmousewheel,onoffline,ononline,onpagehide,onpageshow,onpause,onplay,onplaying,onpointercancel," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover," + + "onpointerup,onpopstate,onprogress,onratechange,onrejectionhandled,onreset,onresize,onscroll," + + "onsearch,onseeked,onseeking,onselect,onshow,onstalled,onstorage,onsubmit,onsuspend,ontimeupdate," + + "ontoggle,ontransitionend,onunhandledrejection,onunload,onvolumechange,onwaiting," + + "onwebkitanimationend,onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend," + + "onwheel,open(),opener,outerHeight,outerWidth,pageXOffset,pageYOffset,parent,performance," + + "PERSISTENT,postMessage(),print(),prompt(),releaseEvents(),requestAnimationFrame(),resizeBy()," + + "resizeTo(),screen,scroll(),scrollBy(),scrollTo(),scrollX,scrollY,self,sessionStorage,setInterval()," + + "setTimeout(),speechSynthesis,status,stop(),styleMedia,TEMPORARY,top,window", + FF60 = "alert(),applicationCache,atob(),blur(),btoa(),cancelAnimationFrame(),captureEvents()," + + "clearInterval()," + + "clearTimeout(),close(),closed,confirm(),console,constructor(),controllers,crypto,devicePixelRatio," + + "document,dump(),external,find(),focus(),frameElement,frames,getComputedStyle(),getSelection()," + + "history,innerHeight,innerWidth,length,localStorage,location,matchMedia(),moveBy(),moveTo()," + + "mozInnerScreenX,mozInnerScreenY,mozPaintCount,name,navigator,netscape,onabort,onafterprint," + + "onbeforeprint,onbeforeunload,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "ondblclick,ondevicelight,ondevicemotion,ondeviceorientation,ondeviceproximity,ondrag,ondragend," + + "ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror," + + "onfocus,onhashchange,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onlanguagechange,onload()," + + "onloadeddata,onloadedmetadata,onloadstart,onmessage,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onoffline,ononline,onpagehide,onpageshow,onpause,onplay,onplaying,onpopstate,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onstorage," + + "onsubmit,onsuspend,ontimeupdate,onunload,onuserproximity,onvolumechange,onwaiting,onwheel,open()," + + "opener,outerHeight,outerWidth,pageXOffset,pageYOffset,parent,performance,postMessage(),print()," + + "prompt(),releaseEvents(),requestAnimationFrame(),resizeBy(),resizeTo(),screen,scroll(),scrollBy()," + + "scrollByLines(),scrollByPages(),scrollTo(),scrollX,scrollY,self,sessionStorage,setInterval()," + + "setTimeout(),status,stop(),top,window", + FF68 = "alert(),applicationCache,atob(),blur(),btoa(),cancelAnimationFrame(),captureEvents()," + + "clearInterval(),clearTimeout(),close(),closed,confirm(),console,constructor(),controllers," + + "crypto,devicePixelRatio,document,dump(),event,external,find(),focus(),frameElement,frames," + + "getComputedStyle(),getSelection(),history,innerHeight,innerWidth,length,localStorage,location," + + "matchMedia(),moveBy(),moveTo(),mozInnerScreenX,mozInnerScreenY,mozPaintCount,name,navigator," + + "netscape,onabort,onafterprint,onbeforeprint,onbeforeunload,onblur,oncanplay,oncanplaythrough," + + "onchange,onclick,oncontextmenu,ondblclick,ondevicelight,ondevicemotion,ondeviceorientation," + + "ondeviceproximity,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,onhashchange,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onlanguagechange,onload(),onloadeddata,onloadedmetadata,onloadstart," + + "onmessage,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," + + "onmozfullscreenchange,onmozfullscreenerror,onoffline,ononline,onpagehide,onpageshow,onpause," + + "onplay,onplaying,onpopstate,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onstorage,onsubmit,onsuspend,ontimeupdate,onunload,onuserproximity," + + "onvolumechange,onwaiting,onwheel,open(),opener,outerHeight,outerWidth,pageXOffset,pageYOffset," + + "parent,performance,postMessage(),print(),prompt(),releaseEvents(),requestAnimationFrame()," + + "resizeBy(),resizeTo(),screen,scroll(),scrollBy(),scrollByLines(),scrollByPages(),scrollTo()," + + "scrollX,scrollY,self,sessionStorage,setInterval(),setTimeout(),status,stop(),top,window", + IE = "ActiveXObject,alert(),ANGLE_instanced_arrays,AnimationEvent,applicationCache,ApplicationCache," + + "Array(),ArrayBuffer(),atob(),Attr,Audio(),BeforeUnloadEvent,Blob(),blur(),Boolean()," + + "btoa(),Call(),CallSite(),cancelAnimationFrame(),CanvasGradient,CanvasPattern," + + "CanvasRenderingContext2D,captureEvents(),CDATASection,CharacterData,clearInterval()," + + "clearTimeout(),clientInformation,ClientRect,ClientRectList,clipboardData,close()," + + "closed,CloseEvent,CollectGarbage(),Comment,CompositionEvent,confirm(),console,Console," + + "constructor,Coordinates,Crypto,CSSFontFaceRule,CSSImportRule,CSSKeyframeRule," + + "CSSKeyframesRule,CSSMediaRule,CSSNamespaceRule,CSSPageRule,CSSRule,CSSRuleList," + + "CSSStyleDeclaration,CSSStyleRule,CSSStyleSheet,CustomEvent,DataTransfer,DataView()," + + "Date(),decodeURI(),decodeURIComponent(),devicePixelRatio,document,Document,DocumentFragment," + + "DocumentType,DOMError,DOMException,DOMImplementation,DOMParser(),DOMSettableTokenList," + + "DOMStringList,DOMStringMap,DOMTokenList,doNotTrack,DragEvent,Element,encodeURI()," + + "encodeURIComponent(),Enumerator(),Error(),ErrorEvent,escape(),eval(),EvalError(),event," + + "Event,EXT_texture_filter_anisotropic,external,File,FileList,FileReader(),Float32Array()," + + "Float64Array(),focus(),FocusEvent,FormData(),frameElement,frames,Function(),Geolocation," + + "getComputedStyle(),getSelection(),History,history,HTMLAllCollection,HTMLAnchorElement," + + "HTMLAppletElement,HTMLAreaElement,HTMLAudioElement,HTMLBaseElement,HTMLBaseFontElement," + + "HTMLBGSoundElement,HTMLBlockElement,HTMLBodyElement,HTMLBRElement,HTMLButtonElement," + + "HTMLCanvasElement,HTMLCollection,HTMLDataListElement,HTMLDDElement,HTMLDirectoryElement," + + "HTMLDivElement,HTMLDListElement,HTMLDocument,HTMLDTElement,HTMLElement,HTMLEmbedElement," + + "HTMLFieldSetElement,HTMLFontElement,HTMLFormElement,HTMLFrameElement,HTMLFrameSetElement," + + "HTMLHeadElement,HTMLHeadingElement,HTMLHRElement,HTMLHtmlElement,HTMLIFrameElement," + + "HTMLImageElement,HTMLInputElement,HTMLIsIndexElement,HTMLLabelElement,HTMLLegendElement," + + "HTMLLIElement,HTMLLinkElement,HTMLMapElement,HTMLMarqueeElement,HTMLMediaElement," + + "HTMLMenuElement,HTMLMetaElement,HTMLModElement,HTMLNextIdElement,HTMLObjectElement," + + "HTMLOListElement,HTMLOptGroupElement,HTMLOptionElement,HTMLParagraphElement,HTMLParamElement," + + "HTMLPhraseElement,HTMLPreElement,HTMLProgressElement,HTMLQuoteElement,HTMLScriptElement," + + "HTMLSelectElement,HTMLSourceElement,HTMLSpanElement,HTMLStyleElement,HTMLTableCaptionElement," + + "HTMLTableCellElement,HTMLTableColElement,HTMLTableDataCellElement,HTMLTableElement," + + "HTMLTableHeaderCellElement,HTMLTableRowElement,HTMLTableSectionElement,HTMLTextAreaElement," + + "HTMLTitleElement,HTMLTrackElement,HTMLUListElement,HTMLUnknownElement,HTMLVideoElement," + + "IDBCursor,IDBCursorWithValue,IDBDatabase,IDBFactory,IDBIndex,IDBKeyRange,IDBObjectStore," + + "IDBOpenDBRequest,IDBRequest,IDBTransaction,IDBVersionChangeEvent,Image(),ImageData,Infinity," + + "innerHeight,innerWidth,Int16Array(),Int32Array(),Int8Array(),InternalError(),Intl,isFinite()," + + "isNaN(),JavaException(),JSON,KeyboardEvent,length,localStorage,location,Location,Map()," + + "matchMedia(),Math,MediaError,MediaList,MediaQueryList,MessageChannel(),MessageEvent,MessagePort," + + "MimeType,MimeTypeArray,MouseEvent,MouseWheelEvent,moveBy(),moveTo(),MSGestureEvent,MutationEvent," + + "MutationObserver(),MutationRecord,name,NamedNodeMap,NaN,navigate(),navigator,Navigator,Node," + + "NodeFilter,NodeIterator,NodeList,Number(),Object(),OES_element_index_uint,OES_standard_derivatives," + + "OES_texture_float,OES_texture_float_linear,offscreenBuffering,onabort,onafterprint," + + "onbeforeprint,onbeforeunload,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfocusin,onfocusout," + + "onhashchange,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload(),onloadeddata," + + "onloadedmetadata,onloadstart,onmessage,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onmsgesturechange," + + "onmsgesturedoubletap,onmsgestureend,onmsgesturehold,onmsgesturestart,onmsgesturetap," + + "onmsinertiastart,onmspointercancel,onmspointerdown,onmspointerenter,onmspointerleave," + + "onmspointermove,onmspointerout,onmspointerover,onmspointerup,onoffline,ononline,onpagehide," + + "onpageshow,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerup,onpopstate,onprogress,onratechange," + + "onreadystatechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onstalled,onstorage," + + "onsubmit,onsuspend,ontimeupdate,onunload,onvolumechange,onwaiting,open(),opener,Option()," + + "outerHeight,outerWidth,PageTransitionEvent,pageXOffset,pageYOffset,parent,parseFloat()," + + "parseInt(),performance,Performance,PerformanceEntry,PerformanceMark,PerformanceMeasure," + + "PerformanceNavigation,PerformanceNavigationTiming,PerformanceResourceTiming,PerformanceTiming," + + "Plugin,PluginArray,PointerEvent,PopStateEvent,Position,PositionError,postMessage(),print()," + + "process(),ProcessingInstruction,ProgressEvent,prompt(),Range,RangeError(),ReferenceError()," + + "RegExp(),releaseEvents(),requestAnimationFrame(),resizeBy(),resizeTo(),screen,Screen,Script()," + + "ScriptEngine(),ScriptEngineBuildVersion(),ScriptEngineMajorVersion(),ScriptEngineMinorVersion()," + + "scroll(),scrollBy(),scrollTo(),Selection,self,sessionStorage,Set(),setInterval(),setTimeout()," + + "showModalDialog(),showModelessDialog(),sortFunction(),status,Storage,StorageEvent,String()," + + "StyleMedia,styleMedia,StyleSheet,StyleSheetList,SubtleCrypto,SVGAElement,SVGAngle,SVGAnimatedAngle," + + "SVGAnimatedBoolean,SVGAnimatedEnumeration,SVGAnimatedInteger,SVGAnimatedLength," + + "SVGAnimatedLengthList," + + "SVGAnimatedNumber,SVGAnimatedNumberList,SVGAnimatedPreserveAspectRatio,SVGAnimatedRect," + + "SVGAnimatedString,SVGAnimatedTransformList,SVGCircleElement,SVGClipPathElement," + + "SVGComponentTransferFunctionElement,SVGDefsElement,SVGDescElement,SVGElement,SVGEllipseElement," + + "SVGFEBlendElement,SVGFEColorMatrixElement,SVGFEComponentTransferElement,SVGFECompositeElement," + + "SVGFEConvolveMatrixElement,SVGFEDiffuseLightingElement,SVGFEDisplacementMapElement," + + "SVGFEDistantLightElement,SVGFEFloodElement,SVGFEFuncAElement,SVGFEFuncBElement,SVGFEFuncGElement," + + "SVGFEFuncRElement,SVGFEGaussianBlurElement,SVGFEImageElement,SVGFEMergeElement," + + "SVGFEMergeNodeElement," + + "SVGFEMorphologyElement,SVGFEOffsetElement,SVGFEPointLightElement,SVGFESpecularLightingElement," + + "SVGFESpotLightElement,SVGFETileElement,SVGFETurbulenceElement,SVGFilterElement,SVGGElement," + + "SVGGradientElement,SVGImageElement,SVGLength,SVGLengthList,SVGLinearGradientElement,SVGLineElement," + + "SVGMarkerElement,SVGMaskElement,SVGMatrix,SVGMetadataElement,SVGNumber,SVGNumberList,SVGPathElement," + + "SVGPathSeg,SVGPathSegArcAbs,SVGPathSegArcRel,SVGPathSegClosePath,SVGPathSegCurvetoCubicAbs," + + "SVGPathSegCurvetoCubicRel,SVGPathSegCurvetoCubicSmoothAbs,SVGPathSegCurvetoCubicSmoothRel," + + "SVGPathSegCurvetoQuadraticAbs,SVGPathSegCurvetoQuadraticRel,SVGPathSegCurvetoQuadraticSmoothAbs," + + "SVGPathSegCurvetoQuadraticSmoothRel,SVGPathSegLinetoAbs,SVGPathSegLinetoHorizontalAbs," + + "SVGPathSegLinetoHorizontalRel,SVGPathSegLinetoRel,SVGPathSegLinetoVerticalAbs," + + "SVGPathSegLinetoVerticalRel,SVGPathSegList,SVGPathSegMovetoAbs,SVGPathSegMovetoRel," + + "SVGPatternElement,SVGPoint,SVGPointList,SVGPolygonElement,SVGPolylineElement," + + "SVGPreserveAspectRatio,SVGRadialGradientElement,SVGRect,SVGRectElement,SVGScriptElement," + + "SVGStopElement,SVGStringList,SVGStyleElement,SVGSVGElement,SVGSwitchElement,SVGSymbolElement," + + "SVGTextContentElement,SVGTextElement,SVGTextPathElement,SVGTextPositioningElement," + + "SVGTitleElement,SVGTransform,SVGTransformList,SVGTSpanElement,SVGUnitTypes,SVGUseElement," + + "SVGViewElement,SVGZoomEvent,SyntaxError(),test(),Text,TextEvent,TextMetrics,TextRange,TextTrack," + + "TextTrackCue(),TextTrackCueList,TextTrackList,TimeRanges,top,TrackEvent,TransitionEvent," + + "TreeWalker,TypeError(),UIEvent,Uint16Array(),Uint32Array(),Uint8Array(),Uint8ClampedArray()," + + "undefined,unescape(),URIError(),URL,ValidityState,WeakMap(),WEBGL_compressed_texture_s3tc," + + "WEBGL_debug_renderer_info,WebGLActiveInfo,WebGLBuffer,WebGLContextEvent(),WebGLFramebuffer," + + "WebGLProgram,WebGLRenderbuffer,WebGLRenderingContext,WebGLShader,WebGLShaderPrecisionFormat," + + "WebGLTexture,WebGLUniformLocation,WebSocket(),WheelEvent,window,Window,With(),Worker()," + + "XMLDocument,XMLHttpRequest(),XMLHttpRequestEventTarget,XMLSerializer()") + public void window() throws Exception { + testString("window"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlAbbreviated}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void abbr() throws Exception { + test("abbr"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlAcronym}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck,style,tabIndex,title", + IE = "constructor") + public void acronym() throws Exception { + test("acronym"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlAnchor}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "charset,constructor(),coords,download,hash,host,hostname,href,hreflang,name,origin,password," + + "pathname,ping,port,protocol,referrerPolicy,rel,relList,rev,search,shape,target,text,toString()," + + "type," + + "username", + FF60 = "charset,constructor(),coords,download,hash,host,hostname,href,hreflang,name,origin,password," + + "pathname,ping,port,protocol,referrerPolicy,rel,relList,rev,search,shape,target,text,toString()," + + "type," + + "username", + FF68 = "charset,constructor(),coords,download,hash,host,hostname,href,hreflang,name,origin,password," + + "pathname,ping,port,protocol,referrerPolicy,rel,relList,rev,search,shape,target,text,toString()," + + "type," + + "username", + IE = "charset,constructor,coords,hash,host,hostname,href,hreflang,Methods,mimeType,name,nameProp," + + "pathname,port,protocol,protocolLong,rel,rev,search,shape,target,text,toString(),type," + + "urn") + @HtmlUnitNYI(CHROME = "exception", + FF60 = "exception", + FF68 = "exception", + IE = "exception") + public void a() throws Exception { + test("a"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlAddress}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "cite,clear,constructor,width") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture," + + "oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata," + + "onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit," + + "onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel,parentElement,style," + + "tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange," + + "onwaiting,onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "clear,constructor,width") + public void address() throws Exception { + test("address"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlApplet}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "constructor()", + IE = "align,alt,altHtml,archive,BaseHref,border,classid,code,codeBase,codeType,constructor," + + "contentDocument,data,declare,form,height,hspace,name,namedRecordset(),object,recordset,standby," + + "type,useMap,vspace," + + "width") + @HtmlUnitNYI(IE = "align,alt,border,classid,constructor,height,width") + public void applet() throws Exception { + test("applet"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlArea}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "alt,constructor(),coords,download,hash,host,hostname,href,noHref,origin,password,pathname,ping," + + "port,protocol,referrerPolicy,rel,relList,search,shape,target,toString()," + + "username", + FF60 = "alt,constructor(),coords,download,hash,host,hostname,href,noHref,origin,password,pathname,ping," + + "port,protocol,referrerPolicy,rel,relList,search,shape,target,toString()," + + "username", + FF68 = "alt,constructor(),coords,download,hash,host,hostname,href,noHref,origin,password,pathname,ping," + + "port,protocol,referrerPolicy,rel,relList,search,shape,target,toString()," + + "username", + IE = "alt,constructor,coords,hash,host,hostname,href,noHref,pathname,port,protocol,rel,search,shape," + + "target," + + "toString()") + @HtmlUnitNYI(CHROME = "alt,constructor(),coords", + FF60 = "exception", + FF68 = "exception", + IE = "alt,constructor,coords") + public void area() throws Exception { + test("area"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlArticle}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup," + + "onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel,parentElement," + + "style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement," + + "spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck," + + "style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute(),hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut," + + "onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfocusin,onfocusout,onhelp," + + "oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onmscontentzoom," + + "onmsmanipulationstatechanged,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onscroll,onseeked,onseeking,onselect,onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,outerHTML,parentElement,releaseCapture(),removeNode(),runtimeStyle," + + "scrollIntoView(),setActive(),setCapture(),style,tabIndex,title,uniqueID") + public void article() throws Exception { + test("article"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlAside}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag," + + "ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," + + "onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck,style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute(),hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange," + + "onclick,oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend," + + "ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended," + + "onerror,onfocus,onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload," + + "onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking," + + "onselect,onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "outerHTML,parentElement,releaseCapture(),removeNode(),runtimeStyle,scrollIntoView(),setActive()," + + "setCapture(),style,tabIndex,title,uniqueID") + public void aside() throws Exception { + test("aside"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlAudio}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + @HtmlUnitNYI(CHROME = "constructor(),nodeName,nodeType", + FF60 = "constructor(),nodeName,nodeType", + FF68 = "constructor(),nodeName,nodeType", + IE = "constructor,nodeName,nodeType") + public void audio() throws Exception { + test("audio"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBackgroundSound}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "balance,constructor,loop,src,volume") + @HtmlUnitNYI(FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement," + + "spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck," + + "style,tabIndex,title", + IE = "constructor") + public void bgsound() throws Exception { + test("bgsound"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBase}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),href,target", + FF60 = "constructor(),href,target", + FF68 = "constructor(),href,target", + IE = "constructor,href,target") + public void base() throws Exception { + test("base"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBaseFont}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "color,constructor,face,size") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover," + + "onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect," + + "onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel," + + "parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "parentElement,spellcheck,style,tabIndex,title") + public void basefont() throws Exception { + test("basefont"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBidirectionalIsolation}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "constructor()", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick," + + "onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,ongotpointercapture,oninput," + + "oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover," + + "onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "ontoggle,onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void bdi() throws Exception { + test("bdi"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBidirectionalOverride}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void bdo() throws Exception { + test("bdo"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBig}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void big() throws Exception { + test("big"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBlink}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(IE = "constructor") + public void blink() throws Exception { + test("blink"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBlockQuote}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "cite,constructor()", + FF60 = "cite,constructor()", + FF68 = "cite,constructor()", + IE = "cite,clear,constructor,width") + @HtmlUnitNYI(IE = "clear,constructor,width") + public void blockquote() throws Exception { + test("blockquote"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBody}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "aLink,background,bgColor,constructor(),link,onafterprint,onbeforeprint,onbeforeunload,onblur," + + "onerror,onfocus,onhashchange,onlanguagechange,onload(),onmessage,onmessageerror,onoffline," + + "ononline,onpagehide,onpageshow,onpopstate,onrejectionhandled,onresize,onscroll,onstorage," + + "onunhandledrejection,onunload,text," + + "vLink", + FF60 = "aLink,background,bgColor,constructor(),link,onafterprint,onbeforeprint,onbeforeunload," + + "onhashchange,onlanguagechange,onmessage,onmessageerror,onoffline,ononline,onpagehide,onpageshow," + + "onpopstate,onstorage,onunload,text," + + "vLink", + FF68 = "aLink,background,bgColor,constructor(),link,onafterprint,onbeforeprint,onbeforeunload," + + "onhashchange,onlanguagechange,onmessage,onmessageerror,onoffline,ononline,onpagehide,onpageshow," + + "onpopstate,onstorage,onunload,text," + + "vLink", + IE = "aLink,background,bgColor,bgProperties,bottomMargin,constructor,createTextRange(),leftMargin,link," + + "noWrap,onafterprint,onbeforeprint,onbeforeunload,onblur,onerror,onfocus,onhashchange,onload," + + "onmessage,onoffline,ononline,onpagehide,onpageshow,onpopstate,onresize,onstorage,onunload," + + "rightMargin,scroll,text,topMargin," + + "vLink") + @HtmlUnitNYI(CHROME = "aLink,background,bgColor,constructor(),link,onafterprint,onbeforeprint,onbeforeunload," + + "onhashchange,onlanguagechange,onmessage,onmessageerror,onoffline,ononline,onpagehide," + + "onpageshow,onpopstate,onrejectionhandled,onstorage,onunhandledrejection,onunload,text,vLink", + IE = "aLink,background,bgColor,constructor,createTextRange(),link,onafterprint,onbeforeprint," + + "onbeforeunload,onhashchange,onmessage,onoffline,ononline,onpagehide,onpageshow,onpopstate," + + "onresize,onstorage,onunload,text,vLink") + public void body() throws Exception { + test("body"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBold}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting," + + "onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void b() throws Exception { + test("b"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlBreak}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "clear,constructor()", + IE = "clear,constructor") + public void br() throws Exception { + test("br"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlButton}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "checkValidity(),constructor(),disabled,form,formAction,formEnctype,formMethod,formNoValidate," + + "formTarget,labels,name,reportValidity(),setCustomValidity(),type,validationMessage,validity," + + "value,willValidate", + FF60 = "autofocus,checkValidity(),constructor(),disabled,form,formAction,formEnctype,formMethod," + + "formNoValidate,formTarget,labels,name,reportValidity(),setCustomValidity(),type," + + "validationMessage,validity,value,willValidate", + FF68 = "autofocus,checkValidity(),constructor(),disabled,form,formAction,formEnctype,formMethod," + + "formNoValidate,formTarget,labels,name,reportValidity(),setCustomValidity(),type," + + "validationMessage,validity,value,willValidate", + IE = "autofocus,checkValidity(),constructor,createTextRange(),form,formAction,formEnctype,formMethod," + + "formNoValidate,formTarget,name,setCustomValidity(),status,type,validationMessage,validity,value," + + "willValidate") + @HtmlUnitNYI(CHROME = "checkValidity(),constructor(),disabled,form,labels,name,type,value", + FF60 = "checkValidity(),constructor(),disabled,form,labels,name,type,value", + FF68 = "checkValidity(),constructor(),disabled,form,labels,name,type,value", + IE = "checkValidity(),constructor,createTextRange(),form,name,type,value") + public void button() throws Exception { + test("button"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlCanvas}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "captureStream(),constructor(),getContext(),height,toBlob()," + + "toDataURL(),transferControlToOffscreen(),width", + FF = "captureStream(),constructor(),getContext(),height," + + "mozGetAsFile(),mozOpaque,mozPrintCallback,toBlob(),toDataURL(),width") + @HtmlUnitNYI(CHROME = "constructor(),getContext(),height,toDataURL(),width", + FF60 = "constructor(),getContext(),height,toDataURL(),width", + FF68 = "constructor(),getContext(),height,toDataURL(),width", + IE = "constructor,getContext(),height,toDataURL(),width") + public void canvas() throws Exception { + test("canvas"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlCaption}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,constructor()", + FF60 = "align,constructor()", + FF68 = "align,constructor()", + IE = "align,constructor,vAlign") + public void caption() throws Exception { + test("caption"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlCenter}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "cite,clear,constructor,width") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "parentElement,spellcheck,style,tabIndex,title", + IE = "clear,constructor,width") + public void center() throws Exception { + test("center"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlCitation}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement,spellcheck," + + "style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck,style," + + "tabIndex,title", + IE = "constructor") + public void cite() throws Exception { + test("cite"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlCode}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "parentElement,spellcheck,style,tabIndex,title", + IE = "constructor") + public void code() throws Exception { + test("code"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlCommand}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void command() throws Exception { + test("command"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDataList}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),options", + FF60 = "constructor(),options", + FF68 = "constructor(),options", + IE = "constructor,options") + public void datalist() throws Exception { + test("datalist"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDefinition}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick," + + "onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,ongotpointercapture,oninput," + + "oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover," + + "onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement,spellcheck," + + "style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck,style," + + "tabIndex,title", + IE = "constructor") + public void dfn() throws Exception { + test("dfn"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDefinitionDescription}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "constructor,noWrap") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting," + + "onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck," + + "style,tabIndex,title") + public void dd() throws Exception { + test("dd"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDeletedText}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "cite,constructor(),dateTime", + FF60 = "cite,constructor(),dateTime", + FF68 = "cite,constructor(),dateTime", + IE = "cite,constructor,dateTime") + public void del() throws Exception { + test("del"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDetails}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),open", + FF60 = "constructor(),open", + FF68 = "constructor(),open", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void details() throws Exception { + test("details"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDialog}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "close(),constructor(),open,returnValue,show(),showModal()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(CHROME = "constructor()", + IE = "constructor") + public void dialog() throws Exception { + test("dialog"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDirectory}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "compact,constructor()", + FF60 = "compact,constructor()", + FF68 = "compact,constructor()", + IE = "compact,constructor,type") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void dir() throws Exception { + test("dir"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDivision}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,constructor()", + FF60 = "align,constructor()", + FF68 = "align,constructor()", + IE = "align,constructor,noWrap") + public void div() throws Exception { + test("div"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDefinitionList}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "compact,constructor()", + IE = "compact,constructor") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void dl() throws Exception { + test("dl"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlDefinitionTerm}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "constructor,noWrap") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize," + + "onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,parentElement,spellcheck,style,tabIndex,title") + public void dt() throws Exception { + test("dt"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlEmbed}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,constructor(),getSVGDocument(),height,name,src,type,width", + FF60 = "align,constructor(),getSVGDocument(),height,name,src,type,width", + FF68 = "align,constructor(),getSVGDocument(),height,name,src,type,width", + IE = "constructor,getSVGDocument(),height,hidden,msPlayToDisabled,msPlayToPreferredSourceUri," + + "msPlayToPrimary,name,palette,pluginspage,readyState,src,units," + + "width") + @HtmlUnitNYI(CHROME = "align,constructor(),height,name,width", + FF60 = "align,constructor(),height,name,width", + FF68 = "align,constructor(),height,name,width", + IE = "constructor,height,name,width") + public void embed() throws Exception { + test("embed"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlEmphasis}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void em() throws Exception { + test("em"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlFieldSet}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "checkValidity(),constructor(),disabled,elements,form,name,reportValidity(),setCustomValidity()," + + "type,validationMessage,validity," + + "willValidate", + FF60 = "checkValidity(),constructor(),disabled,elements,form,name,reportValidity(),setCustomValidity()," + + "type,validationMessage,validity," + + "willValidate", + FF68 = "checkValidity(),constructor(),disabled,elements,form,name,reportValidity(),setCustomValidity()," + + "type,validationMessage,validity," + + "willValidate", + IE = "align,checkValidity(),constructor,form,setCustomValidity(),validationMessage,validity," + + "willValidate") + @HtmlUnitNYI(CHROME = "checkValidity(),constructor(),disabled,form,name", + FF60 = "checkValidity(),constructor(),disabled,form,name", + FF68 = "checkValidity(),constructor(),disabled,form,name", + IE = "align,checkValidity(),constructor,disabled,form") + public void fieldset() throws Exception { + test("fieldset"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlFigureCaption}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting," + + "onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck,style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute(),hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut," + + "onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "parentElement,releaseCapture(),removeNode(),runtimeStyle,scrollIntoView(),setActive()," + + "setCapture(),style,tabIndex,title,uniqueID") + public void figcaption() throws Exception { + test("figcaption"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlFigure}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName(),hasAttribute()," + + "hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText()," + + "isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft,offsetParent,offsetTop," + + "offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut,onbeforedeactivate," + + "onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,oncopy,oncuechange," + + "oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfocusin,onfocusout,onhelp,oninput," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onmscontentzoom," + + "onmsmanipulationstatechanged,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onscroll,onseeked,onseeking,onselect,onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,outerHTML,parentElement,releaseCapture(),removeNode(),runtimeStyle," + + "scrollIntoView(),setActive(),setCapture(),style,tabIndex,title,uniqueID") + public void figure() throws Exception { + test("figure"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlFont}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "color,constructor(),face,size", + FF60 = "color,constructor(),face,size", + FF68 = "color,constructor(),face,size", + IE = "color,constructor,face,size") + public void font() throws Exception { + test("font"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlForm}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "acceptCharset,action,autocomplete,checkValidity(),constructor(),elements,encoding,enctype,length," + + "method,name,noValidate,reportValidity(),requestSubmit(),reset(),submit()," + + "target", + FF60 = "acceptCharset,action,autocomplete,checkValidity(),constructor(),elements,encoding,enctype,length," + + "method,name,noValidate,reportValidity(),reset(),submit()," + + "target", + FF68 = "acceptCharset,action,autocomplete,checkValidity(),constructor(),elements,encoding,enctype,length," + + "method,name,noValidate,reportValidity(),reset(),submit()," + + "target", + IE = "acceptCharset,action,autocomplete,checkValidity(),constructor,elements,encoding,enctype,item()," + + "length,method,name,namedItem(),noValidate,reset(),submit(),tags(),target," + + "urns()") + @HtmlUnitNYI(CHROME = "action,checkValidity(),constructor(),elements,encoding,enctype,length,method," + + "name,reset(),submit(),target", + FF60 = "action,checkValidity(),constructor(),elements,encoding,enctype,length,method,name," + + "reset(),submit(),target", + FF68 = "action,checkValidity(),constructor(),elements,encoding,enctype,length,method,name," + + "reset(),submit(),target", + IE = "action,checkValidity(),constructor,elements,encoding,enctype,item(),length,method,name," + + "reset(),submit(),target") + public void form() throws Exception { + test("form"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlFooter}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup," + + "onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel,parentElement," + + "style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck," + + "style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute(),hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut," + + "onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfocusin,onfocusout,onhelp," + + "oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onmscontentzoom," + + "onmsmanipulationstatechanged,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onscroll,onseeked,onseeking,onselect,onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,outerHTML,parentElement,releaseCapture(),removeNode(),runtimeStyle," + + "scrollIntoView(),setActive(),setCapture(),style,tabIndex,title,uniqueID") + public void footer() throws Exception { + test("footer"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlFrame}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),contentDocument,contentWindow,frameBorder,longDesc,marginHeight,marginWidth,name," + + "noResize,scrolling," + + "src", + FF60 = "constructor(),contentDocument,contentWindow,frameBorder,longDesc,marginHeight,marginWidth,name," + + "noResize,scrolling," + + "src", + FF68 = "constructor(),contentDocument,contentWindow,frameBorder,longDesc,marginHeight,marginWidth,name," + + "noResize,scrolling," + + "src", + IE = "border,borderColor,constructor,contentDocument,contentWindow,frameBorder,frameSpacing," + + "getSVGDocument(),height,longDesc,marginHeight,marginWidth,name,noResize,onload,scrolling," + + "security,src," + + "width") + @HtmlUnitNYI(CHROME = "constructor(),contentDocument,contentWindow,name,src", + FF60 = "constructor(),contentDocument,contentWindow,name,src", + FF68 = "constructor(),contentDocument,contentWindow,name,src", + IE = "border,constructor,contentDocument,contentWindow,name,src") + public void frame() throws Exception { + test("frame"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlFrameSet}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "cols,constructor(),onafterprint,onbeforeprint,onbeforeunload,onblur,onerror,onfocus,onhashchange," + + "onlanguagechange,onload(),onmessage,onmessageerror,onoffline,ononline,onpagehide,onpageshow," + + "onpopstate,onrejectionhandled,onresize,onscroll,onstorage,onunhandledrejection,onunload," + + "rows", + FF60 = "cols,constructor(),onafterprint,onbeforeprint,onbeforeunload,onhashchange,onlanguagechange," + + "onmessage,onmessageerror,onoffline,ononline,onpagehide,onpageshow,onpopstate,onstorage,onunload," + + "rows", + FF68 = "cols,constructor(),onafterprint,onbeforeprint,onbeforeunload,onhashchange,onlanguagechange," + + "onmessage,onmessageerror,onoffline,ononline,onpagehide,onpageshow,onpopstate,onstorage,onunload," + + "rows", + IE = "border,borderColor,cols,constructor,frameBorder,frameSpacing,name,onafterprint,onbeforeprint," + + "onbeforeunload,onblur,onerror,onfocus,onhashchange,onload,onmessage,onoffline,ononline," + + "onpagehide,onpageshow,onresize,onstorage,onunload," + + "rows") + @HtmlUnitNYI(CHROME = "cols,constructor(),onafterprint,onbeforeprint,onbeforeunload,onhashchange," + + "onlanguagechange,onmessage,onmessageerror,onoffline,ononline,onpagehide,onpageshow,onpopstate," + + "onrejectionhandled,onstorage,onunhandledrejection,onunload,rows", + IE = "border,cols,constructor,onafterprint,onbeforeprint,onbeforeunload,onhashchange,onmessage," + + "onoffline,ononline,onpagehide,onpageshow,onresize,onstorage,onunload,rows") + public void frameset() throws Exception { + test("frameset"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHead}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,profile") + @HtmlUnitNYI(IE = "constructor") + public void head() throws Exception { + test("head"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHeader}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover," + + "onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect," + + "onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel," + + "parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement," + + "spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck," + + "style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute(),hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut," + + "onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfocusin," + + "onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata," + + "onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," + + "onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause,onplay,onplaying," + + "onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML,parentElement,releaseCapture()," + + "removeNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture(),style,tabIndex,title,uniqueID") + public void header() throws Exception { + test("header"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHeading1}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "align,constructor()", + IE = "align,clear,constructor") + public void h1() throws Exception { + test("h1"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHeading2}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "align,constructor()", + IE = "align,clear,constructor") + public void h2() throws Exception { + test("h2"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHeading3}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "align,constructor()", + IE = "align,clear,constructor") + public void h3() throws Exception { + test("h3"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHeading4}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "align,constructor()", + IE = "align,clear,constructor") + public void h4() throws Exception { + test("h4"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHeading5}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "align,constructor()", + IE = "align,clear,constructor") + public void h5() throws Exception { + test("h5"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHeading6}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "align,constructor()", + IE = "align,clear,constructor") + public void h6() throws Exception { + test("h6"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHorizontalRule}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "align,color,constructor(),noShade,size,width", + IE = "align,color,constructor,noShade,size,width") + @HtmlUnitNYI(CHROME = "align,color,constructor(),width", + FF60 = "align,color,constructor(),width", + FF68 = "align,color,constructor(),width", + IE = "align,color,constructor,width") + public void hr() throws Exception { + test("hr"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlHtml}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),version", + FF60 = "constructor(),version", + FF68 = "constructor(),version", + IE = "constructor,version") + public void html() throws Exception { + test("html"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlInlineFrame}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,allow,allowFullscreen,allowPaymentRequest,constructor(),contentDocument,contentWindow," + + "csp,featurePolicy,frameBorder,getSVGDocument(),height," + + "loading,longDesc,marginHeight,marginWidth,name," + + "referrerPolicy,sandbox,scrolling,src,srcdoc," + + "width", + FF60 = "align,allowFullscreen,allowPaymentRequest,constructor(),contentDocument,contentWindow," + + "frameBorder,getSVGDocument(),height,longDesc,marginHeight,marginWidth,name,referrerPolicy," + + "sandbox,scrolling,src,srcdoc," + + "width", + FF68 = "align,allowFullscreen,allowPaymentRequest,constructor(),contentDocument,contentWindow," + + "frameBorder,getSVGDocument(),height,longDesc,marginHeight,marginWidth,name,referrerPolicy," + + "sandbox,scrolling,src,srcdoc," + + "width", + IE = "align,border,constructor,contentDocument,contentWindow,frameBorder,frameSpacing,getSVGDocument()," + + "height,hspace,longDesc,marginHeight,marginWidth,name,noResize,onload,sandbox,scrolling,security," + + "src,vspace," + + "width") + @HtmlUnitNYI(CHROME = "align,constructor(),contentDocument,contentWindow,height,name,src,width", + FF60 = "align,constructor(),contentDocument,contentWindow,height,name,src,width", + FF68 = "align,constructor(),contentDocument,contentWindow,height,name,src,width", + IE = "align,border,constructor,contentDocument,contentWindow,height,name,src,width") + public void iframe() throws Exception { + test("iframe"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlInlineQuotation}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "cite,constructor()", + IE = "cite,constructor,dateTime") + public void q() throws Exception { + test("q"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlImage}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,alt,border,complete,constructor(),crossOrigin,currentSrc,decode(),decoding,height,hspace," + + "isMap,loading,longDesc,lowsrc,name,naturalHeight,naturalWidth,referrerPolicy,sizes,src,srcset," + + "useMap,vspace,width,x," + + "y", + FF60 = "align,alt,border,complete,constructor(),crossOrigin,currentSrc,height,hspace,isMap,longDesc," + + "lowsrc,name,naturalHeight,naturalWidth,referrerPolicy,sizes,src,srcset,useMap,vspace,width,x," + + "y", + FF68 = "align,alt,border,complete,constructor(),crossOrigin,currentSrc,decode(),decoding,height,hspace," + + "isMap,longDesc,lowsrc,name,naturalHeight,naturalWidth,referrerPolicy,sizes,src,srcset,useMap," + + "vspace,width,x," + + "y") + @HtmlUnitNYI(CHROME = "align,alt,border,complete,constructor(),height,name,naturalHeight,naturalWidth,src,width", + FF60 = "align,alt,border,complete,constructor(),height,name,naturalHeight,naturalWidth,src,width", + FF68 = "align,alt,border,complete,constructor(),height,name,naturalHeight,naturalWidth,src,width", + IE = "align,alt,border,complete,constructor(),height,name,naturalHeight,naturalWidth,src,width") + public void img() throws Exception { + test("img"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlImage}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "align,alt,border,complete,constructor,crossOrigin,dynsrc,fileCreatedDate,fileModifiedDate," + + "fileUpdatedDate,height,href,hspace,isMap,longDesc,loop,lowsrc,mimeType,msPlayToDisabled," + + "msPlayToPreferredSourceUri,msPlayToPrimary,name,nameProp,naturalHeight,naturalWidth,protocol,src," + + "start,useMap,vrml,vspace," + + "width") + @HtmlUnitNYI(FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "align,alt,border,complete,constructor(),height,name,naturalHeight,naturalWidth,src,width") + public void image() throws Exception { + test("image"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlInsertedText}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "cite,constructor(),dateTime", + FF60 = "cite,constructor(),dateTime", + FF68 = "cite,constructor(),dateTime") + @HtmlUnitNYI(IE = "cite,constructor,dateTime") + public void ins() throws Exception { + test("ins"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlIsIndex}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "action,constructor,form,prompt") + @HtmlUnitNYI(IE = "constructor") + public void isindex() throws Exception { + test("isindex"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlItalic}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void i() throws Exception { + test("i"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlKeyboard}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void kbd() throws Exception { + test("kbd"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "constructor()", + IE = "cite,clear,constructor,width") + @HtmlUnitNYI(IE = "clear,constructor,width") + public void keygen() throws Exception { + test("keygen"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlLabel}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),control,form,htmlFor", + FF60 = "constructor(),control,form,htmlFor", + FF68 = "constructor(),control,form,htmlFor", + IE = "constructor,form,htmlFor") + public void label() throws Exception { + test("label"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlLayer}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture," + + "oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover," + + "onmouseup," + + "onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange,onreset,onresize," + + "onscroll," + + "onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle," + + "onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + IE = "constructor") + public void layer() throws Exception { + test("layer"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlLegend}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "align,constructor(),form", + IE = "align,constructor,form") + public void legend() throws Exception { + test("legend"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlListing}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),width", + FF60 = "constructor(),width", + FF68 = "constructor(),width", + IE = "cite,clear,constructor,width") + @HtmlUnitNYI(IE = "clear,constructor,width") + public void listing() throws Exception { + test("listing"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlListItem}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),type,value", + FF60 = "constructor(),type,value", + FF68 = "constructor(),type,value", + IE = "constructor,type,value") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void li() throws Exception { + test("li"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlLink}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "as,charset,constructor(),crossOrigin,disabled,href,hreflang,imageSizes,imageSrcset,import," + + "integrity,media,referrerPolicy,rel,relList,rev,sheet,sizes,target,type", + FF60 = "as,charset,constructor(),crossOrigin,disabled,href,hreflang,integrity,media,referrerPolicy,rel," + + "relList,rev,sheet,sizes,target,type", + FF68 = "as,charset,constructor(),crossOrigin,disabled,href,hreflang,integrity,media,referrerPolicy,rel," + + "relList,rev,sheet,sizes,target,type", + IE = "charset,constructor,href,hreflang,media,rel,rev,sheet,target,type") + @HtmlUnitNYI(CHROME = "constructor(),disabled,href,rel,rev,type", + FF60 = "exception", + FF68 = "exception", + IE = "constructor,disabled,href,rel,rev,type") + public void link() throws Exception { + test("link"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlMain}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting," + + "onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement,spellcheck," + + "style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck,style," + + "tabIndex,title", + IE = "constructor") + public void main() throws Exception { + test("main"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlMap}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "areas,constructor(),name", + FF60 = "areas,constructor(),name", + FF68 = "areas,constructor(),name", + IE = "areas,constructor,name") + public void map() throws Exception { + test("map"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlMark}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting," + + "onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute(),hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut," + + "onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfocusin," + + "onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata," + + "onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," + + "onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause,onplay,onplaying," + + "onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML,parentElement,releaseCapture()," + + "removeNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture(),style,tabIndex,title,uniqueID") + public void mark() throws Exception { + test("mark"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlMarquee}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "behavior,bgColor,constructor(),direction,height,hspace,loop,scrollAmount,scrollDelay,start()," + + "stop(),trueSpeed,vspace," + + "width", + FF60 = "align,constructor()", + FF68 = "behavior,bgColor,constructor(),direction,height,hspace,loop,onbounce,onfinish,onstart," + + "scrollAmount,scrollDelay,start(),stop(),trueSpeed,vspace," + + "width", + IE = "behavior,bgColor,constructor,direction,height,hspace,loop,onbounce,onfinish,onstart,scrollAmount," + + "scrollDelay,start(),stop(),trueSpeed,vspace," + + "width") + @HtmlUnitNYI(CHROME = "bgColor,constructor(),height,width", + FF68 = "constructor()", + IE = "bgColor,constructor,height,width") + public void marquee() throws Exception { + test("marquee"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlMenu}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "compact,constructor()", + FF = "compact,constructor(),label,type", + IE = "compact,constructor,type") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor(),label,type", + FF68 = "constructor(),label,type", + IE = "constructor,type") + public void menu() throws Exception { + test("menu"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlMenuItem}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "checked,constructor(),defaultChecked,disabled,icon,label,radiogroup,type", + FF68 = "checked,constructor(),defaultChecked,disabled,icon,label,radiogroup,type", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void menuitem() throws Exception { + test("menuitem"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlMeta}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "constructor(),content,httpEquiv,name,scheme", + IE = "charset,constructor,content,httpEquiv,name,scheme,url") + public void meta() throws Exception { + test("meta"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlMeter}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),high,labels,low,max,min,optimum,value", + FF60 = "constructor(),high,labels,low,max,min,optimum,value", + FF68 = "constructor(),high,labels,low,max,min,optimum,value", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void meter() throws Exception { + test("meter"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlMultiColumn}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void multicol() throws Exception { + test("multicol"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlNav}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting," + + "onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute()," + + "hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent,offsetTop," + + "offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,oncopy," + + "oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName(),hasAttribute()," + + "hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText()," + + "isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft,offsetParent,offsetTop," + + "offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut,onbeforedeactivate," + + "onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,oncopy,oncuechange," + + "oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfocusin,onfocusout,onhelp,oninput," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause,onplay,onplaying,onprogress," + + "onratechange,onreset,onscroll,onseeked,onseeking,onselect,onselectstart,onstalled,onsubmit," + + "onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML,parentElement,releaseCapture()," + + "removeNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture(),style,tabIndex,title,uniqueID") + public void nav() throws Exception { + test("nav"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlNextId}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "constructor()", + IE = "constructor,n") + @HtmlUnitNYI(IE = "constructor") + public void nextid() throws Exception { + test("nextid"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlNoBreak}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick," + + "onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,ongotpointercapture,oninput," + + "oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover," + + "onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "ontoggle,onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement,spellcheck," + + "style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled," + + "onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck,style,tabIndex," + + "title", + IE = "constructor") + public void nobr() throws Exception { + test("nobr"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlNoEmbed}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror," + + "onfocus,ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload," + + "onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay," + + "onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove," + + "onpointerout,onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll," + + "onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle," + + "onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "parentElement,spellcheck,style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute(),hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut," + + "onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror," + + "onfocus,onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking," + + "onselect,onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "outerHTML,parentElement,releaseCapture(),removeNode(),runtimeStyle,scrollIntoView()," + + "setActive(),setCapture(),style,tabIndex,title,uniqueID") + public void noembed() throws Exception { + test("noembed"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlNoFrames}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck,style," + + "tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute()," + + "hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText()," + + "isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft,offsetParent,offsetTop," + + "offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut,onbeforedeactivate," + + "onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,oncopy,oncuechange," + + "oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfocusin,onfocusout,onhelp,oninput," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onmscontentzoom," + + "onmsmanipulationstatechanged,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onscroll,onseeked,onseeking,onselect,onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,outerHTML,parentElement,releaseCapture(),removeNode(),runtimeStyle," + + "scrollIntoView(),setActive(),setCapture(),style,tabIndex,title,uniqueID") + public void noframes() throws Exception { + test("noframes"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlNoLayer}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture," + + "oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover," + + "onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + IE = "constructor") + public void nolayer() throws Exception { + test("nolayer"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlNoScript}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover," + + "onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect," + + "onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel," + + "parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize," + + "onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,parentElement,spellcheck,style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute(),hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut," + + "onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "parentElement,releaseCapture(),removeNode(),runtimeStyle,scrollIntoView(),setActive()," + + "setCapture(),style,tabIndex,title,uniqueID") + public void noscript() throws Exception { + test("noscript"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlObject}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,archive,border,checkValidity(),code,codeBase,codeType,constructor(),contentDocument," + + "contentWindow,data,declare,form,getSVGDocument(),height,hspace,name,reportValidity()," + + "setCustomValidity(),standby,type,useMap,validationMessage,validity,vspace,width," + + "willValidate", + FF60 = "align,archive,border,checkValidity(),code,codeBase,codeType,constructor(),contentDocument," + + "contentWindow,data,declare,form,getSVGDocument(),height,hspace,name,reportValidity()," + + "setCustomValidity(),standby,type,typeMustMatch,useMap,validationMessage,validity,vspace,width," + + "willValidate", + FF68 = "align,archive,border,checkValidity(),code,codeBase,codeType,constructor(),contentDocument," + + "contentWindow,data,declare,form,getSVGDocument(),height,hspace,name,reportValidity()," + + "setCustomValidity(),standby,type,useMap,validationMessage,validity,vspace,width," + + "willValidate", + IE = "align,alt,altHtml,archive,BaseHref,border,checkValidity(),classid,code,codeBase,codeType," + + "constructor,contentDocument,data,declare,form,getSVGDocument(),height,hspace,msPlayToDisabled," + + "msPlayToPreferredSourceUri,msPlayToPrimary,name,namedRecordset(),object,readyState,recordset," + + "setCustomValidity(),standby,type,useMap,validationMessage,validity,vspace,width," + + "willValidate") + @HtmlUnitNYI(CHROME = "align,border,checkValidity(),constructor(),form,height,name,width", + FF60 = "align,border,checkValidity(),constructor(),form,height,name,width", + FF68 = "align,border,checkValidity(),constructor(),form,height,name,width", + IE = "align,alt,border,checkValidity(),classid,constructor,form,height,name,width") + public void object() throws Exception { + test("object"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlOrderedList}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "compact,constructor(),reversed,start,type", + IE = "compact,constructor,start,type") + @HtmlUnitNYI(CHROME = "constructor(),type", + FF60 = "constructor(),type", + FF68 = "constructor(),type", + IE = "constructor,type") + public void ol() throws Exception { + test("ol"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlOptionGroup}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),disabled,label", + FF60 = "constructor(),disabled,label", + FF68 = "constructor(),disabled,label", + IE = "constructor,defaultSelected,form,index,label,selected,text,value") + @HtmlUnitNYI(IE = "constructor,disabled,label") + public void optgroup() throws Exception { + test("optgroup"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlOption}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "constructor(),defaultSelected,disabled,form,index,label,selected,text,value", + IE = "constructor,defaultSelected,form,index,label,selected,text,value") + @HtmlUnitNYI(IE = "constructor,defaultSelected,disabled,form,index,label,selected,text,value") + public void option() throws Exception { + test("option"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlOutput}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "checkValidity(),constructor(),defaultValue,form,htmlFor,labels,name,reportValidity()," + + "setCustomValidity(),type,validationMessage,validity,value," + + "willValidate", + FF60 = "checkValidity(),constructor(),defaultValue,form,htmlFor,labels,name,reportValidity()," + + "setCustomValidity(),type,validationMessage,validity,value," + + "willValidate", + FF68 = "checkValidity(),constructor(),defaultValue,form,htmlFor,labels,name,reportValidity()," + + "setCustomValidity(),type,validationMessage,validity,value," + + "willValidate", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(CHROME = "checkValidity(),constructor(),labels,name", + FF60 = "checkValidity(),constructor(),labels,name", + FF68 = "checkValidity(),constructor(),labels,name", + IE = "constructor") + public void output() throws Exception { + test("output"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlParagraph}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "align,constructor()", + IE = "align,clear,constructor") + public void p() throws Exception { + test("p"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlParameter}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),name,type,value,valueType", + FF60 = "constructor(),name,type,value,valueType", + FF68 = "constructor(),name,type,value,valueType", + IE = "constructor,name,type,value,valueType") + public void param() throws Exception { + test("param"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlPlainText}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,clear,constructor,width") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover," + + "onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect," + + "onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel," + + "parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect," + + "onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement," + + "spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck," + + "style,tabIndex,title", + IE = "clear,constructor,width") + public void plaintext() throws Exception { + test("plaintext"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlPreformattedText}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),width", + FF60 = "constructor(),width", + FF68 = "constructor(),width", + IE = "cite,clear,constructor,width") + public void pre() throws Exception { + test("pre"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlProgress}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "constructor(),labels,max,position,value", + IE = "constructor,form,max,position,value") + @HtmlUnitNYI(CHROME = "constructor(),labels,max,value", + FF60 = "constructor(),labels,max,value", + FF68 = "constructor(),labels,max,value", + IE = "constructor,max,value") + public void progress() throws Exception { + test("progress"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlRp}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void rp() throws Exception { + test("rp"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlRt}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void rt() throws Exception { + test("rt"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlRuby}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover," + + "onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect," + + "onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel," + + "parentElement,style,tabIndex,title", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void ruby() throws Exception { + test("ruby"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlS}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void s() throws Exception { + test("s"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSample}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture," + + "oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover," + + "onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay," + + "onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement," + + "spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void samp() throws Exception { + test("samp"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlScript}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "async,charset,constructor(),crossOrigin,defer,event,htmlFor," + + "integrity,noModule,referrerPolicy,src,text,type", + FF60 = "async,charset,constructor(),crossOrigin,defer,event,htmlFor," + + "integrity,noModule,src,text,type", + FF68 = "async,charset,constructor(),crossOrigin,defer,event,htmlFor," + + "integrity,noModule,referrerPolicy,src,text,type", + IE = "async,charset,constructor,defer,event,htmlFor,src,text,type") + @HtmlUnitNYI(CHROME = "async,constructor(),src,text,type", + FF60 = "async,constructor(),src,text,type", + FF68 = "async,constructor(),src,text,type", + IE = "async,constructor,onreadystatechange,readyState,src,text,type") + public void script() throws Exception { + test("script"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSection}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag," + + "ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," + + "onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit," + + "onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel,parentElement," + + "style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange," + + "onclick,oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput," + + "oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," + + "onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled," + + "onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement," + + "spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft," + + "offsetParent,offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange," + + "onclick,oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput," + + "oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," + + "onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled," + + "onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck," + + "style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName()," + + "hasAttribute(),hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML()," + + "insertAdjacentText(),isContentEditable,lang,language,mergeAttributes(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate," + + "onbeforecopy,onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay," + + "oncanplaythrough,onchange,onclick,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondeactivate,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,onfocusin,onfocusout,onhelp,oninput," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause,onplay,onplaying,onprogress," + + "onratechange,onreset,onscroll,onseeked,onseeking,onselect,onselectstart,onstalled,onsubmit," + + "onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML,parentElement,releaseCapture()," + + "removeNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture(),style,tabIndex,title," + + "uniqueID") + public void section() throws Exception { + test("section"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSelect}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "add(),autocomplete,checkValidity(),constructor(),disabled,form,item(),labels,length,multiple," + + "name,namedItem(),options,remove(),reportValidity(),required,selectedIndex,selectedOptions," + + "setCustomValidity(),size,type,validationMessage,validity,value,willValidate", + FF60 = "add(),autocomplete,autofocus,checkValidity(),constructor(),disabled,form,item(),labels,length," + + "multiple,name,namedItem(),options,remove(),reportValidity(),required,selectedIndex," + + "selectedOptions,setCustomValidity(),size,type,validationMessage,validity,value," + + "willValidate", + FF68 = "add(),autocomplete,autofocus,checkValidity(),constructor(),disabled,form,item(),labels,length," + + "multiple,name,namedItem(),options,remove(),reportValidity(),required,selectedIndex," + + "selectedOptions,setCustomValidity(),size,type,validationMessage,validity,value," + + "willValidate", + IE = "add(),autofocus,checkValidity(),constructor,form,item(),length,multiple,name,namedItem(),options," + + "remove(),required,selectedIndex,setCustomValidity(),size,tags(),type,urns(),validationMessage," + + "validity,value,willValidate") + @HtmlUnitNYI(CHROME = "add(),checkValidity(),constructor(),disabled,form,item(),labels,length,multiple," + + "name,options,remove(),required,selectedIndex,size,type,value", + FF60 = "add(),checkValidity(),constructor(),disabled,form,item(),labels,length,multiple," + + "name,options,remove(),required,selectedIndex,size,type,value", + FF68 = "add(),checkValidity(),constructor(),disabled,form,item(),labels,length,multiple," + + "name,options,remove(),required,selectedIndex,size,type,value", + IE = "add(),checkValidity(),constructor,form,item(),length,multiple," + + "name,options,remove(),required,selectedIndex,size,type,value") + public void select() throws Exception { + test("select"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSmall}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,onvolumechange,onwaiting,parentElement,spellcheck,style,tabIndex,title", + IE = "constructor") + public void small() throws Exception { + test("small"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSource}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),media,sizes,src,srcset,type", + FF60 = "constructor(),media,sizes,src,srcset,type", + FF68 = "constructor(),media,sizes,src,srcset,type", + IE = "constructor,media,src,type") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void source() throws Exception { + test("source"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSpan}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "constructor()", + IE = "constructor") + public void span() throws Exception { + test("span"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlStrike}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void strike() throws Exception { + test("strike"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlStrong}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void strong() throws Exception { + test("strong"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlStyle}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),disabled,media,sheet,type", + FF60 = "constructor(),disabled,media,sheet,type", + FF68 = "constructor(),disabled,media,sheet,type", + IE = "constructor,media,sheet,type") + @HtmlUnitNYI(IE = "constructor,disabled,media,sheet,type") + public void style() throws Exception { + test("style"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSubscript}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void sub() throws Exception { + test("sub"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSummary}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture," + + "oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover," + + "onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,parentElement,spellcheck,style,tabIndex,title", + IE = "constructor") + public void summary() throws Exception { + test("summary"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSuperscript}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void sup() throws Exception { + test("sup"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSvg}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void svg() throws Exception { + test("svg"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTable}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,bgColor,border,caption,cellPadding,cellSpacing,constructor(),createCaption(),createTBody()," + + "createTFoot(),createTHead(),deleteCaption(),deleteRow(),deleteTFoot(),deleteTHead(),frame," + + "insertRow(),rows,rules,summary,tBodies,tFoot,tHead," + + "width", + FF60 = "align,bgColor,border,caption,cellPadding,cellSpacing,constructor(),createCaption(),createTBody()," + + "createTFoot(),createTHead(),deleteCaption(),deleteRow(),deleteTFoot(),deleteTHead(),frame," + + "insertRow(),rows,rules,summary,tBodies,tFoot,tHead," + + "width", + FF68 = "align,bgColor,border,caption,cellPadding,cellSpacing,constructor(),createCaption(),createTBody()," + + "createTFoot(),createTHead(),deleteCaption(),deleteRow(),deleteTFoot(),deleteTHead(),frame," + + "insertRow(),rows,rules,summary,tBodies,tFoot,tHead," + + "width", + IE = "align,background,bgColor,border,borderColor,borderColorDark,borderColorLight,caption,cellPadding," + + "cells,cellSpacing,cols,constructor,createCaption(),createTBody(),createTFoot(),createTHead()," + + "deleteCaption(),deleteRow(),deleteTFoot(),deleteTHead(),frame,height,insertRow(),moveRow(),rows," + + "rules,summary,tBodies,tFoot,tHead," + + "width") + @HtmlUnitNYI(CHROME = "bgColor,border,caption,cellPadding,cellSpacing,constructor(),createCaption(),createTBody()," + + "createTFoot(),createTHead(),deleteCaption(),deleteTFoot(),deleteTHead(),rules,summary,tBodies," + + "tFoot,tHead,width", + FF60 = "bgColor,border,caption,cellPadding,cellSpacing,constructor(),createCaption(),createTBody()," + + "createTFoot(),createTHead(),deleteCaption(),deleteTFoot(),deleteTHead(),rules,summary," + + "tBodies,tFoot,tHead,width", + FF68 = "bgColor,border,caption,cellPadding,cellSpacing,constructor(),createCaption(),createTBody()," + + "createTFoot(),createTHead(),deleteCaption(),deleteTFoot(),deleteTHead(),rules,summary," + + "tBodies,tFoot,tHead,width", + IE = "bgColor,border,borderColor,borderColorDark,borderColorLight,caption,cellPadding,cellSpacing," + + "constructor,createCaption(),createTBody(),createTFoot(),createTHead(),deleteCaption()," + + "deleteTFoot(),deleteTHead(),rules,summary,tBodies,tFoot,tHead,width") + public void table() throws Exception { + test("table"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTableColumn}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,ch,chOff,constructor(),span,vAlign,width", + FF60 = "align,ch,chOff,constructor(),span,vAlign,width", + FF68 = "align,ch,chOff,constructor(),span,vAlign,width", + IE = "align,ch,chOff,constructor,span,vAlign,width") + @HtmlUnitNYI(CHROME = "constructor(),span,width", + FF60 = "constructor(),span,width", + FF68 = "constructor(),span,width", + IE = "constructor,span,width") + public void col() throws Exception { + test("col"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTableColumnGroup}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,ch,chOff,constructor(),span,vAlign,width", + FF60 = "align,ch,chOff,constructor(),span,vAlign,width", + FF68 = "align,ch,chOff,constructor(),span,vAlign,width", + IE = "align,ch,chOff,constructor,span,vAlign,width") + @HtmlUnitNYI(CHROME = "constructor(),span,width", + FF60 = "constructor(),span,width", + FF68 = "constructor(),span,width", + IE = "constructor,span,width") + public void colgroup() throws Exception { + test("colgroup"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTableBody}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,ch,chOff,constructor(),deleteRow(),insertRow(),rows,vAlign", + FF60 = "align,ch,chOff,constructor(),deleteRow(),insertRow(),rows,vAlign", + FF68 = "align,ch,chOff,constructor(),deleteRow(),insertRow(),rows,vAlign", + IE = "align,bgColor,ch,chOff,constructor,deleteRow(),insertRow(),moveRow(),rows,vAlign") + @HtmlUnitNYI(CHROME = "ch,chOff,constructor(),vAlign", + FF60 = "ch,chOff,constructor(),vAlign", + FF68 = "ch,chOff,constructor(),vAlign", + IE = "bgColor,ch,chOff,constructor,vAlign") + public void tbody() throws Exception { + test("tbody"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTableDataCell}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "abbr,align,axis,bgColor,cellIndex,ch,chOff,colSpan,constructor(),headers,height,noWrap,rowSpan," + + "scope,vAlign," + + "width", + FF60 = "abbr,align,axis,bgColor,cellIndex,ch,chOff,colSpan,constructor(),headers,height,noWrap,rowSpan," + + "scope,vAlign," + + "width", + FF68 = "abbr,align,axis,bgColor,cellIndex,ch,chOff,colSpan,constructor(),headers,height,noWrap,rowSpan," + + "scope,vAlign," + + "width", + IE = "constructor") + @HtmlUnitNYI(CHROME = "abbr,axis,bgColor,cellIndex,colSpan,constructor(),headers,height,noWrap,rowSpan," + + "scope,width", + FF60 = "abbr,axis,bgColor,cellIndex,colSpan,constructor(),headers,height,noWrap,rowSpan,scope,width", + FF68 = "abbr,axis,bgColor,cellIndex,colSpan,constructor(),headers,height,noWrap,rowSpan,scope,width") + public void td() throws Exception { + test("td"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTableHeaderCell}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "abbr,align,axis,bgColor,cellIndex,ch,chOff,colSpan,constructor(),headers,height,noWrap,rowSpan," + + "scope,vAlign," + + "width", + FF60 = "abbr,align,axis,bgColor,cellIndex,ch,chOff,colSpan,constructor(),headers,height,noWrap,rowSpan," + + "scope,vAlign," + + "width", + FF68 = "abbr,align,axis,bgColor,cellIndex,ch,chOff,colSpan,constructor(),headers,height,noWrap,rowSpan," + + "scope,vAlign," + + "width", + IE = "constructor,scope") + @HtmlUnitNYI(CHROME = "abbr,axis,bgColor,cellIndex,colSpan,constructor(),headers,height,noWrap,rowSpan,scope,width", + FF60 = "abbr,axis,bgColor,cellIndex,colSpan,constructor(),headers,height,noWrap,rowSpan,scope,width", + FF68 = "abbr,axis,bgColor,cellIndex,colSpan,constructor(),headers,height,noWrap,rowSpan,scope,width", + IE = "constructor") + public void th() throws Exception { + test("th"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTableRow}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,bgColor,cells,ch,chOff,constructor(),deleteCell(),insertCell(),rowIndex,sectionRowIndex," + + "vAlign", + FF60 = "align,bgColor,cells,ch,chOff,constructor(),deleteCell(),insertCell(),rowIndex,sectionRowIndex," + + "vAlign", + FF68 = "align,bgColor,cells,ch,chOff,constructor(),deleteCell(),insertCell(),rowIndex,sectionRowIndex," + + "vAlign", + IE = "align,bgColor,borderColor,borderColorDark,borderColorLight,cells,ch,chOff,constructor," + + "deleteCell(),height,insertCell(),rowIndex,sectionRowIndex," + + "vAlign") + @HtmlUnitNYI(CHROME = "bgColor,cells,constructor(),deleteCell(),insertCell(),rowIndex,sectionRowIndex", + FF60 = "bgColor,cells,constructor(),deleteCell(),insertCell(),rowIndex,sectionRowIndex", + FF68 = "bgColor,cells,constructor(),deleteCell(),insertCell(),rowIndex,sectionRowIndex", + IE = "bgColor,borderColor,borderColorDark,borderColorLight,cells,constructor," + + "deleteCell(),insertCell(),rowIndex,sectionRowIndex") + public void tr() throws Exception { + test("tr"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTextArea}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "autocomplete,checkValidity(),cols,constructor(),defaultValue,dirName,disabled,form,labels," + + "maxLength,minLength,name,placeholder,readOnly,reportValidity(),required,rows,select()," + + "selectionDirection,selectionEnd,selectionStart,setCustomValidity(),setRangeText()," + + "setSelectionRange(),textLength,type,validationMessage,validity,value,willValidate," + + "wrap", + FF68 = "autocomplete,autofocus,checkValidity(),cols,constructor(),defaultValue,disabled,form," + + "labels,maxLength,minLength,name,placeholder," + + "readOnly,reportValidity(),required,rows,select(),selectionDirection,selectionEnd," + + "selectionStart,setCustomValidity(),setRangeText(),setSelectionRange()," + + "textLength,type,validationMessage,validity,value,willValidate,wrap", + FF60 = "autocomplete,autofocus,checkValidity(),cols,constructor(),defaultValue,disabled,form,labels," + + "maxLength,minLength,name,placeholder,readOnly,reportValidity(),required,rows,select()," + + "selectionDirection,selectionEnd,selectionStart,setCustomValidity(),setRangeText()," + + "setSelectionRange(),textLength,type,validationMessage,validity,value,willValidate," + + "wrap", + IE = "autofocus,checkValidity(),cols,constructor,createTextRange(),defaultValue,form,maxLength,name," + + "placeholder,readOnly,required,rows,select(),selectionEnd,selectionStart,setCustomValidity()," + + "setSelectionRange(),status,type,validationMessage,validity,value,willValidate," + + "wrap") + @HtmlUnitNYI(CHROME = "checkValidity(),cols,constructor(),defaultValue,disabled,form,labels," + + "maxLength,minLength,name,placeholder,readOnly,required,rows,select(),selectionEnd," + + "selectionStart,setSelectionRange(),textLength,type,value", + FF60 = "checkValidity(),cols,constructor(),defaultValue,disabled,form,labels,maxLength,minLength,name," + + "placeholder,readOnly,required,rows,select(),selectionEnd,selectionStart,setSelectionRange()," + + "textLength,type,value", + FF68 = "checkValidity(),cols,constructor(),defaultValue,disabled,form,labels,maxLength,minLength,name," + + "placeholder,readOnly,required,rows,select(),selectionEnd,selectionStart,setSelectionRange()," + + "textLength,type,value", + IE = "checkValidity(),cols,constructor,createTextRange(),defaultValue,form,maxLength,name,placeholder," + + "readOnly,required,rows,select(),selectionEnd,selectionStart,setSelectionRange(),type,value") + public void textarea() throws Exception { + test("textarea"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTableFooter}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,ch,chOff,constructor(),deleteRow(),insertRow(),rows,vAlign", + FF60 = "align,ch,chOff,constructor(),deleteRow(),insertRow(),rows,vAlign", + FF68 = "align,ch,chOff,constructor(),deleteRow(),insertRow(),rows,vAlign", + IE = "align,bgColor,ch,chOff,constructor,deleteRow(),insertRow(),moveRow(),rows,vAlign") + @HtmlUnitNYI(CHROME = "ch,chOff,constructor(),vAlign", + FF60 = "ch,chOff,constructor(),vAlign", + FF68 = "ch,chOff,constructor(),vAlign", + IE = "bgColor,ch,chOff,constructor,vAlign") + public void tfoot() throws Exception { + test("tfoot"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTableHeader}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "align,ch,chOff,constructor(),deleteRow(),insertRow(),rows,vAlign", + FF60 = "align,ch,chOff,constructor(),deleteRow(),insertRow(),rows,vAlign", + FF68 = "align,ch,chOff,constructor(),deleteRow(),insertRow(),rows,vAlign", + IE = "align,bgColor,ch,chOff,constructor,deleteRow(),insertRow(),moveRow(),rows,vAlign") + @HtmlUnitNYI(CHROME = "ch,chOff,constructor(),vAlign", + FF60 = "ch,chOff,constructor(),vAlign", + FF68 = "ch,chOff,constructor(),vAlign", + IE = "bgColor,ch,chOff,constructor,vAlign") + public void thead() throws Exception { + test("thead"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTeletype}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "onwheel,parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," + + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "onvolumechange,onwaiting,parentElement,spellcheck,style,tabIndex,title", + IE = "constructor") + public void tt() throws Exception { + test("tt"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTime}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "constructor(),dateTime", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void time() throws Exception { + test("time"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTitle}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),text", + FF60 = "constructor(),text", + FF68 = "constructor(),text", + IE = "constructor,text") + public void title() throws Exception { + test("title"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTrack}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),default,ERROR,kind,label,LOADED,LOADING,NONE,readyState,src,srclang,track", + FF60 = "constructor(),default,ERROR,kind,label,LOADED,LOADING,NONE,readyState,src,srclang,track", + FF68 = "constructor(),default,ERROR,kind,label,LOADED,LOADING,NONE,readyState,src,srclang,track", + IE = "constructor,default,ERROR,kind,label,LOADED,LOADING,NONE,readyState,src,srclang,track") + @HtmlUnitNYI(CHROME = "constructor(),ERROR,LOADED,LOADING,NONE", + FF60 = "constructor(),ERROR,LOADED,LOADING,NONE", + FF68 = "constructor(),ERROR,LOADED,LOADING,NONE", + IE = "constructor,ERROR,LOADED,LOADING,NONE") + public void track() throws Exception { + test("track"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlUnderlined}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + + "onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,parentElement," + + "spellcheck,style,tabIndex,title", + IE = "constructor") + public void u() throws Exception { + test("u"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlUnorderedList}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "compact,constructor(),type", + FF60 = "compact,constructor(),type", + FF68 = "compact,constructor(),type", + IE = "compact,constructor,type") + @HtmlUnitNYI(CHROME = "constructor(),type", + FF60 = "constructor(),type", + FF68 = "constructor(),type", + IE = "constructor,type") + public void ul() throws Exception { + test("ul"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlVariable}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "cite,constructor,dateTime") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture," + + "oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover," + + "onmouseup,onmousewheel,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate," + + "ontoggle,onvolumechange,onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset," + + "onresize,onscroll,onseeked,onseeking,onselect,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,onvolumechange,onwaiting,onwheel,parentElement,spellcheck,style,tabIndex," + + "title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," + + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "parentElement,spellcheck,style,tabIndex,title", + IE = "constructor") + public void var() throws Exception { + test("var"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlVideo}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),disablePictureInPicture,height,onenterpictureinpicture,onleavepictureinpicture," + + "playsInline,poster,requestPictureInPicture(),videoHeight,videoWidth,webkitDecodedFrameCount," + + "webkitDisplayingFullscreen,webkitDroppedFrameCount,webkitEnterFullScreen()," + + "webkitEnterFullscreen(),webkitExitFullScreen(),webkitExitFullscreen(),webkitSupportsFullscreen," + + "width", + FF60 = "constructor(),getVideoPlaybackQuality(),height,mozDecodedFrames,mozFrameDelay,mozHasAudio," + + "mozPaintedFrames,mozParsedFrames,mozPresentedFrames,poster,videoHeight,videoWidth," + + "width", + FF68 = "constructor(),getVideoPlaybackQuality(),height,mozDecodedFrames,mozFrameDelay,mozHasAudio," + + "mozPaintedFrames,mozParsedFrames,mozPresentedFrames,poster,videoHeight,videoWidth," + + "width", + IE = "constructor,height,msZoom,poster,videoHeight,videoWidth,width") + @HtmlUnitNYI(CHROME = "constructor(),height,width", + FF60 = "constructor(),height,width", + FF68 = "constructor(),height,width", + IE = "constructor,height,width") + public void video() throws Exception { + test("video"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlWordBreak}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus,blur(),click(),constructor()," + + "contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden,innerText,inputMode," + + "isContentEditable,lang,nonce,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay," + + "oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick," + + "ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + + "onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown," + + "onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange," + + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + + "outerText,spellcheck,style,tabIndex,title," + + "translate", + FF60 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + FF68 = "accessKey,accessKeyLabel,blur(),click(),constructor(),contentEditable,contextMenu,dataset,dir," + + "draggable,focus(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,spellcheck,style," + + "tabIndex," + + "title", + IE = "accessKey,applyElement(),blur(),canHaveChildren,canHaveHTML,children,classList,className," + + "clearAttributes(),click(),componentFromPoint(),constructor,contains(),contentEditable," + + "createControlRange(),currentStyle,dataset,dir,disabled,dragDrop(),draggable,focus()," + + "getAdjacentText(),getElementsByClassName(),hidden,hideFocus,id,innerHTML,innerText," + + "insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),isContentEditable,isDisabled," + + "isMultiLine,isTextEdit,lang,language,mergeAttributes(),msGetInputContext(),offsetHeight," + + "offsetLeft,offsetParent,offsetTop,offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy," + + "onbeforecut,onbeforedeactivate,onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfocusin,onfocusout,onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," + + "onmouseover,onmouseup,onmousewheel,onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause," + + "onplay,onplaying,onprogress,onratechange,onreset,onscroll,onseeked,onseeking,onselect," + + "onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML," + + "outerText,parentElement,parentTextEdit,recordNumber,releaseCapture(),removeNode()," + + "replaceAdjacentText(),replaceNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture()," + + "sourceIndex,spellcheck,style,swapNode(),tabIndex,title,uniqueID," + + "uniqueNumber") + @HtmlUnitNYI(CHROME = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,parentElement,style,tabIndex,title", + FF60 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel," + + "parentElement,spellcheck,style,tabIndex,title", + FF68 = "accessKey,blur(),classList,click(),constructor(),contentEditable,dataset,dir,focus()," + + "hasAttribute(),hidden,innerText,isContentEditable,lang,offsetHeight,offsetLeft,offsetParent," + + "offsetTop,offsetWidth,onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," + + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting," + + "parentElement,spellcheck,style,tabIndex,title", + IE = "accessKey,blur(),children,classList,className,clearAttributes(),click(),constructor,contains()," + + "contentEditable,currentStyle,dataset,dir,disabled,focus(),getElementsByClassName(),hasAttribute()," + + "hidden,id,innerHTML,innerText,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText()," + + "isContentEditable,lang,language,mergeAttributes(),offsetHeight,offsetLeft,offsetParent,offsetTop," + + "offsetWidth,onabort,onactivate,onbeforeactivate,onbeforecopy,onbeforecut,onbeforedeactivate," + + "onbeforepaste,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,oncopy," + + "oncuechange,oncut,ondblclick,ondeactivate,ondrag,ondragend,ondragenter,ondragleave,ondragover," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfocusin,onfocusout," + + "onhelp,oninput,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + + "onmscontentzoom,onmsmanipulationstatechanged,onpaste,onpause,onplay,onplaying,onprogress," + + "onratechange,onreset,onscroll,onseeked,onseeking,onselect,onselectstart,onstalled,onsubmit," + + "onsuspend,ontimeupdate,onvolumechange,onwaiting,outerHTML,parentElement,releaseCapture()," + + "removeNode(),runtimeStyle,scrollIntoView(),setActive(),setCapture(),style,tabIndex,title,uniqueID") + public void wbr() throws Exception { + test("wbr"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlExample}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),width", + FF60 = "constructor(),width", + FF68 = "constructor(),width", + IE = "cite,clear,constructor,width") + @HtmlUnitNYI(IE = "clear,constructor,width") + public void xmp() throws Exception { + test("xmp"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlInput}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "accept,align,alt,autocomplete,checked,checkValidity(),constructor(),defaultChecked,defaultValue," + + "dirName,disabled,files,form,formAction,formEnctype,formMethod,formNoValidate,formTarget,height," + + "incremental,indeterminate,labels,list,max,maxLength,min,minLength,multiple,name,pattern," + + "placeholder,readOnly,reportValidity(),required,select(),selectionDirection,selectionEnd," + + "selectionStart,setCustomValidity(),setRangeText(),setSelectionRange(),size,src,step,stepDown()," + + "stepUp(),type,useMap,validationMessage,validity,value,valueAsDate,valueAsNumber,webkitdirectory," + + "webkitEntries,width," + + "willValidate", + FF60 = "accept,align,alt,autocomplete,autofocus,checked,checkValidity(),constructor(),defaultChecked," + + "defaultValue,disabled,files,form,formAction,formEnctype,formMethod,formNoValidate,formTarget," + + "height,indeterminate,labels,list,max,maxLength,min,minLength,mozIsTextField(),multiple,name," + + "pattern,placeholder,readOnly,reportValidity(),required,select(),selectionDirection,selectionEnd," + + "selectionStart,setCustomValidity(),setRangeText(),setSelectionRange(),size,src,step,stepDown()," + + "stepUp(),textLength,type,useMap,validationMessage,validity,value,valueAsDate,valueAsNumber," + + "webkitdirectory,webkitEntries,width," + + "willValidate", + FF68 = "accept,align,alt,autocomplete,autofocus,checked,checkValidity(),constructor(),defaultChecked," + + "defaultValue,disabled,files,form,formAction,formEnctype,formMethod,formNoValidate,formTarget," + + "height,indeterminate,labels,list,max,maxLength,min,minLength,mozIsTextField(),multiple,name," + + "pattern,placeholder,readOnly,reportValidity(),required,select(),selectionDirection,selectionEnd," + + "selectionStart,setCustomValidity(),setRangeText(),setSelectionRange(),size,src,step,stepDown()," + + "stepUp(),textLength,type,useMap,validationMessage,validity,value,valueAsDate,valueAsNumber," + + "webkitdirectory,webkitEntries,width," + + "willValidate", + IE = "accept,align,alt,autocomplete,autofocus,border,checked,checkValidity(),complete,constructor," + + "createTextRange(),defaultChecked,defaultValue,dynsrc,files,form,formAction,formEnctype," + + "formMethod,formNoValidate,formTarget,height,hspace,indeterminate,list,loop,lowsrc,max,maxLength," + + "min,multiple,name,pattern,placeholder,readOnly,required,select(),selectionEnd,selectionStart," + + "setCustomValidity(),setSelectionRange(),size,src,start,status,step,stepDown(),stepUp(),type," + + "useMap,validationMessage,validity,value,valueAsNumber,vrml,vspace,width," + + "willValidate") + @HtmlUnitNYI(CHROME = "accept,align,alt,autocomplete,checked,checkValidity(),constructor(),defaultChecked," + + "defaultValue,disabled,files,form,height,labels,max,maxLength,min,minLength,name,placeholder," + + "readOnly,required," + + "select(),selectionEnd,selectionStart,setSelectionRange(),size,src,step,type,value,width", + FF60 = "accept,align,alt,autocomplete,checked,checkValidity(),constructor(),defaultChecked," + + "defaultValue,disabled,files,form,height,labels,max,maxLength,min,minLength,name,placeholder," + + "readOnly,required," + + "select(),selectionEnd,selectionStart,setSelectionRange(),size,src,step,textLength,type,value,width", + FF68 = "accept,align,alt,autocomplete,checked,checkValidity(),constructor(),defaultChecked," + + "defaultValue,disabled,files,form,height,labels,max,maxLength,min,minLength,name,placeholder," + + "readOnly,required," + + "select(),selectionEnd,selectionStart,setSelectionRange(),size,src,step,textLength,type,value,width", + IE = "accept,align,alt,autocomplete,border,checked,checkValidity(),constructor,createTextRange()," + + "defaultChecked,defaultValue,files,form,height,max,maxLength,min,name,placeholder,readOnly,required," + + "select(),selectionEnd,selectionStart,setSelectionRange(),size,src,step,type,value,width") + public void input() throws Exception { + test("input"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlData}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),value", + FF60 = "constructor(),value", + FF68 = "constructor(),value", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void data() throws Exception { + test("data"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlContent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),getDistributedNodes(),select", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(CHROME = "constructor()", + IE = "constructor") + public void content() throws Exception { + test("content"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlPicture}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(IE = "constructor") + public void picutre() throws Exception { + test("picture"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlTemplate}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "constructor(),content", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI( + CHROME = "constructor(),content,innerHTML", + FF60 = "constructor(),content,innerHTML", + FF68 = "constructor(),content,innerHTML", + IE = "constructor") + public void template() throws Exception { + test("template"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.KeyboardEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "altKey,charCode,code,constructor(),ctrlKey,DOM_KEY_LOCATION_LEFT,DOM_KEY_LOCATION_NUMPAD," + + "DOM_KEY_LOCATION_RIGHT," + + "DOM_KEY_LOCATION_STANDARD,getModifierState(),initKeyboardEvent(),isComposing," + + "key,keyCode,location,metaKey,repeat," + + "shiftKey", + FF68 = "altKey,charCode,code,constructor(),ctrlKey,DOM_KEY_LOCATION_LEFT,DOM_KEY_LOCATION_NUMPAD," + + "DOM_KEY_LOCATION_RIGHT,DOM_KEY_LOCATION_STANDARD,DOM_VK_0,DOM_VK_1,DOM_VK_2,DOM_VK_3,DOM_VK_4," + + "DOM_VK_5,DOM_VK_6,DOM_VK_7,DOM_VK_8,DOM_VK_9,DOM_VK_A,DOM_VK_ACCEPT,DOM_VK_ADD,DOM_VK_ALT," + + "DOM_VK_ALTGR,DOM_VK_AMPERSAND,DOM_VK_ASTERISK,DOM_VK_AT,DOM_VK_ATTN,DOM_VK_B,DOM_VK_BACK_QUOTE," + + "DOM_VK_BACK_SLASH,DOM_VK_BACK_SPACE,DOM_VK_C,DOM_VK_CANCEL,DOM_VK_CAPS_LOCK,DOM_VK_CIRCUMFLEX," + + "DOM_VK_CLEAR,DOM_VK_CLOSE_BRACKET,DOM_VK_CLOSE_CURLY_BRACKET,DOM_VK_CLOSE_PAREN,DOM_VK_COLON," + + "DOM_VK_COMMA,DOM_VK_CONTEXT_MENU,DOM_VK_CONTROL,DOM_VK_CONVERT,DOM_VK_CRSEL,DOM_VK_D," + + "DOM_VK_DECIMAL,DOM_VK_DELETE,DOM_VK_DIVIDE,DOM_VK_DOLLAR,DOM_VK_DOUBLE_QUOTE,DOM_VK_DOWN," + + "DOM_VK_E,DOM_VK_EISU,DOM_VK_END,DOM_VK_EQUALS,DOM_VK_EREOF,DOM_VK_ESCAPE,DOM_VK_EXCLAMATION," + + "DOM_VK_EXECUTE,DOM_VK_EXSEL,DOM_VK_F,DOM_VK_F1,DOM_VK_F10,DOM_VK_F11,DOM_VK_F12,DOM_VK_F13," + + "DOM_VK_F14,DOM_VK_F15,DOM_VK_F16,DOM_VK_F17,DOM_VK_F18,DOM_VK_F19,DOM_VK_F2,DOM_VK_F20,DOM_VK_F21," + + "DOM_VK_F22,DOM_VK_F23,DOM_VK_F24,DOM_VK_F3,DOM_VK_F4,DOM_VK_F5,DOM_VK_F6,DOM_VK_F7,DOM_VK_F8," + + "DOM_VK_F9,DOM_VK_FINAL,DOM_VK_G,DOM_VK_GREATER_THAN,DOM_VK_H,DOM_VK_HANGUL,DOM_VK_HANJA," + + "DOM_VK_HASH,DOM_VK_HELP,DOM_VK_HOME,DOM_VK_HYPHEN_MINUS,DOM_VK_I,DOM_VK_INSERT,DOM_VK_J," + + "DOM_VK_JUNJA,DOM_VK_K,DOM_VK_KANA,DOM_VK_KANJI,DOM_VK_L,DOM_VK_LEFT,DOM_VK_LESS_THAN,DOM_VK_M," + + "DOM_VK_META,DOM_VK_MODECHANGE,DOM_VK_MULTIPLY,DOM_VK_N,DOM_VK_NONCONVERT,DOM_VK_NUM_LOCK," + + "DOM_VK_NUMPAD0,DOM_VK_NUMPAD1,DOM_VK_NUMPAD2,DOM_VK_NUMPAD3,DOM_VK_NUMPAD4,DOM_VK_NUMPAD5," + + "DOM_VK_NUMPAD6,DOM_VK_NUMPAD7,DOM_VK_NUMPAD8,DOM_VK_NUMPAD9,DOM_VK_O,DOM_VK_OPEN_BRACKET," + + "DOM_VK_OPEN_CURLY_BRACKET,DOM_VK_OPEN_PAREN,DOM_VK_P,DOM_VK_PA1,DOM_VK_PAGE_DOWN,DOM_VK_PAGE_UP," + + "DOM_VK_PAUSE,DOM_VK_PERCENT,DOM_VK_PERIOD,DOM_VK_PIPE,DOM_VK_PLAY,DOM_VK_PLUS,DOM_VK_PRINT," + + "DOM_VK_PRINTSCREEN,DOM_VK_PROCESSKEY,DOM_VK_Q,DOM_VK_QUESTION_MARK,DOM_VK_QUOTE,DOM_VK_R," + + "DOM_VK_RETURN,DOM_VK_RIGHT,DOM_VK_S,DOM_VK_SCROLL_LOCK,DOM_VK_SELECT,DOM_VK_SEMICOLON," + + "DOM_VK_SEPARATOR,DOM_VK_SHIFT,DOM_VK_SLASH,DOM_VK_SLEEP,DOM_VK_SPACE,DOM_VK_SUBTRACT,DOM_VK_T," + + "DOM_VK_TAB,DOM_VK_TILDE,DOM_VK_U,DOM_VK_UNDERSCORE,DOM_VK_UP,DOM_VK_V,DOM_VK_VOLUME_DOWN," + + "DOM_VK_VOLUME_MUTE,DOM_VK_VOLUME_UP,DOM_VK_W,DOM_VK_WIN,DOM_VK_WIN_ICO_00,DOM_VK_WIN_ICO_CLEAR," + + "DOM_VK_WIN_ICO_HELP,DOM_VK_WIN_OEM_ATTN,DOM_VK_WIN_OEM_AUTO,DOM_VK_WIN_OEM_BACKTAB," + + "DOM_VK_WIN_OEM_CLEAR,DOM_VK_WIN_OEM_COPY,DOM_VK_WIN_OEM_CUSEL,DOM_VK_WIN_OEM_ENLW," + + "DOM_VK_WIN_OEM_FINISH,DOM_VK_WIN_OEM_FJ_JISHO,DOM_VK_WIN_OEM_FJ_LOYA,DOM_VK_WIN_OEM_FJ_MASSHOU," + + "DOM_VK_WIN_OEM_FJ_ROYA,DOM_VK_WIN_OEM_FJ_TOUROKU,DOM_VK_WIN_OEM_JUMP,DOM_VK_WIN_OEM_PA1," + + "DOM_VK_WIN_OEM_PA2,DOM_VK_WIN_OEM_PA3,DOM_VK_WIN_OEM_RESET,DOM_VK_WIN_OEM_WSCTRL,DOM_VK_X," + + "DOM_VK_Y,DOM_VK_Z,DOM_VK_ZOOM," + + "getModifierState(),initKeyboardEvent(),initKeyEvent(),isComposing," + + "key,keyCode,location,metaKey,repeat,shiftKey", + FF60 = "altKey,charCode,code,constructor(),ctrlKey,DOM_KEY_LOCATION_LEFT,DOM_KEY_LOCATION_NUMPAD," + + "DOM_KEY_LOCATION_RIGHT,DOM_KEY_LOCATION_STANDARD,DOM_VK_0,DOM_VK_1,DOM_VK_2,DOM_VK_3,DOM_VK_4," + + "DOM_VK_5,DOM_VK_6,DOM_VK_7,DOM_VK_8,DOM_VK_9,DOM_VK_A,DOM_VK_ACCEPT,DOM_VK_ADD,DOM_VK_ALT," + + "DOM_VK_ALTGR,DOM_VK_AMPERSAND,DOM_VK_ASTERISK,DOM_VK_AT,DOM_VK_ATTN,DOM_VK_B,DOM_VK_BACK_QUOTE," + + "DOM_VK_BACK_SLASH,DOM_VK_BACK_SPACE,DOM_VK_C,DOM_VK_CANCEL,DOM_VK_CAPS_LOCK,DOM_VK_CIRCUMFLEX," + + "DOM_VK_CLEAR,DOM_VK_CLOSE_BRACKET,DOM_VK_CLOSE_CURLY_BRACKET,DOM_VK_CLOSE_PAREN,DOM_VK_COLON," + + "DOM_VK_COMMA,DOM_VK_CONTEXT_MENU,DOM_VK_CONTROL,DOM_VK_CONVERT,DOM_VK_CRSEL,DOM_VK_D," + + "DOM_VK_DECIMAL,DOM_VK_DELETE,DOM_VK_DIVIDE,DOM_VK_DOLLAR,DOM_VK_DOUBLE_QUOTE,DOM_VK_DOWN," + + "DOM_VK_E,DOM_VK_EISU,DOM_VK_END,DOM_VK_EQUALS,DOM_VK_EREOF,DOM_VK_ESCAPE,DOM_VK_EXCLAMATION," + + "DOM_VK_EXECUTE,DOM_VK_EXSEL,DOM_VK_F,DOM_VK_F1,DOM_VK_F10,DOM_VK_F11,DOM_VK_F12,DOM_VK_F13," + + "DOM_VK_F14,DOM_VK_F15,DOM_VK_F16,DOM_VK_F17,DOM_VK_F18,DOM_VK_F19,DOM_VK_F2,DOM_VK_F20," + + "DOM_VK_F21,DOM_VK_F22,DOM_VK_F23,DOM_VK_F24,DOM_VK_F3,DOM_VK_F4,DOM_VK_F5,DOM_VK_F6,DOM_VK_F7," + + "DOM_VK_F8,DOM_VK_F9,DOM_VK_FINAL,DOM_VK_G,DOM_VK_GREATER_THAN,DOM_VK_H,DOM_VK_HANGUL," + + "DOM_VK_HANJA,DOM_VK_HASH,DOM_VK_HELP,DOM_VK_HOME,DOM_VK_HYPHEN_MINUS,DOM_VK_I,DOM_VK_INSERT," + + "DOM_VK_J,DOM_VK_JUNJA,DOM_VK_K,DOM_VK_KANA,DOM_VK_KANJI,DOM_VK_L,DOM_VK_LEFT,DOM_VK_LESS_THAN," + + "DOM_VK_M,DOM_VK_META,DOM_VK_MODECHANGE,DOM_VK_MULTIPLY,DOM_VK_N,DOM_VK_NONCONVERT," + + "DOM_VK_NUM_LOCK,DOM_VK_NUMPAD0,DOM_VK_NUMPAD1,DOM_VK_NUMPAD2,DOM_VK_NUMPAD3,DOM_VK_NUMPAD4," + + "DOM_VK_NUMPAD5,DOM_VK_NUMPAD6,DOM_VK_NUMPAD7,DOM_VK_NUMPAD8,DOM_VK_NUMPAD9,DOM_VK_O," + + "DOM_VK_OPEN_BRACKET,DOM_VK_OPEN_CURLY_BRACKET,DOM_VK_OPEN_PAREN,DOM_VK_P,DOM_VK_PA1," + + "DOM_VK_PAGE_DOWN,DOM_VK_PAGE_UP,DOM_VK_PAUSE,DOM_VK_PERCENT,DOM_VK_PERIOD,DOM_VK_PIPE," + + "DOM_VK_PLAY,DOM_VK_PLUS,DOM_VK_PRINT,DOM_VK_PRINTSCREEN,DOM_VK_Q,DOM_VK_QUESTION_MARK," + + "DOM_VK_QUOTE,DOM_VK_R,DOM_VK_RETURN,DOM_VK_RIGHT,DOM_VK_S,DOM_VK_SCROLL_LOCK,DOM_VK_SELECT," + + "DOM_VK_SEMICOLON,DOM_VK_SEPARATOR,DOM_VK_SHIFT,DOM_VK_SLASH,DOM_VK_SLEEP,DOM_VK_SPACE," + + "DOM_VK_SUBTRACT,DOM_VK_T,DOM_VK_TAB,DOM_VK_TILDE,DOM_VK_U,DOM_VK_UNDERSCORE,DOM_VK_UP,DOM_VK_V," + + "DOM_VK_VOLUME_DOWN,DOM_VK_VOLUME_MUTE,DOM_VK_VOLUME_UP,DOM_VK_W,DOM_VK_WIN,DOM_VK_WIN_ICO_00," + + "DOM_VK_WIN_ICO_CLEAR,DOM_VK_WIN_ICO_HELP,DOM_VK_WIN_OEM_ATTN,DOM_VK_WIN_OEM_AUTO," + + "DOM_VK_WIN_OEM_BACKTAB,DOM_VK_WIN_OEM_CLEAR,DOM_VK_WIN_OEM_COPY,DOM_VK_WIN_OEM_CUSEL," + + "DOM_VK_WIN_OEM_ENLW,DOM_VK_WIN_OEM_FINISH,DOM_VK_WIN_OEM_FJ_JISHO,DOM_VK_WIN_OEM_FJ_LOYA," + + "DOM_VK_WIN_OEM_FJ_MASSHOU,DOM_VK_WIN_OEM_FJ_ROYA,DOM_VK_WIN_OEM_FJ_TOUROKU,DOM_VK_WIN_OEM_JUMP," + + "DOM_VK_WIN_OEM_PA1,DOM_VK_WIN_OEM_PA2,DOM_VK_WIN_OEM_PA3,DOM_VK_WIN_OEM_RESET," + + "DOM_VK_WIN_OEM_WSCTRL,DOM_VK_X,DOM_VK_Y,DOM_VK_Z,DOM_VK_ZOOM,getModifierState()," + + "initKeyboardEvent(),initKeyEvent(),isComposing,key,keyCode,location,metaKey,repeat,shiftKey") + @HtmlUnitNYI(CHROME = "altKey,charCode,code,constructor(),ctrlKey,DOM_KEY_LOCATION_LEFT,DOM_KEY_LOCATION_NUMPAD," + + "DOM_KEY_LOCATION_RIGHT,DOM_KEY_LOCATION_STANDARD,key,keyCode,metaKey,shiftKey,which", + FF60 = "altKey,charCode,code,constructor(),ctrlKey,DOM_KEY_LOCATION_LEFT,DOM_KEY_LOCATION_NUMPAD," + + "DOM_KEY_LOCATION_RIGHT,DOM_KEY_LOCATION_STANDARD,DOM_VK_0,DOM_VK_1,DOM_VK_2,DOM_VK_3,DOM_VK_4," + + "DOM_VK_5,DOM_VK_6,DOM_VK_7,DOM_VK_8,DOM_VK_9,DOM_VK_A,DOM_VK_ACCEPT,DOM_VK_ADD,DOM_VK_ALT," + + "DOM_VK_ALTGR,DOM_VK_AMPERSAND,DOM_VK_ASTERISK,DOM_VK_AT,DOM_VK_ATTN,DOM_VK_B,DOM_VK_BACK_QUOTE," + + "DOM_VK_BACK_SLASH,DOM_VK_BACK_SPACE,DOM_VK_C,DOM_VK_CANCEL,DOM_VK_CAPS_LOCK,DOM_VK_CIRCUMFLEX," + + "DOM_VK_CLEAR,DOM_VK_CLOSE_BRACKET,DOM_VK_CLOSE_CURLY_BRACKET,DOM_VK_CLOSE_PAREN,DOM_VK_COLON," + + "DOM_VK_COMMA,DOM_VK_CONTEXT_MENU,DOM_VK_CONTROL,DOM_VK_CONVERT,DOM_VK_CRSEL,DOM_VK_D,DOM_VK_DECIMAL," + + "DOM_VK_DELETE,DOM_VK_DIVIDE,DOM_VK_DOLLAR,DOM_VK_DOUBLE_QUOTE,DOM_VK_DOWN,DOM_VK_E,DOM_VK_EISU," + + "DOM_VK_END,DOM_VK_EQUALS,DOM_VK_EREOF,DOM_VK_ESCAPE,DOM_VK_EXCLAMATION,DOM_VK_EXECUTE,DOM_VK_EXSEL," + + "DOM_VK_F,DOM_VK_F1,DOM_VK_F10,DOM_VK_F11,DOM_VK_F12,DOM_VK_F13,DOM_VK_F14,DOM_VK_F15,DOM_VK_F16," + + "DOM_VK_F17,DOM_VK_F18,DOM_VK_F19,DOM_VK_F2,DOM_VK_F20,DOM_VK_F21,DOM_VK_F22,DOM_VK_F23,DOM_VK_F24," + + "DOM_VK_F3,DOM_VK_F4,DOM_VK_F5,DOM_VK_F6,DOM_VK_F7,DOM_VK_F8,DOM_VK_F9,DOM_VK_FINAL,DOM_VK_G," + + "DOM_VK_GREATER_THAN,DOM_VK_H,DOM_VK_HANGUL,DOM_VK_HANJA,DOM_VK_HASH,DOM_VK_HELP,DOM_VK_HOME," + + "DOM_VK_HYPHEN_MINUS,DOM_VK_I,DOM_VK_INSERT,DOM_VK_J,DOM_VK_JUNJA,DOM_VK_K,DOM_VK_KANA,DOM_VK_KANJI," + + "DOM_VK_L,DOM_VK_LEFT,DOM_VK_LESS_THAN,DOM_VK_M,DOM_VK_META,DOM_VK_MODECHANGE,DOM_VK_MULTIPLY," + + "DOM_VK_N,DOM_VK_NONCONVERT,DOM_VK_NUM_LOCK,DOM_VK_NUMPAD0,DOM_VK_NUMPAD1,DOM_VK_NUMPAD2," + + "DOM_VK_NUMPAD3," + + "DOM_VK_NUMPAD4,DOM_VK_NUMPAD5,DOM_VK_NUMPAD6,DOM_VK_NUMPAD7,DOM_VK_NUMPAD8,DOM_VK_NUMPAD9," + + "DOM_VK_O,DOM_VK_OPEN_BRACKET,DOM_VK_OPEN_CURLY_BRACKET,DOM_VK_OPEN_PAREN,DOM_VK_P,DOM_VK_PA1," + + "DOM_VK_PAGE_DOWN,DOM_VK_PAGE_UP,DOM_VK_PAUSE,DOM_VK_PERCENT,DOM_VK_PERIOD,DOM_VK_PIPE,DOM_VK_PLAY," + + "DOM_VK_PLUS,DOM_VK_PRINT,DOM_VK_PRINTSCREEN,DOM_VK_Q,DOM_VK_QUESTION_MARK,DOM_VK_QUOTE,DOM_VK_R," + + "DOM_VK_RETURN,DOM_VK_RIGHT,DOM_VK_S,DOM_VK_SCROLL_LOCK,DOM_VK_SELECT,DOM_VK_SEMICOLON," + + "DOM_VK_SEPARATOR," + + "DOM_VK_SHIFT,DOM_VK_SLASH,DOM_VK_SLEEP,DOM_VK_SPACE,DOM_VK_SUBTRACT,DOM_VK_T,DOM_VK_TAB," + + "DOM_VK_TILDE,DOM_VK_U,DOM_VK_UNDERSCORE,DOM_VK_UP,DOM_VK_V,DOM_VK_VOLUME_DOWN,DOM_VK_VOLUME_MUTE," + + "DOM_VK_VOLUME_UP,DOM_VK_W,DOM_VK_WIN,DOM_VK_WIN_ICO_00,DOM_VK_WIN_ICO_CLEAR,DOM_VK_WIN_ICO_HELP," + + "DOM_VK_WIN_OEM_ATTN,DOM_VK_WIN_OEM_AUTO,DOM_VK_WIN_OEM_BACKTAB,DOM_VK_WIN_OEM_CLEAR," + + "DOM_VK_WIN_OEM_COPY," + + "DOM_VK_WIN_OEM_CUSEL,DOM_VK_WIN_OEM_ENLW,DOM_VK_WIN_OEM_FINISH,DOM_VK_WIN_OEM_FJ_JISHO," + + "DOM_VK_WIN_OEM_FJ_LOYA,DOM_VK_WIN_OEM_FJ_MASSHOU,DOM_VK_WIN_OEM_FJ_ROYA,DOM_VK_WIN_OEM_FJ_TOUROKU," + + "DOM_VK_WIN_OEM_JUMP,DOM_VK_WIN_OEM_PA1,DOM_VK_WIN_OEM_PA2,DOM_VK_WIN_OEM_PA3,DOM_VK_WIN_OEM_RESET," + + "DOM_VK_WIN_OEM_WSCTRL,DOM_VK_X,DOM_VK_Y,DOM_VK_Z,DOM_VK_ZOOM,initKeyEvent(),key,keyCode,metaKey," + + "shiftKey,which", + FF68 = "altKey,charCode,code,constructor(),ctrlKey,DOM_KEY_LOCATION_LEFT,DOM_KEY_LOCATION_NUMPAD," + + "DOM_KEY_LOCATION_RIGHT,DOM_KEY_LOCATION_STANDARD,DOM_VK_0,DOM_VK_1,DOM_VK_2,DOM_VK_3,DOM_VK_4," + + "DOM_VK_5,DOM_VK_6,DOM_VK_7,DOM_VK_8,DOM_VK_9,DOM_VK_A,DOM_VK_ACCEPT,DOM_VK_ADD,DOM_VK_ALT," + + "DOM_VK_ALTGR,DOM_VK_AMPERSAND,DOM_VK_ASTERISK,DOM_VK_AT,DOM_VK_ATTN,DOM_VK_B,DOM_VK_BACK_QUOTE," + + "DOM_VK_BACK_SLASH,DOM_VK_BACK_SPACE,DOM_VK_C,DOM_VK_CANCEL,DOM_VK_CAPS_LOCK,DOM_VK_CIRCUMFLEX," + + "DOM_VK_CLEAR,DOM_VK_CLOSE_BRACKET,DOM_VK_CLOSE_CURLY_BRACKET,DOM_VK_CLOSE_PAREN,DOM_VK_COLON," + + "DOM_VK_COMMA,DOM_VK_CONTEXT_MENU,DOM_VK_CONTROL,DOM_VK_CONVERT,DOM_VK_CRSEL,DOM_VK_D," + + "DOM_VK_DECIMAL,DOM_VK_DELETE,DOM_VK_DIVIDE,DOM_VK_DOLLAR,DOM_VK_DOUBLE_QUOTE,DOM_VK_DOWN," + + "DOM_VK_E,DOM_VK_EISU,DOM_VK_END,DOM_VK_EQUALS,DOM_VK_EREOF,DOM_VK_ESCAPE,DOM_VK_EXCLAMATION," + + "DOM_VK_EXECUTE,DOM_VK_EXSEL,DOM_VK_F,DOM_VK_F1,DOM_VK_F10,DOM_VK_F11,DOM_VK_F12,DOM_VK_F13," + + "DOM_VK_F14,DOM_VK_F15,DOM_VK_F16,DOM_VK_F17,DOM_VK_F18,DOM_VK_F19,DOM_VK_F2,DOM_VK_F20,DOM_VK_F21," + + "DOM_VK_F22,DOM_VK_F23,DOM_VK_F24,DOM_VK_F3,DOM_VK_F4,DOM_VK_F5,DOM_VK_F6,DOM_VK_F7,DOM_VK_F8," + + "DOM_VK_F9,DOM_VK_FINAL,DOM_VK_G,DOM_VK_GREATER_THAN,DOM_VK_H,DOM_VK_HANGUL,DOM_VK_HANJA," + + "DOM_VK_HASH,DOM_VK_HELP,DOM_VK_HOME,DOM_VK_HYPHEN_MINUS,DOM_VK_I,DOM_VK_INSERT,DOM_VK_J," + + "DOM_VK_JUNJA,DOM_VK_K,DOM_VK_KANA,DOM_VK_KANJI,DOM_VK_L,DOM_VK_LEFT,DOM_VK_LESS_THAN,DOM_VK_M," + + "DOM_VK_META,DOM_VK_MODECHANGE,DOM_VK_MULTIPLY,DOM_VK_N,DOM_VK_NONCONVERT,DOM_VK_NUM_LOCK," + + "DOM_VK_NUMPAD0,DOM_VK_NUMPAD1,DOM_VK_NUMPAD2,DOM_VK_NUMPAD3,DOM_VK_NUMPAD4,DOM_VK_NUMPAD5," + + "DOM_VK_NUMPAD6,DOM_VK_NUMPAD7,DOM_VK_NUMPAD8,DOM_VK_NUMPAD9,DOM_VK_O,DOM_VK_OPEN_BRACKET," + + "DOM_VK_OPEN_CURLY_BRACKET,DOM_VK_OPEN_PAREN,DOM_VK_P,DOM_VK_PA1,DOM_VK_PAGE_DOWN,DOM_VK_PAGE_UP," + + "DOM_VK_PAUSE,DOM_VK_PERCENT,DOM_VK_PERIOD,DOM_VK_PIPE,DOM_VK_PLAY,DOM_VK_PLUS,DOM_VK_PRINT," + + "DOM_VK_PRINTSCREEN,DOM_VK_PROCESSKEY,DOM_VK_Q,DOM_VK_QUESTION_MARK,DOM_VK_QUOTE,DOM_VK_R," + + "DOM_VK_RETURN,DOM_VK_RIGHT,DOM_VK_S,DOM_VK_SCROLL_LOCK,DOM_VK_SELECT,DOM_VK_SEMICOLON," + + "DOM_VK_SEPARATOR,DOM_VK_SHIFT,DOM_VK_SLASH,DOM_VK_SLEEP,DOM_VK_SPACE,DOM_VK_SUBTRACT," + + "DOM_VK_T,DOM_VK_TAB,DOM_VK_TILDE,DOM_VK_U,DOM_VK_UNDERSCORE,DOM_VK_UP,DOM_VK_V,DOM_VK_VOLUME_DOWN," + + "DOM_VK_VOLUME_MUTE,DOM_VK_VOLUME_UP,DOM_VK_W,DOM_VK_WIN,DOM_VK_WIN_ICO_00,DOM_VK_WIN_ICO_CLEAR," + + "DOM_VK_WIN_ICO_HELP,DOM_VK_WIN_OEM_ATTN,DOM_VK_WIN_OEM_AUTO,DOM_VK_WIN_OEM_BACKTAB," + + "DOM_VK_WIN_OEM_CLEAR,DOM_VK_WIN_OEM_COPY,DOM_VK_WIN_OEM_CUSEL,DOM_VK_WIN_OEM_ENLW," + + "DOM_VK_WIN_OEM_FINISH,DOM_VK_WIN_OEM_FJ_JISHO,DOM_VK_WIN_OEM_FJ_LOYA,DOM_VK_WIN_OEM_FJ_MASSHOU," + + "DOM_VK_WIN_OEM_FJ_ROYA,DOM_VK_WIN_OEM_FJ_TOUROKU,DOM_VK_WIN_OEM_JUMP,DOM_VK_WIN_OEM_PA1," + + "DOM_VK_WIN_OEM_PA2,DOM_VK_WIN_OEM_PA3,DOM_VK_WIN_OEM_RESET,DOM_VK_WIN_OEM_WSCTRL,DOM_VK_X," + + "DOM_VK_Y,DOM_VK_Z,DOM_VK_ZOOM,initKeyEvent(),key,keyCode,metaKey,shiftKey,which", + IE = "altKey,char,charCode,constructor,ctrlKey,DOM_KEY_LOCATION_JOYSTICK,DOM_KEY_LOCATION_LEFT," + + "DOM_KEY_LOCATION_MOBILE,DOM_KEY_LOCATION_NUMPAD,DOM_KEY_LOCATION_RIGHT," + + "DOM_KEY_LOCATION_STANDARD,key,keyCode,metaKey,shiftKey,which") + public void keyboardEvent() throws Exception { + testString("document.createEvent('KeyboardEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.UIEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),detail,initUIEvent(),sourceCapabilities,view,which", + FF60 = "constructor(),detail,initUIEvent(),layerX,layerY,pageX,pageY,rangeOffset,rangeParent," + + "SCROLL_PAGE_DOWN,SCROLL_PAGE_UP,view," + + "which", + FF68 = "constructor(),detail,initUIEvent(),layerX,layerY,pageX,pageY,rangeOffset,rangeParent," + + "SCROLL_PAGE_DOWN,SCROLL_PAGE_UP,view," + + "which", + IE = "constructor,detail,initUIEvent(),view") + @HtmlUnitNYI(CHROME = "constructor(),detail,initUIEvent(),view", + FF60 = "constructor(),detail,initUIEvent(),SCROLL_PAGE_DOWN,SCROLL_PAGE_UP,view", + FF68 = "constructor(),detail,initUIEvent(),SCROLL_PAGE_DOWN,SCROLL_PAGE_UP,view") + public void uiEvent() throws Exception { + testString("document.createEvent('UIEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.DragEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),dataTransfer", + FF60 = "constructor(),dataTransfer,initDragEvent()", + FF68 = "constructor(),dataTransfer,initDragEvent()", + IE = "constructor,dataTransfer,initDragEvent(),msConvertURL()") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void dragEvent() throws Exception { + testString("document.createEvent('DragEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.PointerEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),getCoalescedEvents(),getPredictedEvents(),height," + + "isPrimary,pointerId,pointerType,pressure," + + "tangentialPressure,tiltX,tiltY,twist,width", + FF = "constructor(),getCoalescedEvents(),height,isPrimary,pointerId,pointerType,pressure," + + "tangentialPressure,tiltX,tiltY,twist,width") + @HtmlUnitNYI(CHROME = "constructor(),height,isPrimary,pointerId,pointerType," + + "pressure,tiltX,tiltY,width", + FF60 = "constructor(),height,isPrimary,pointerId,pointerType,pressure," + + "tiltX,tiltY,width", + FF68 = "constructor(),height,isPrimary,pointerId,pointerType,pressure," + + "tiltX,tiltY,width", + IE = "exception") + public void pointerEvent() throws Exception { + testString("new PointerEvent('click')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.PointerEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "exception", + FF68 = "exception", + FF60 = "exception", + IE = "constructor,height,hwTimestamp,initPointerEvent(),isPrimary,pointerId,pointerType,pressure," + + "rotation,tiltX,tiltY," + + "width") + @HtmlUnitNYI(IE = "constructor,height,initPointerEvent(),isPrimary,pointerId,pointerType,pressure," + + "tiltX,tiltY,width") + public void pointerEvent2() throws Exception { + testString(" document.createEvent('PointerEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.WheelEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF68 = "exception", + FF60 = "exception", + CHROME = "constructor(),deltaMode,deltaX,deltaY,deltaZ,DOM_DELTA_LINE,DOM_DELTA_PAGE,DOM_DELTA_PIXEL," + + "wheelDelta,wheelDeltaX," + + "wheelDeltaY", + IE = "constructor,deltaMode,deltaX,deltaY,deltaZ,DOM_DELTA_LINE,DOM_DELTA_PAGE,DOM_DELTA_PIXEL," + + "initWheelEvent()") + @HtmlUnitNYI(CHROME = "constructor(),DOM_DELTA_LINE,DOM_DELTA_PAGE,DOM_DELTA_PIXEL", + IE = "constructor,DOM_DELTA_LINE,DOM_DELTA_PAGE,DOM_DELTA_PIXEL") + public void wheelEvent() throws Exception { + testString("document.createEvent('WheelEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.MouseEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "altKey,button,buttons,clientX,clientY,constructor(),ctrlKey,fromElement,getModifierState()," + + "initMouseEvent(),layerX,layerY,metaKey,movementX,movementY,offsetX,offsetY,pageX,pageY," + + "relatedTarget,screenX,screenY,shiftKey,toElement,x," + + "y", + FF60 = "altKey,button,buttons,clientX,clientY,constructor(),ctrlKey,getModifierState(),initMouseEvent()," + + "initNSMouseEvent(),metaKey,movementX,movementY,MOZ_SOURCE_CURSOR,MOZ_SOURCE_ERASER," + + "MOZ_SOURCE_KEYBOARD,MOZ_SOURCE_MOUSE,MOZ_SOURCE_PEN,MOZ_SOURCE_TOUCH,MOZ_SOURCE_UNKNOWN," + + "mozInputSource,mozPressure,offsetX,offsetY,region,relatedTarget,screenX,screenY,shiftKey,x," + + "y", + FF68 = "altKey,button,buttons,clientX,clientY,constructor(),ctrlKey,getModifierState(),initMouseEvent()," + + "initNSMouseEvent(),metaKey,movementX,movementY,MOZ_SOURCE_CURSOR,MOZ_SOURCE_ERASER," + + "MOZ_SOURCE_KEYBOARD,MOZ_SOURCE_MOUSE,MOZ_SOURCE_PEN,MOZ_SOURCE_TOUCH,MOZ_SOURCE_UNKNOWN," + + "mozInputSource,mozPressure,offsetX,offsetY,region,relatedTarget,screenX,screenY,shiftKey,x," + + "y", + IE = "altKey,button,buttons,clientX,clientY,constructor,ctrlKey,fromElement,getModifierState()," + + "initMouseEvent(),layerX,layerY,metaKey,offsetX,offsetY,pageX,pageY,relatedTarget,screenX,screenY," + + "shiftKey,toElement,which,x," + + "y") + @HtmlUnitNYI(CHROME = "altKey,button,clientX,clientY,constructor(),ctrlKey,initMouseEvent(),metaKey," + + "pageX,pageY,screenX,screenY,shiftKey,which", + FF60 = "altKey,button,clientX,clientY,constructor(),ctrlKey,initMouseEvent(),metaKey,MOZ_SOURCE_CURSOR," + + "MOZ_SOURCE_ERASER,MOZ_SOURCE_KEYBOARD,MOZ_SOURCE_MOUSE,MOZ_SOURCE_PEN,MOZ_SOURCE_TOUCH," + + "MOZ_SOURCE_UNKNOWN,pageX,pageY,screenX,screenY,shiftKey,which", + FF68 = "altKey,button,clientX,clientY,constructor(),ctrlKey,initMouseEvent(),metaKey,MOZ_SOURCE_CURSOR," + + "MOZ_SOURCE_ERASER,MOZ_SOURCE_KEYBOARD,MOZ_SOURCE_MOUSE,MOZ_SOURCE_PEN,MOZ_SOURCE_TOUCH," + + "MOZ_SOURCE_UNKNOWN,pageX,pageY,screenX,screenY,shiftKey,which", + IE = "altKey,button,clientX,clientY,constructor,ctrlKey,initMouseEvent(),metaKey,pageX,pageY," + + "screenX,screenY,shiftKey,which") + public void mouseEvent() throws Exception { + testString("document.createEvent('MouseEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.CompositionEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),data,initCompositionEvent()", + FF60 = "constructor(),data,initCompositionEvent(),locale", + FF68 = "constructor(),data,initCompositionEvent(),locale", + IE = "constructor,data,initCompositionEvent(),locale") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void compositionEvent() throws Exception { + testString("document.createEvent('CompositionEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.FocusEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),relatedTarget", + FF68 = "constructor(),relatedTarget", + FF60 = "constructor(),relatedTarget", + IE = "constructor,initFocusEvent(),relatedTarget") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void focusEvent() throws Exception { + testString("document.createEvent('FocusEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.InputEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),data,dataTransfer,getTargetRanges(),inputType,isComposing", + FF60 = "constructor(),isComposing", + FF68 = "constructor(),data,dataTransfer,inputType,isComposing", + IE = "exception") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor()", + FF68 = "constructor()") + public void inputEvent() throws Exception { + testString("new InputEvent('input')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.MouseWheelEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "exception", + FF68 = "exception", + FF60 = "exception", + IE = "constructor,initMouseWheelEvent(),wheelDelta") + @HtmlUnitNYI(IE = "constructor") + public void mouseWheelEvent() throws Exception { + testString("document.createEvent('MouseWheelEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.SVGZoomEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts("exception") + public void svgZoomEvent() throws Exception { + testString("document.createEvent('SVGZoomEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.TextEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),data,initTextEvent()", + FF60 = "constructor(),data,initCompositionEvent(),locale", + FF68 = "constructor(),data,initCompositionEvent(),locale", + IE = "constructor,data,DOM_INPUT_METHOD_DROP,DOM_INPUT_METHOD_HANDWRITING,DOM_INPUT_METHOD_IME," + + "DOM_INPUT_METHOD_KEYBOARD,DOM_INPUT_METHOD_MULTIMODAL,DOM_INPUT_METHOD_OPTION," + + "DOM_INPUT_METHOD_PASTE,DOM_INPUT_METHOD_SCRIPT,DOM_INPUT_METHOD_UNKNOWN,DOM_INPUT_METHOD_VOICE," + + "initTextEvent(),inputMethod," + + "locale") + @HtmlUnitNYI(CHROME = "constructor()", + FF60 = "constructor(),detail,initUIEvent(),SCROLL_PAGE_DOWN,SCROLL_PAGE_UP,view", + FF68 = "constructor(),detail,initUIEvent(),SCROLL_PAGE_DOWN,SCROLL_PAGE_UP,view", + IE = "constructor,DOM_INPUT_METHOD_DROP,DOM_INPUT_METHOD_HANDWRITING,DOM_INPUT_METHOD_IME," + + "DOM_INPUT_METHOD_KEYBOARD,DOM_INPUT_METHOD_MULTIMODAL,DOM_INPUT_METHOD_OPTION," + + "DOM_INPUT_METHOD_PASTE,DOM_INPUT_METHOD_SCRIPT,DOM_INPUT_METHOD_UNKNOWN,DOM_INPUT_METHOD_VOICE") + public void textEvent() throws Exception { + testString("document.createEvent('TextEvent')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.TouchEvent}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(FF68 = "exception", + FF60 = "exception", + CHROME = "altKey,changedTouches,constructor(),ctrlKey,metaKey,shiftKey,targetTouches,touches", + IE = "exception") + @HtmlUnitNYI(CHROME = "constructor()") + public void touchEvent2() throws Exception { + testString("new TouchEvent('touch')"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.html.HtmlSlot}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "assignedElements(),assignedNodes(),constructor(),name", + FF68 = "assignedElements(),assignedNodes(),constructor(),name", + FF60 = "constructor()", + IE = "constructor,namedRecordset(),recordset") + @HtmlUnitNYI(CHROME = "constructor()", + FF68 = "constructor()", + IE = "constructor") + public void slot() throws Exception { + test("slot"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDocument}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "alinkColor,all,anchors,applets,bgColor,captureEvents(),clear(),close(),constructor(),cookie," + + "designMode,domain,embeds,execCommand(),fgColor,forms,head,images,linkColor,links,open(),plugins," + + "queryCommandEnabled(),queryCommandIndeterm(),queryCommandState(),queryCommandSupported()," + + "queryCommandValue(),releaseEvents(),scripts,vlinkColor,write()," + + "writeln()", + FF68 = "alinkColor,all,bgColor,captureEvents(),clear(),close(),constructor(),designMode,domain," + + "execCommand(),fgColor,linkColor,open(),queryCommandEnabled(),queryCommandIndeterm()," + + "queryCommandState(),queryCommandSupported(),queryCommandValue(),releaseEvents(),vlinkColor," + + "write()," + + "writeln()", + IE = "constructor") + @HtmlUnitNYI(CHROME = "alinkColor,all,bgColor,captureEvents(),clear(),constructor(),cookie,dispatchEvent()," + + "documentElement,fgColor,getElementById(),getSelection(),head,linkColor,open(),releaseEvents()," + + "vlinkColor,write(),writeln()", + FF60 = "alinkColor,all,anchors,applets,bgColor,body,captureEvents(),clear(),close(),constructor()," + + "cookie,designMode,dispatchEvent(),documentElement,domain,embeds,execCommand(),fgColor,forms," + + "getElementById(),getElementsByName(),getSelection(),head,images,linkColor,links,open(),plugins," + + "queryCommandEnabled(),queryCommandSupported(),releaseEvents(),scripts,vlinkColor,write(),writeln()", + FF68 = "alinkColor,all,anchors,applets,bgColor,body,captureEvents(),clear(),close(),constructor(),cookie," + + "designMode,dispatchEvent(),documentElement,domain,embeds,execCommand(),fgColor,forms," + + "getElementById(),getElementsByName(),getSelection(),head,images,linkColor,links,open(),plugins," + + "queryCommandEnabled(),queryCommandSupported(),releaseEvents(),scripts,vlinkColor,write(),writeln()", + IE = "all,clear(),constructor,cookie,dispatchEvent(),documentElement,getElementById(),getSelection()," + + "head,open(),parentWindow,write(),writeln()") + public void htmlDocument() throws Exception { + testString("document"); + } + + /** + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.dom.Document}. + * + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor()", + FF60 = "async,constructor(),load()", + FF68 = "async,constructor(),load()", + IE = "constructor") + @HtmlUnitNYI(CHROME = "constructor(),getElementsByTagName()", + FF60 = "async,constructor(),getElementsByTagName(),load()", + FF68 = "async,constructor(),getElementsByTagName(),load()", + IE = "constructor,getElementsByTagName()") + public void document() throws Exception { + testString("xmlDocument"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "autofocus,blur(),className,constructor(),dataset,focus(),nonce,onabort,onanimationend," + + "onanimationiteration,onanimationstart,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough," + + "onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend," + + "ondragenter,ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror," + + "onfocus,onformdata,ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload," + + "onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpaste,onpause,onplay," + + "onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerrawupdate,onpointerup,onprogress,onratechange,onreset,onresize,onscroll," + + "onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled,onsubmit,onsuspend," + + "ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel,ownerSVGElement,style," + + "tabIndex," + + "viewportElement", + FF60 = "blur(),className,constructor(),dataset,focus(),id,onabort,onanimationcancel,onanimationend," + + "onanimationiteration,onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,ownerSVGElement," + + "style,tabIndex," + + "viewportElement", + FF68 = "blur(),className,constructor(),dataset,focus(),id,onabort,onanimationcancel,onanimationend," + + "onanimationiteration,onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter," + + "ondragexit,ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror," + + "onfocus,ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter," + + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup,onprogress," + + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectstart,onshow," + + "onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitioncancel,ontransitionend," + + "ontransitionrun,ontransitionstart,onvolumechange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,ownerSVGElement," + + "style,tabIndex," + + "viewportElement", + IE = "childElementCount,clientHeight,clientLeft,clientTop,clientWidth,constructor,firstElementChild," + + "getAttribute(),getAttributeNode(),getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect()," + + "getClientRects(),getElementsByTagName(),getElementsByTagNameNS(),hasAttribute(),hasAttributeNS()," + + "lastElementChild,msContentZoomFactor,msGetRegionContent(),msGetUntransformedBounds()," + + "msMatchesSelector(),msRegionOverflow,msReleasePointerCapture(),msRequestFullscreen()," + + "msSetPointerCapture(),nextElementSibling,ongotpointercapture,onlostpointercapture," + + "onmsgesturechange,onmsgesturedoubletap,onmsgestureend,onmsgesturehold,onmsgesturestart," + + "onmsgesturetap,onmsgotpointercapture,onmsinertiastart,onmslostpointercapture,onmspointercancel," + + "onmspointerdown,onmspointerenter,onmspointerleave,onmspointermove,onmspointerout,onmspointerover," + + "onmspointerup,onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove," + + "onpointerout,onpointerover,onpointerup,previousElementSibling,querySelector(),querySelectorAll()," + + "releasePointerCapture(),removeAttribute(),removeAttributeNode(),removeAttributeNS(),scrollHeight," + + "scrollLeft,scrollTop,scrollWidth,setAttribute(),setAttributeNode(),setAttributeNodeNS()," + + "setAttributeNS(),setPointerCapture()," + + "tagName") + @HtmlUnitNYI(CHROME = "constructor(),onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + + "onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondrag,ondragend,ondragenter,ondragleave," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onpause,onplay,onplaying," + + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," + + "onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + + "onseeking,onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange," + + "onwaiting,onwheel,style", + FF60 = "constructor(),onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,oncopy," + + "oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,onwheel,style", + FF68 = "constructor(),onabort,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,oncopy," + + "oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," + + "ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,onvolumechange,onwaiting,style", + IE = "attributes,childElementCount,clientHeight,clientLeft,clientTop,clientWidth,constructor," + + "firstElementChild,getAttribute(),getAttributeNode(),getAttributeNodeNS(),getAttributeNS()," + + "getBoundingClientRect(),getClientRects(),getElementsByTagName(),getElementsByTagNameNS()," + + "hasAttribute(),hasAttributeNS(),lastElementChild,msMatchesSelector(),nextElementSibling," + + "ongotpointercapture,onlostpointercapture,onmsgesturechange,onmsgesturedoubletap,onmsgestureend," + + "onmsgesturehold,onmsgesturestart,onmsgesturetap,onmsgotpointercapture,onmsinertiastart," + + "onmslostpointercapture,onmspointercancel,onmspointerdown,onmspointerenter,onmspointerleave," + + "onmspointermove,onmspointerout,onmspointerover,onmspointerup,onpointercancel,onpointerdown," + + "onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup," + + "previousElementSibling,querySelector(),querySelectorAll(),removeAttribute(),removeAttributeNode()," + + "removeAttributeNS(),scrollHeight,scrollLeft,scrollTop,scrollWidth,setAttribute()," + + "setAttributeNode(),setAttributeNS(),tagName") + public void svgElement() throws Exception { + testString("svg"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "constructor(),localName,name,namespaceURI,ownerElement,prefix,specified,value", + FF60 = "constructor(),localName,name,namespaceURI,ownerElement,prefix,specified,value", + FF68 = "constructor(),localName,name,namespaceURI,ownerElement,prefix,specified,value", + IE = "constructor,expando,name,ownerElement,specified,value") + @HtmlUnitNYI(IE = "constructor,expando,localName,name,namespaceURI,ownerElement,prefix,specified,value") + public void nodeAndAttr() throws Exception { + testString("document.createAttribute('some_attrib')"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "cloneContents(),cloneRange(),collapse(),collapsed,commonAncestorContainer," + + "compareBoundaryPoints(),comparePoint(),constructor(),createContextualFragment(),deleteContents()," + + "detach(),END_TO_END,END_TO_START,endContainer,endOffset,expand(),extractContents()," + + "getBoundingClientRect(),getClientRects(),insertNode(),intersectsNode(),isPointInRange()," + + "selectNode(),selectNodeContents(),setEnd(),setEndAfter(),setEndBefore(),setStart()," + + "setStartAfter(),setStartBefore(),START_TO_END,START_TO_START,startContainer,startOffset," + + "surroundContents()," + + "toString()", + FF60 = "cloneContents(),cloneRange(),collapse(),collapsed,commonAncestorContainer," + + "compareBoundaryPoints(),comparePoint(),constructor(),createContextualFragment(),deleteContents()," + + "detach(),END_TO_END,END_TO_START,endContainer,endOffset,extractContents()," + + "getBoundingClientRect(),getClientRects(),insertNode(),intersectsNode(),isPointInRange()," + + "selectNode(),selectNodeContents(),setEnd(),setEndAfter(),setEndBefore(),setStart()," + + "setStartAfter(),setStartBefore(),START_TO_END,START_TO_START,startContainer,startOffset," + + "surroundContents()," + + "toString()", + FF68 = "cloneContents(),cloneRange(),collapse(),collapsed,commonAncestorContainer," + + "compareBoundaryPoints(),comparePoint(),constructor(),createContextualFragment(),deleteContents()," + + "detach(),END_TO_END,END_TO_START,endContainer,endOffset,extractContents()," + + "getBoundingClientRect(),getClientRects(),insertNode(),intersectsNode(),isPointInRange()," + + "selectNode(),selectNodeContents(),setEnd(),setEndAfter(),setEndBefore(),setStart()," + + "setStartAfter(),setStartBefore(),START_TO_END,START_TO_START,startContainer,startOffset," + + "surroundContents()," + + "toString()", + IE = "cloneContents(),cloneRange(),collapse(),collapsed,commonAncestorContainer," + + "compareBoundaryPoints(),constructor,createContextualFragment(),deleteContents(),detach()," + + "END_TO_END,END_TO_START,endContainer,endOffset,extractContents(),getBoundingClientRect()," + + "getClientRects(),insertNode(),selectNode(),selectNodeContents(),setEnd(),setEndAfter()," + + "setEndBefore(),setStart(),setStartAfter(),setStartBefore(),START_TO_END,START_TO_START," + + "startContainer,startOffset,surroundContents()," + + "toString()") + @HtmlUnitNYI(CHROME = "cloneContents(),cloneRange(),collapse(),collapsed,commonAncestorContainer," + + "compareBoundaryPoints(),constructor(),createContextualFragment(),deleteContents(),detach()," + + "END_TO_END,END_TO_START,endContainer,endOffset,extractContents(),getBoundingClientRect()," + + "getClientRects(),insertNode(),selectNode(),selectNodeContents(),setEnd(),setEndAfter()," + + "setEndBefore(),setStart(),setStartAfter(),setStartBefore(),START_TO_END,START_TO_START," + + "startContainer,startOffset,surroundContents(),toString()", + FF60 = "cloneContents(),cloneRange(),collapse(),collapsed,commonAncestorContainer," + + "compareBoundaryPoints(),constructor(),createContextualFragment(),deleteContents()," + + "detach(),END_TO_END,END_TO_START,endContainer,endOffset,extractContents()," + + "getBoundingClientRect(),getClientRects(),insertNode(),selectNode(),selectNodeContents()," + + "setEnd(),setEndAfter(),setEndBefore(),setStart(),setStartAfter(),setStartBefore()," + + "START_TO_END,START_TO_START,startContainer,startOffset,surroundContents(),toString()", + FF68 = "cloneContents(),cloneRange(),collapse(),collapsed,commonAncestorContainer," + + "compareBoundaryPoints(),constructor(),createContextualFragment(),deleteContents()," + + "detach(),END_TO_END,END_TO_START,endContainer,endOffset,extractContents()," + + "getBoundingClientRect(),getClientRects(),insertNode(),selectNode(),selectNodeContents()," + + "setEnd(),setEndAfter(),setEndBefore(),setStart(),setStartAfter(),setStartBefore()," + + "START_TO_END,START_TO_START,startContainer,startOffset,surroundContents(),toString()") + public void range() throws Exception { + testString("document.createRange()"); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(CHROME = "append(),childElementCount,children,constructor(),firstElementChild,getElementById()," + + "lastElementChild,prepend(),querySelector()," + + "querySelectorAll()", + FF60 = "append(),childElementCount,children,constructor(),firstElementChild,getElementById()," + + "lastElementChild,prepend(),querySelector()," + + "querySelectorAll()", + FF68 = "append(),childElementCount,children,constructor(),firstElementChild,getElementById()," + + "lastElementChild,prepend(),querySelector()," + + "querySelectorAll()", + IE = "constructor,querySelector(),querySelectorAll(),removeNode(),replaceNode(),swapNode()") + @HtmlUnitNYI(CHROME = "childElementCount,children,constructor(),firstElementChild,getElementById()," + + "lastElementChild,querySelector(),querySelectorAll()", + FF60 = "childElementCount,children,constructor(),firstElementChild,getElementById()," + + "lastElementChild,querySelector(),querySelectorAll()", + FF68 = "childElementCount,children,constructor(),firstElementChild,getElementById()" + + ",lastElementChild,querySelector(),querySelectorAll()", + IE = "constructor,querySelector(),querySelectorAll()") + public void documentFragment() throws Exception { + testString("document.createDocumentFragment()"); + } + +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementPropertiesTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementPropertiesTest.java index af3dddc5b24..9c5b0f44289 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/ElementPropertiesTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/ElementPropertiesTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,8 +16,7 @@ import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF52; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF68; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import static java.nio.charset.StandardCharsets.ISO_8859_1; @@ -429,39 +428,41 @@ public void unknown() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(CHROME = "accessKey,autocapitalize," - + "blur(),click(),contentEditable,dataset,dir,draggable,focus(),hidden," + @Alerts(CHROME = "accessKey,attachInternals(),autocapitalize,autofocus," + + "blur(),click(),contentEditable,dataset,dir,draggable,enterKeyHint,focus(),hidden," + "innerText,inputMode,isContentEditable,lang,nonce," + "offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationend,onanimationiteration,onanimationstart," + "onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange,onclick," + "onclose,oncontextmenu,oncopy,oncuechange,oncut," + "ondblclick,ondrag,ondragend,ondragenter,ondragleave,ondragover," - + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,ongotpointercapture," - + "oninput,oninvalid," + + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onformdata," + + "ongotpointercapture,oninput,oninvalid," + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture," + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel," + "onpaste,onpause,onplay,onplaying," + "onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout," - + "onpointerover,onpointerup,onprogress," + + "onpointerover,onpointerrawupdate,onpointerup,onprogress," + "onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect," - + "onselectionchange,onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle," + + "onselectionchange,onselectstart,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend," + "onvolumechange,onwaiting,onwheel,outerText," + "spellcheck,style,tabIndex,title,translate", - FF52 = "accessKey,accessKeyLabel,blur(),click(),contentEditable,contextMenu,dataset,dir," - + "draggable,focus(),hidden,innerText,isContentEditable," - + "lang,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," - + "onanimationend,onanimationiteration,onanimationstart,onblur,oncanplay," - + "oncanplaythrough,onchange,onclick,oncontextmenu,oncopy,oncut,ondblclick,ondrag,ondragend," - + "ondragenter,ondragexit,ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied," - + "onended,onerror," - + "onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata," - + "onloadend,onloadstart,onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout," - + "onmouseover,onmouseup," - + "onmozfullscreenchange,onmozfullscreenerror,onpaste," - + "onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking," - + "onselect,onselectstart,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend," + FF68 = "accessKey,accessKeyLabel,blur(),click(),contentEditable,contextMenu,dataset,dir,draggable," + + "focus(),hidden,innerText,isContentEditable,lang," + + "offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," + + "onanimationcancel,onanimationend,onanimationiteration,onanimationstart,onauxclick,onblur," + + "oncanplay,oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut," + + "ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,ongotpointercapture,oninput," + + "oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata," + + "onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove," + + "onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause," + + "onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove," + + "onpointerout,onpointerover,onpointerup,onprogress,onratechange,onreset,onresize," + + "onscroll,onseeked,onseeking,onselect,onselectstart,onshow,onstalled,onsubmit,onsuspend," + + "ontimeupdate,ontoggle,ontransitioncancel,ontransitionend,ontransitionrun,ontransitionstart," + "onvolumechange,onwaiting,onwebkitanimationend,onwebkitanimationiteration,onwebkitanimationstart," - + "onwebkittransitionend,spellcheck,style,tabIndex,title", + + "onwebkittransitionend,onwheel,spellcheck,style,tabIndex,title", FF60 = "accessKey,accessKeyLabel,blur(),click(),contentEditable,contextMenu,dataset,dir," + "draggable,focus(),hidden,innerText,isContentEditable," + "lang,offsetHeight,offsetLeft,offsetParent,offsetTop,offsetWidth,onabort," @@ -515,7 +516,7 @@ public void htmlElement() throws Exception { @Alerts(CHROME = "animate(),append(),attachShadow(),attributes,attributeStyleMap," + "childElementCount,children,classList,className," + "clientHeight,clientLeft,clientTop,clientWidth,closest(),computedStyleMap(),createShadowRoot()," - + "firstElementChild,getAttribute(),getAttributeNames(),getAttributeNode()," + + "elementTiming,firstElementChild,getAttribute(),getAttributeNames(),getAttributeNode()," + "getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect()," + "getClientRects(),getElementsByClassName(),getElementsByTagName(),getElementsByTagNameNS()," + "hasAttribute(),hasAttributeNS(),hasAttributes(),hasPointerCapture(),id,innerHTML," @@ -530,17 +531,19 @@ public void htmlElement() throws Exception { + "scrollLeft,scrollTo(),scrollTop,scrollWidth,setAttribute(),setAttributeNode(),setAttributeNodeNS()," + "setAttributeNS(),setPointerCapture(),shadowRoot,slot,tagName,toggleAttribute()," + "webkitMatchesSelector(),webkitRequestFullscreen(),webkitRequestFullScreen()", - FF52 = "animate(),append(),attributes,childElementCount,children,classList,className,clientHeight," - + "clientLeft,clientTop,clientWidth,closest(),firstElementChild,getAttribute(),getAttributeNames()," - + "getAttributeNode(),getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect(),getClientRects()," - + "getElementsByClassName(),getElementsByTagName(),getElementsByTagNameNS(),hasAttribute()," - + "hasAttributeNS(),hasAttributes(),id,innerHTML,insertAdjacentElement(),insertAdjacentHTML()," - + "insertAdjacentText(),lastElementChild,localName,matches(),mozMatchesSelector()," - + "mozRequestFullScreen(),namespaceURI,onwheel,outerHTML,prefix,prepend(),querySelector()," - + "querySelectorAll(),releaseCapture(),removeAttribute(),removeAttributeNode(),removeAttributeNS()," - + "requestPointerLock(),scroll(),scrollBy(),scrollHeight,scrollIntoView(),scrollLeft,scrollLeftMax," - + "scrollTo(),scrollTop,scrollTopMax,scrollWidth,setAttribute(),setAttributeNode()," - + "setAttributeNodeNS(),setAttributeNS(),setCapture(),tagName,webkitMatchesSelector()", + FF68 = "animate(),append(),attachShadow(),attributes,childElementCount,children,classList,className," + + "clientHeight,clientLeft,clientTop,clientWidth,closest(),firstElementChild,getAttribute()," + + "getAttributeNames(),getAttributeNode(),getAttributeNodeNS(),getAttributeNS()," + + "getBoundingClientRect(),getClientRects(),getElementsByClassName(),getElementsByTagName()," + + "getElementsByTagNameNS(),hasAttribute(),hasAttributeNS(),hasAttributes(),hasPointerCapture()," + + "id,innerHTML,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),lastElementChild," + + "localName,matches(),mozMatchesSelector(),mozRequestFullScreen(),namespaceURI,onfullscreenchange," + + "onfullscreenerror,outerHTML,prefix,prepend(),querySelector(),querySelectorAll(),releaseCapture()," + + "releasePointerCapture(),removeAttribute(),removeAttributeNode(),removeAttributeNS()," + + "requestFullscreen(),requestPointerLock(),scroll(),scrollBy(),scrollHeight,scrollIntoView()," + + "scrollLeft,scrollLeftMax,scrollTo(),scrollTop,scrollTopMax,scrollWidth,setAttribute()," + + "setAttributeNode(),setAttributeNodeNS(),setAttributeNS(),setCapture(),setPointerCapture()," + + "shadowRoot,slot,tagName,toggleAttribute(),webkitMatchesSelector()", FF60 = "animate(),append(),attributes,childElementCount,children,classList,className," + "clientHeight,clientLeft,clientTop," + "clientWidth,closest(),firstElementChild,getAttribute(),getAttributeNames(),getAttributeNode()," @@ -583,7 +586,7 @@ public void element() throws Exception { @Alerts(CHROME = "after(),animate(),assignedSlot,attachShadow(),attributes,attributeStyleMap," + "before(),classList,className," + "clientHeight,clientLeft,clientTop,clientWidth,closest(),computedStyleMap(),createShadowRoot()," - + "getAttribute()," + + "elementTiming,getAttribute()," + "getAttributeNames(),getAttributeNode(),getAttributeNodeNS(),getAttributeNS()," + "getBoundingClientRect(),getClientRects()," + "getDestinationInsertionPoints(),getElementsByClassName(),getElementsByTagName()," @@ -601,17 +604,19 @@ public void element() throws Exception { + "setAttributeNodeNS(),setAttributeNS(),setPointerCapture(),shadowRoot,slot," + "tagName,toggleAttribute()," + "webkitMatchesSelector(),webkitRequestFullscreen(),webkitRequestFullScreen()", - FF52 = "after(),animate(),attributes,before(),classList,className,clientHeight,clientLeft,clientTop," - + "clientWidth,closest(),getAttribute(),getAttributeNames(),getAttributeNode(),getAttributeNodeNS()," - + "getAttributeNS(),getBoundingClientRect(),getClientRects(),getElementsByClassName()," - + "getElementsByTagName(),getElementsByTagNameNS(),hasAttribute(),hasAttributeNS(),hasAttributes(),id," - + "innerHTML,insertAdjacentElement(),insertAdjacentHTML(),insertAdjacentText(),localName,matches()," - + "mozMatchesSelector(),mozRequestFullScreen(),namespaceURI,nextElementSibling,onwheel,outerHTML," - + "prefix,previousElementSibling,releaseCapture(),remove(),removeAttribute(),removeAttributeNode()," - + "removeAttributeNS(),replaceWith(),requestPointerLock(),scroll(),scrollBy(),scrollHeight," + FF68 = "after(),animate(),assignedSlot,attachShadow(),attributes,before(),classList,className,clientHeight," + + "clientLeft,clientTop,clientWidth,closest(),getAttribute(),getAttributeNames(),getAttributeNode()," + + "getAttributeNodeNS(),getAttributeNS(),getBoundingClientRect(),getClientRects()," + + "getElementsByClassName(),getElementsByTagName(),getElementsByTagNameNS(),hasAttribute()," + + "hasAttributeNS(),hasAttributes(),hasPointerCapture(),id,innerHTML,insertAdjacentElement()," + + "insertAdjacentHTML(),insertAdjacentText(),localName,matches(),mozMatchesSelector()," + + "mozRequestFullScreen(),namespaceURI,nextElementSibling,onfullscreenchange,onfullscreenerror," + + "outerHTML,prefix,previousElementSibling,releaseCapture()," + + "releasePointerCapture(),remove(),removeAttribute(),removeAttributeNode(),removeAttributeNS()," + + "replaceWith(),requestFullscreen(),requestPointerLock(),scroll(),scrollBy(),scrollHeight," + "scrollIntoView(),scrollLeft,scrollLeftMax,scrollTo(),scrollTop,scrollTopMax,scrollWidth," - + "setAttribute(),setAttributeNode(),setAttributeNodeNS(),setAttributeNS(),setCapture(),tagName," - + "webkitMatchesSelector()", + + "setAttribute(),setAttributeNode(),setAttributeNodeNS(),setAttributeNS(),setCapture()," + + "setPointerCapture(),shadowRoot,slot,tagName,toggleAttribute(),webkitMatchesSelector()", FF60 = "after(),animate(),attributes,before(),classList,className,clientHeight,clientLeft,clientTop," + "clientWidth,closest(),getAttribute(),getAttributeNames(),getAttributeNode(),getAttributeNodeNS()," + "getAttributeNS(),getBoundingClientRect(),getClientRects(),getElementsByClassName()," @@ -662,10 +667,11 @@ public void currentStyle() throws Exception { + "composed,composedPath(),currentTarget,defaultPrevented,eventPhase,initEvent(),isTrusted," + "NONE,path,preventDefault(),returnValue,srcElement,stopImmediatePropagation(),stopPropagation()," + "target,timeStamp,type", - FF52 = "ALT_MASK,AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,composed," - + "CONTROL_MASK,currentTarget," - + "defaultPrevented,eventPhase,explicitOriginalTarget,getPreventDefault(),initEvent(),isTrusted," - + "META_MASK,NONE,originalTarget,preventDefault(),SHIFT_MASK,stopImmediatePropagation()," + FF68 = "ALT_MASK,AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble,CAPTURING_PHASE,composed," + + "composedPath(),CONTROL_MASK,currentTarget," + + "defaultPrevented,eventPhase,explicitOriginalTarget,initEvent(),isTrusted," + + "META_MASK,NONE,originalTarget,preventDefault(),returnValue,SHIFT_MASK,srcElement," + + "stopImmediatePropagation()," + "stopPropagation(),target,timeStamp," + "type", FF60 = "ALT_MASK,AT_TARGET,bubbles,BUBBLING_PHASE,cancelable,cancelBubble," @@ -701,14 +707,14 @@ public void event() throws Exception { + "onbeforeunload,onblur,oncancel,oncanplay,oncanplaythrough," + "onchange,onclick,onclose,oncontextmenu,oncuechange,ondblclick,ondevicemotion,ondeviceorientation," + "ondeviceorientationabsolute,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop," - + "ondurationchange,onemptied,onended,onerror,onfocus,ongotpointercapture," + + "ondurationchange,onemptied,onended,onerror,onfocus,onformdata,ongotpointercapture," + "onhashchange,oninput,oninvalid,onkeydown,onkeypress,onkeyup," + "onlanguagechange,onload(),onloadeddata,onloadedmetadata,onloadstart,onlostpointercapture,onmessage," + "onmessageerror,onmousedown," + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmousewheel,onoffline," + "ononline,onpagehide,onpageshow,onpause,onplay,onplaying," + "onpointercancel,onpointerdown,onpointerenter,onpointerleave," - + "onpointermove,onpointerout,onpointerover,onpointerup," + + "onpointermove,onpointerout,onpointerover,onpointerrawupdate,onpointerup," + "onpopstate,onprogress,onratechange," + "onrejectionhandled,onreset,onresize,onscroll,onsearch," + "onseeked,onseeking,onselect,onselectionchange,onselectstart," @@ -727,37 +733,36 @@ public void event() throws Exception { + "webkitRequestAnimationFrame(),webkitRequestFileSystem()," + "webkitResolveLocalFileSystemURL(),webkitStorageInfo," + "window", - FF52 = "addEventListener(),alert(),applicationCache,atob(),blur(),btoa(),caches,cancelAnimationFrame()," - + "captureEvents(),clearInterval(),clearTimeout(),close(),closed,confirm(),content," - + "createImageBitmap(),crypto,devicePixelRatio,dispatchEvent(),document,dump()," - + "external,fetch(),find()," - + "focus(),frameElement,frames,fullScreen,getComputedStyle(),getDefaultComputedStyle()," - + "getSelection(),history,indexedDB,innerHeight,innerWidth," - + "InstallTrigger,isSecureContext,length,localStorage,location,locationbar," - + "matchMedia(),menubar,moveBy(),moveTo()," - + "mozInnerScreenX,mozInnerScreenY,mozPaintCount,name,navigator,onabort," - + "onabsolutedeviceorientation,onafterprint,onanimationend,onanimationiteration," - + "onanimationstart,onbeforeprint,onbeforeunload,onblur," - + "oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,ondblclick,ondevicelight," - + "ondevicemotion,ondeviceorientation,ondeviceproximity,ondrag,ondragend,ondragenter," - + "ondragexit,ondragleave," - + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," - + "onhashchange,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onlanguagechange,onload()," - + "onloadeddata,onloadedmetadata,onloadend,onloadstart,onmessage,onmousedown,onmouseenter," - + "onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," - + "onmozfullscreenerror,onoffline,ononline,onpagehide,onpageshow,onpause,onplay,onplaying," - + "onpopstate,onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect," - + "onselectstart,onshow,onstalled,onstorage,onsubmit,onsuspend,ontimeupdate,ontoggle," - + "ontransitionend,onunload,onuserproximity,onvolumechange,onwaiting,onwebkitanimationend," - + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel," - + "open(),opener,outerHeight,outerWidth,pageXOffset,pageYOffset,parent,performance," - + "personalbar,postMessage(),print(),process(),prompt(),releaseEvents()," - + "removeEventListener(),requestAnimationFrame(),resizeBy(),resizeTo()," - + "screen,screenX,screenY,scroll(),scrollbars,scrollBy(),scrollByLines(),scrollByPages()," - + "scrollMaxX,scrollMaxY,scrollTo(),scrollX,scrollY,self,sessionStorage,setInterval()," - + "setResizable(),setTimeout(),showModalDialog(),sidebar,sizeToContent()," - + "sortFunction(),speechSynthesis," - + "status,statusbar,stop(),test(),toolbar,top,updateCommands(),window", + FF68 = "addEventListener(),alert(),applicationCache,atob(),blur(),btoa(),caches,cancelAnimationFrame()," + + "cancelIdleCallback(),captureEvents(),clearInterval(),clearTimeout(),close(),closed,confirm()," + + "createImageBitmap(),crypto,customElements,devicePixelRatio,dispatchEvent(),document,dump()," + + "event,external,fetch(),find(),focus(),frameElement,frames,fullScreen,getComputedStyle()," + + "getDefaultComputedStyle(),getSelection(),history,indexedDB,innerHeight,innerWidth,InstallTrigger," + + "isSecureContext,length,localStorage,location,locationbar,matchMedia(),menubar,moveBy(),moveTo()," + + "mozInnerScreenX,mozInnerScreenY,mozPaintCount,name,navigator,onabort,onabsolutedeviceorientation," + + "onafterprint,onanimationcancel,onanimationend,onanimationiteration,onanimationstart,onauxclick," + + "onbeforeprint,onbeforeunload,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncuechange,ondblclick,ondevicelight,ondevicemotion,ondeviceorientation," + + "ondeviceproximity,ondrag,ondragend,ondragenter,ondragexit,ondragleave,ondragover,ondragstart," + + "ondrop,ondurationchange,onemptied,onended,onerror,onfocus,ongotpointercapture,onhashchange," + + "oninput,oninvalid,onkeydown,onkeypress,onkeyup,onlanguagechange,onload(),onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmessage,onmessageerror," + + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," + + "onmozfullscreenchange,onmozfullscreenerror,onoffline,ononline,onpagehide,onpageshow,onpause," + + "onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove," + + "onpointerout,onpointerover,onpointerup,onpopstate,onprogress,onratechange,onreset,onresize,onscroll," + + "onseeked,onseeking,onselect,onselectstart,onshow,onstalled,onstorage,onsubmit,onsuspend," + + "ontimeupdate,ontoggle,ontransitioncancel,ontransitionend,ontransitionrun,ontransitionstart,onunload," + + "onuserproximity,onvolumechange,onvrdisplayactivate,onvrdisplayconnect,onvrdisplaydeactivate," + + "onvrdisplaydisconnect,onvrdisplaypresentchange,onwaiting,onwebkitanimationend," + + "onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend,onwheel,open(),opener," + + "origin,outerHeight,outerWidth,pageXOffset,pageYOffset,parent,performance,personalbar,postMessage()," + + "print(),process(),prompt(),releaseEvents(),removeEventListener(),requestAnimationFrame()," + + "requestIdleCallback(),resizeBy(),resizeTo(),screen,screenLeft,screenTop,screenX,screenY,scroll()," + + "scrollbars,scrollBy(),scrollByLines(),scrollByPages(),scrollMaxX,scrollMaxY,scrollTo()," + + "scrollX,scrollY,self,sessionStorage,setInterval(),setResizable(),setTimeout(),sidebar," + + "sizeToContent(),sortFunction(),speechSynthesis,status,statusbar,stop(),test(),toolbar,top,u2f," + + "updateCommands(),window", FF60 = "addEventListener(),alert(),applicationCache,atob(),blur(),btoa(),caches,cancelAnimationFrame()," + "cancelIdleCallback(),captureEvents(),clearInterval(),clearTimeout(),close(),closed,confirm()," + "createImageBitmap(),crypto,devicePixelRatio,dispatchEvent(),document,dump(),external,fetch()," @@ -876,12 +881,10 @@ public void address() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "align,alt,archive,code,codeBase,height,hspace,name,object,vspace,width", + @Alerts(DEFAULT = "-", IE = "align,alt,altHtml,archive,BaseHref,border,classid,code,codeBase,codeType,contentDocument,data," - + "declare,form,height,hspace,name,object,standby,type,useMap,vspace,width", - CHROME = "-", - FF60 = "-") - @NotYetImplemented({FF52, IE}) + + "declare,form,height,hspace,name,object,standby,type,useMap,vspace,width") + @NotYetImplemented(IE) public void applet() throws Exception { test("applet"); } @@ -938,15 +941,13 @@ public void aside() throws Exception { + "seekable,seeking,setMediaKeys(),setSinkId(),sinkId,src,srcObject,textTracks," + "volume,webkitAudioDecodedByteCount," + "webkitVideoDecodedByteCount", - FF52 = "addTextTrack(),autoplay,buffered,canPlayType(),controls,crossOrigin,currentSrc,currentTime," - + "defaultMuted,defaultPlaybackRate,duration,ended,error,fastSeek(),HAVE_CURRENT_DATA," - + "HAVE_ENOUGH_DATA,HAVE_FUTURE_DATA,HAVE_METADATA,HAVE_NOTHING,load(),loop,mediaKeys,mozAudioCaptured," - + "mozAutoplayEnabled,mozCaptureStream()," - + "mozCaptureStreamUntilEnded()," - + "mozFragmentEnd,mozGetMetadata(),mozPreservesPitch,mozSrcObject,muted,NETWORK_EMPTY,NETWORK_IDLE," - + "NETWORK_LOADING,NETWORK_NO_SOURCE,networkState,onencrypted," - + "onwaitingforkey,pause(),paused,play(),playbackRate,played,preload," - + "readyState,seekable,seeking,setMediaKeys(),src,srcObject,textTracks,volume", + FF68 = "addTextTrack(),autoplay,buffered,canPlayType(),controls,crossOrigin,currentSrc,currentTime," + + "defaultMuted,defaultPlaybackRate,duration,ended,error,fastSeek(),HAVE_CURRENT_DATA,HAVE_ENOUGH_DATA," + + "HAVE_FUTURE_DATA,HAVE_METADATA,HAVE_NOTHING,load(),loop,mediaKeys,mozAudioCaptured," + + "mozCaptureStream(),mozCaptureStreamUntilEnded(),mozFragmentEnd,mozGetMetadata(),mozPreservesPitch," + + "muted,NETWORK_EMPTY,NETWORK_IDLE,NETWORK_LOADING,NETWORK_NO_SOURCE,networkState,onencrypted," + + "onwaitingforkey,pause(),paused,play(),playbackRate,played,preload,readyState,seekable,seeking," + + "seekToNextFrame(),setMediaKeys(),src,srcObject,textTracks,volume", FF60 = "addTextTrack(),autoplay,buffered,canPlayType(),controls,crossOrigin,currentSrc,currentTime," + "defaultMuted,defaultPlaybackRate,duration,ended,error,fastSeek(),HAVE_CURRENT_DATA," + "HAVE_ENOUGH_DATA,HAVE_FUTURE_DATA,HAVE_METADATA,HAVE_NOTHING,load(),loop,mediaKeys,mozAudioCaptured," @@ -1073,8 +1074,8 @@ public void blockquote() throws Exception { + "onmessageerror,onoffline,ononline,onpagehide,onpageshow,onpopstate," + "onrejectionhandled,onstorage,onunhandledrejection,onunload," + "text,vLink", - FF52 = "aLink,background,bgColor,link,onafterprint,onbeforeprint,onbeforeunload,onhashchange," - + "onlanguagechange,onmessage," + FF68 = "aLink,background,bgColor,link,onafterprint,onbeforeprint,onbeforeunload,onhashchange," + + "onlanguagechange,onmessage,onmessageerror," + "onoffline,ononline,onpagehide,onpageshow,onpopstate,onstorage,onunload,text," + "vLink", FF60 = "aLink,background,bgColor,link,onafterprint,onbeforeprint,onbeforeunload,onhashchange," @@ -1119,12 +1120,12 @@ public void br() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(CHROME = "autofocus,checkValidity(),disabled,form,formAction,formEnctype,formMethod,formNoValidate," + @Alerts(CHROME = "checkValidity(),disabled,form,formAction,formEnctype,formMethod,formNoValidate," + + "formTarget,labels,name,reportValidity(),setCustomValidity(),type,validationMessage,validity," + + "value,willValidate", + FF68 = "autofocus,checkValidity(),disabled,form,formAction,formEnctype,formMethod,formNoValidate," + "formTarget,labels,name,reportValidity(),setCustomValidity(),type,validationMessage,validity," + "value,willValidate", - FF52 = "autofocus,checkValidity(),disabled,form,formAction,formEnctype,formMethod,formNoValidate," - + "formTarget,name,reportValidity(),setCustomValidity(),type,validationMessage,validity,value," - + "willValidate", FF60 = "autofocus,checkValidity(),disabled,form,formAction,formEnctype,formMethod,formNoValidate," + "formTarget,labels,name,reportValidity(),setCustomValidity(),type,validationMessage,validity," + "value,willValidate", @@ -1413,6 +1414,9 @@ public void font() throws Exception { @Alerts(DEFAULT = "acceptCharset,action,autocomplete,checkValidity(),elements,encoding,enctype,length,method,name," + "noValidate,reportValidity(),reset(),submit()," + "target", + CHROME = "acceptCharset,action,autocomplete,checkValidity(),elements,encoding,enctype,length,method,name," + + "noValidate,reportValidity(),requestSubmit(),reset(),submit()," + + "target", IE = "acceptCharset,action,autocomplete,checkValidity(),elements,encoding,enctype,item(),length,method," + "name,namedItem(),noValidate,reset(),submit()," + "target") @@ -1459,8 +1463,8 @@ public void frame() throws Exception { + "onmessage,onmessageerror,onoffline,ononline,onpagehide," + "onpageshow,onpopstate,onrejectionhandled,onstorage,onunhandledrejection,onunload," + "rows", - FF52 = "cols,onafterprint,onbeforeprint,onbeforeunload,onhashchange,onlanguagechange,onmessage," - + "onoffline,ononline," + FF68 = "cols,onafterprint,onbeforeprint,onbeforeunload,onhashchange,onlanguagechange,onmessage," + + "onmessageerror,onoffline,ononline," + "onpagehide,onpageshow,onpopstate,onstorage,onunload," + "rows", FF60 = "cols,onafterprint,onbeforeprint,onbeforeunload,onhashchange,onlanguagechange,onmessage," @@ -1600,16 +1604,17 @@ public void html() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(FF52 = "align,allowFullscreen,contentDocument,contentWindow,frameBorder,getSVGDocument(),height," - + "longDesc,marginHeight,marginWidth,name,referrerPolicy,sandbox,scrolling,src,srcdoc," - + "width", + @Alerts(FF68 = "align,allowFullscreen,allowPaymentRequest,contentDocument,contentWindow,frameBorder," + + "getSVGDocument(),height,longDesc,marginHeight,marginWidth,name,referrerPolicy," + + "sandbox,scrolling,src,srcdoc,width", FF60 = "align,allowFullscreen,allowPaymentRequest,contentDocument,contentWindow,frameBorder," + "getSVGDocument(),height," + "longDesc,marginHeight,marginWidth,name,referrerPolicy,sandbox,scrolling,src,srcdoc," + "width", CHROME = "align,allow,allowFullscreen,allowPaymentRequest,contentDocument,contentWindow," - + "csp,frameBorder,getSVGDocument(),height," - + "longDesc,marginHeight,marginWidth,name,referrerPolicy,sandbox,scrolling,src,srcdoc," + + "csp,featurePolicy,frameBorder,getSVGDocument(),height," + + "loading,longDesc,marginHeight,marginWidth,name," + + "referrerPolicy,sandbox,scrolling,src,srcdoc," + "width", IE = "align,border,contentDocument,contentWindow,frameBorder,frameSpacing,getSVGDocument(),height," + "hspace,longDesc,marginHeight,marginWidth,name,noResize,sandbox,scrolling,security,src,vspace," @@ -1637,14 +1642,14 @@ public void q() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(FF52 = "align,alt,border,complete,crossOrigin,currentSrc,height,hspace,isMap,longDesc,lowsrc,name," - + "naturalHeight,naturalWidth,referrerPolicy,sizes,src,srcset,useMap,vspace,width,x," - + "y", + @Alerts(FF68 = "align,alt,border,complete,crossOrigin,currentSrc,decode(),decoding,height,hspace,isMap," + + "longDesc,lowsrc,name,naturalHeight,naturalWidth,referrerPolicy,sizes,src,srcset," + + "useMap,vspace,width,x,y", FF60 = "align,alt,border,complete,crossOrigin,currentSrc,height,hspace,isMap,longDesc,lowsrc,name," + "naturalHeight,naturalWidth,referrerPolicy,sizes,src,srcset,useMap,vspace,width,x," + "y", CHROME = "align,alt,border,complete,crossOrigin,currentSrc,decode(),decoding," - + "height,hspace,isMap,longDesc,lowsrc,name," + + "height,hspace,isMap,loading,longDesc,lowsrc,name," + "naturalHeight,naturalWidth,referrerPolicy,sizes,src,srcset,useMap,vspace,width,x," + "y", IE = "align,alt,border,complete,crossOrigin,dynsrc,fileCreatedDate,fileModifiedDate,fileUpdatedDate," @@ -1799,7 +1804,7 @@ public void li() throws Exception { @Alerts(CHROME = "as,charset,crossOrigin,disabled,href,hreflang," + "imageSizes,imageSrcset,import,integrity," + "media,referrerPolicy,rel,relList,rev,sheet,sizes,target,type", - FF52 = "charset,crossOrigin,disabled,href,hreflang,integrity," + FF68 = "as,charset,crossOrigin,disabled,href,hreflang,integrity," + "media,referrerPolicy,rel,relList,rev,sheet,sizes,target,type", FF60 = "as,charset,crossOrigin,disabled,href,hreflang,integrity," + "media,referrerPolicy,rel,relList,rev,sheet,sizes,target,type", @@ -1848,12 +1853,14 @@ public void mark() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "behavior,bgColor,direction,height,hspace,loop,scrollAmount,scrollDelay,start(),stop(),trueSpeed," + @Alerts(CHROME = "behavior,bgColor,direction,height,hspace,loop,scrollAmount,scrollDelay,start(),stop(),trueSpeed," + "vspace,width", - FF = "align", + FF68 = "behavior,bgColor,direction,height,hspace,loop,onbounce,onfinish,onstart,scrollAmount," + + "scrollDelay,start(),stop(),trueSpeed,vspace,width", + FF60 = "align", IE = "behavior,bgColor,direction,height,hspace,loop,onbounce,onfinish,onstart,scrollAmount,scrollDelay," + "start(),stop(),trueSpeed,vspace,width") - @NotYetImplemented({IE, CHROME}) + @NotYetImplemented({IE, CHROME, FF68}) public void marquee() throws Exception { test("marquee"); } @@ -1903,7 +1910,6 @@ public void meta() throws Exception { */ @Test @Alerts(DEFAULT = "high,labels,low,max,min,optimum,value", - FF52 = "high,low,max,min,optimum,value", IE = "-") public void meter() throws Exception { test("meter"); @@ -2010,9 +2016,9 @@ public void noscript() throws Exception { + "data,declare,form," + "getSVGDocument(),height,hspace,name,reportValidity(),setCustomValidity(),standby,type,useMap," + "validationMessage,validity,vspace,width,willValidate", - FF52 = "align,archive,border,checkValidity(),code,codeBase,codeType,contentDocument,contentWindow,data," + FF68 = "align,archive,border,checkValidity(),code,codeBase,codeType,contentDocument,contentWindow,data," + "declare,form,getSVGDocument(),height,hspace,name,reportValidity(),setCustomValidity(),standby," - + "type,typeMustMatch,useMap,validationMessage,validity,vspace,width,willValidate", + + "type,useMap,validationMessage,validity,vspace,width,willValidate", FF60 = "align,archive,border,checkValidity(),code,codeBase,codeType,contentDocument,contentWindow,data," + "declare,form,getSVGDocument(),height,hspace,name,reportValidity(),setCustomValidity()," + "standby,type,typeMustMatch,useMap,validationMessage,validity,vspace,width,willValidate", @@ -2072,9 +2078,6 @@ public void option() throws Exception { @Alerts(DEFAULT = "checkValidity(),defaultValue,form,htmlFor,labels,name,reportValidity(),setCustomValidity(),type," + "validationMessage,validity,value," + "willValidate", - FF52 = "checkValidity(),defaultValue,form,htmlFor,name,reportValidity(),setCustomValidity()," - + "type,validationMessage,validity,value," - + "willValidate", IE = "-") @NotYetImplemented({CHROME, FF}) public void output() throws Exception { @@ -2135,7 +2138,6 @@ public void pre() throws Exception { */ @Test @Alerts(DEFAULT = "labels,max,position,value", - FF52 = "max,position,value", IE = "form,max,position,value") @NotYetImplemented public void progress() throws Exception { @@ -2215,7 +2217,8 @@ public void samp() throws Exception { + "integrity,noModule,referrerPolicy,src,text,type", FF60 = "async,charset,crossOrigin,defer,event,htmlFor," + "integrity,noModule,src,text,type", - FF52 = "async,charset,crossOrigin,defer,event,htmlFor,integrity,src,text,type", + FF68 = "async,charset,crossOrigin,defer,event,htmlFor," + + "integrity,noModule,referrerPolicy,src,text,type", IE = "async,charset,defer,event,htmlFor,src,text,type") @NotYetImplemented public void script() throws Exception { @@ -2239,12 +2242,12 @@ public void section() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(CHROME = "add(),autocomplete,autofocus,checkValidity()," + @Alerts(CHROME = "add(),autocomplete,checkValidity()," + "disabled,form,item(),labels,length,multiple,name,namedItem()," + "options,reportValidity(),required,selectedIndex,selectedOptions,setCustomValidity(),size,type," + "validationMessage,validity,value," + "willValidate", - FF52 = "add(),autofocus,checkValidity(),disabled,form,item(),length,multiple,name," + FF68 = "add(),autocomplete,autofocus,checkValidity(),disabled,form,item(),labels,length,multiple,name," + "namedItem(),options,reportValidity(),required,selectedIndex,selectedOptions,setCustomValidity()," + "size,type,validationMessage,validity,value," + "willValidate", @@ -2327,7 +2330,6 @@ public void strong() throws Exception { */ @Test @Alerts(DEFAULT = "disabled,media,sheet,type", - FF52 = "disabled,media,scoped,sheet,type", IE = "media,sheet,type") public void style() throws Exception { test("style"); @@ -2486,12 +2488,13 @@ public void tr() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(CHROME = "autocomplete,autofocus,checkValidity(),cols,defaultValue,dirName,disabled,form,labels," + @Alerts(CHROME = "autocomplete,checkValidity(),cols,defaultValue,dirName,disabled,form,labels," + "maxLength,minLength,name,placeholder,readOnly,reportValidity(),required,rows,select()," + "selectionDirection,selectionEnd,selectionStart,setCustomValidity(),setRangeText()," + "setSelectionRange(),textLength,type,validationMessage,validity,value,willValidate," + "wrap", - FF52 = "autofocus,checkValidity(),cols,defaultValue,disabled,form,maxLength,minLength,name,placeholder," + FF68 = "autocomplete,autofocus,checkValidity(),cols,defaultValue,disabled,form," + + "labels,maxLength,minLength,name,placeholder," + "readOnly,reportValidity(),required,rows,select(),selectionDirection,selectionEnd," + "selectionStart,setCustomValidity(),setRangeText(),setSelectionRange()," + "textLength,type,validationMessage,validity,value,willValidate,wrap", @@ -2628,7 +2631,7 @@ public void var() throws Exception { + "HAVE_FUTURE_DATA,HAVE_METADATA,HAVE_NOTHING,height,load(),loop,mediaKeys,muted,NETWORK_EMPTY," + "NETWORK_IDLE,NETWORK_LOADING,NETWORK_NO_SOURCE,networkState,onencrypted," + "onenterpictureinpicture,onleavepictureinpicture," - + "onwaitingforkey,pause(),paused,play(),playbackRate,played," + + "onwaitingforkey,pause(),paused,play(),playbackRate,played,playsInline," + "poster,preload,readyState,remote,requestPictureInPicture()," + "seekable,seeking,setMediaKeys(),setSinkId(),sinkId,src,srcObject," + "textTracks,videoHeight,videoWidth," @@ -2637,17 +2640,17 @@ public void var() throws Exception { + "webkitEnterFullScreen(),webkitEnterFullscreen()," + "webkitExitFullScreen(),webkitExitFullscreen()," + "webkitSupportsFullscreen,webkitVideoDecodedByteCount,width", - FF52 = "addTextTrack(),autoplay,buffered,canPlayType(),controls,crossOrigin,currentSrc,currentTime," + FF68 = "addTextTrack(),autoplay,buffered,canPlayType(),controls,crossOrigin,currentSrc,currentTime," + "defaultMuted,defaultPlaybackRate,duration,ended,error,fastSeek(),getVideoPlaybackQuality()," + "HAVE_CURRENT_DATA," + "HAVE_ENOUGH_DATA,HAVE_FUTURE_DATA,HAVE_METADATA,HAVE_NOTHING,height,load(),loop,mediaKeys," + "mozAudioCaptured," - + "mozAutoplayEnabled,mozCaptureStream(),mozCaptureStreamUntilEnded()," + + "mozCaptureStream(),mozCaptureStreamUntilEnded()," + "mozDecodedFrames,mozFragmentEnd,mozFrameDelay,mozGetMetadata(),mozHasAudio,mozPaintedFrames," - + "mozParsedFrames,mozPresentedFrames,mozPreservesPitch,mozSrcObject,muted,NETWORK_EMPTY," + + "mozParsedFrames,mozPresentedFrames,mozPreservesPitch,muted,NETWORK_EMPTY," + "NETWORK_IDLE,NETWORK_LOADING,NETWORK_NO_SOURCE,networkState,onencrypted," + "onwaitingforkey,pause(),paused,play(),playbackRate," - + "played,poster,preload,readyState,seekable,seeking,setMediaKeys()," + + "played,poster,preload,readyState,seekable,seeking,seekToNextFrame(),setMediaKeys()," + "src,srcObject,textTracks,videoHeight,videoWidth,volume," + "width", FF60 = "addTextTrack(),autoplay,buffered,canPlayType(),controls,crossOrigin,currentSrc,currentTime," @@ -2704,13 +2707,14 @@ public void xmp() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(FF52 = "accept,align,alt,autocomplete,autofocus,checked,checkValidity(),defaultChecked,defaultValue," + @Alerts(FF68 = "accept,align,alt,autocomplete,autofocus,checked,checkValidity(),defaultChecked,defaultValue," + "disabled,files,form,formAction,formEnctype,formMethod,formNoValidate,formTarget,height," - + "indeterminate,list,max,maxLength,min,minLength,mozIsTextField(),multiple,name," + + "indeterminate,labels,list,max,maxLength,min,minLength,mozIsTextField(),multiple,name," + "pattern,placeholder,readOnly,reportValidity(),required," + "select(),selectionDirection,selectionEnd,selectionStart,setCustomValidity()," + "setRangeText(),setSelectionRange(),size,src,step,stepDown(),stepUp(),textLength,type,useMap," - + "validationMessage,validity,value,valueAsNumber,webkitdirectory,webkitEntries,width,willValidate", + + "validationMessage,validity,value,valueAsDate,valueAsNumber,webkitdirectory,webkitEntries," + + "width,willValidate", FF60 = "accept,align,alt,autocomplete,autofocus,checked,checkValidity(),defaultChecked,defaultValue," + "disabled,files,form,formAction,formEnctype,formMethod,formNoValidate,formTarget,height," + "indeterminate,labels,list,max,maxLength,min,minLength,mozIsTextField(),multiple,name," @@ -2725,7 +2729,7 @@ public void xmp() throws Exception { + "min,multiple,name,pattern,placeholder,readOnly,required,select(),selectionEnd,selectionStart," + "setCustomValidity(),setSelectionRange(),size,src,start,status,step,stepDown(),stepUp(),type," + "useMap,validationMessage,validity,value,valueAsNumber,vrml,vspace,width,willValidate", - CHROME = "accept,align,alt,autocomplete,autofocus,checked,checkValidity()," + CHROME = "accept,align,alt,autocomplete,checked,checkValidity()," + "defaultChecked,defaultValue," + "dirName,disabled,files,form,formAction,formEnctype,formMethod,formNoValidate,formTarget,height," + "incremental,indeterminate,labels,list,max,maxLength,min,minLength,multiple,name,pattern," @@ -2797,7 +2801,7 @@ public void template() throws Exception { + "DOM_KEY_LOCATION_STANDARD,getModifierState(),initKeyboardEvent(),isComposing," + "key,keyCode,location,metaKey,repeat," + "shiftKey", - FF52 = "altKey,charCode,code,ctrlKey,DOM_KEY_LOCATION_LEFT,DOM_KEY_LOCATION_NUMPAD," + FF68 = "altKey,charCode,code,ctrlKey,DOM_KEY_LOCATION_LEFT,DOM_KEY_LOCATION_NUMPAD," + "DOM_KEY_LOCATION_RIGHT,DOM_KEY_LOCATION_STANDARD,DOM_VK_0,DOM_VK_1,DOM_VK_2,DOM_VK_3,DOM_VK_4," + "DOM_VK_5,DOM_VK_6,DOM_VK_7,DOM_VK_8,DOM_VK_9,DOM_VK_A,DOM_VK_ACCEPT,DOM_VK_ADD,DOM_VK_ALT," + "DOM_VK_ALTGR,DOM_VK_AMPERSAND,DOM_VK_ASTERISK,DOM_VK_AT,DOM_VK_ATTN,DOM_VK_B,DOM_VK_BACK_QUOTE," @@ -2807,28 +2811,29 @@ public void template() throws Exception { + "DOM_VK_DECIMAL,DOM_VK_DELETE,DOM_VK_DIVIDE,DOM_VK_DOLLAR,DOM_VK_DOUBLE_QUOTE,DOM_VK_DOWN," + "DOM_VK_E,DOM_VK_EISU,DOM_VK_END,DOM_VK_EQUALS,DOM_VK_EREOF,DOM_VK_ESCAPE,DOM_VK_EXCLAMATION," + "DOM_VK_EXECUTE,DOM_VK_EXSEL,DOM_VK_F,DOM_VK_F1,DOM_VK_F10,DOM_VK_F11,DOM_VK_F12,DOM_VK_F13," - + "DOM_VK_F14,DOM_VK_F15,DOM_VK_F16,DOM_VK_F17,DOM_VK_F18,DOM_VK_F19,DOM_VK_F2,DOM_VK_F20," - + "DOM_VK_F21,DOM_VK_F22,DOM_VK_F23,DOM_VK_F24,DOM_VK_F3,DOM_VK_F4,DOM_VK_F5,DOM_VK_F6,DOM_VK_F7," - + "DOM_VK_F8,DOM_VK_F9,DOM_VK_FINAL,DOM_VK_G,DOM_VK_GREATER_THAN,DOM_VK_H,DOM_VK_HANGUL," - + "DOM_VK_HANJA,DOM_VK_HASH,DOM_VK_HELP,DOM_VK_HOME,DOM_VK_HYPHEN_MINUS,DOM_VK_I,DOM_VK_INSERT," - + "DOM_VK_J,DOM_VK_JUNJA,DOM_VK_K,DOM_VK_KANA,DOM_VK_KANJI,DOM_VK_L,DOM_VK_LEFT,DOM_VK_LESS_THAN," - + "DOM_VK_M,DOM_VK_META,DOM_VK_MODECHANGE,DOM_VK_MULTIPLY,DOM_VK_N,DOM_VK_NONCONVERT," - + "DOM_VK_NUM_LOCK,DOM_VK_NUMPAD0,DOM_VK_NUMPAD1,DOM_VK_NUMPAD2,DOM_VK_NUMPAD3,DOM_VK_NUMPAD4," - + "DOM_VK_NUMPAD5,DOM_VK_NUMPAD6,DOM_VK_NUMPAD7,DOM_VK_NUMPAD8,DOM_VK_NUMPAD9,DOM_VK_O," - + "DOM_VK_OPEN_BRACKET,DOM_VK_OPEN_CURLY_BRACKET,DOM_VK_OPEN_PAREN,DOM_VK_P,DOM_VK_PA1," - + "DOM_VK_PAGE_DOWN,DOM_VK_PAGE_UP,DOM_VK_PAUSE,DOM_VK_PERCENT,DOM_VK_PERIOD,DOM_VK_PIPE," - + "DOM_VK_PLAY,DOM_VK_PLUS,DOM_VK_PRINT,DOM_VK_PRINTSCREEN,DOM_VK_Q,DOM_VK_QUESTION_MARK," - + "DOM_VK_QUOTE,DOM_VK_R,DOM_VK_RETURN,DOM_VK_RIGHT,DOM_VK_S,DOM_VK_SCROLL_LOCK,DOM_VK_SELECT," - + "DOM_VK_SEMICOLON,DOM_VK_SEPARATOR,DOM_VK_SHIFT,DOM_VK_SLASH,DOM_VK_SLEEP,DOM_VK_SPACE," - + "DOM_VK_SUBTRACT,DOM_VK_T,DOM_VK_TAB,DOM_VK_TILDE,DOM_VK_U,DOM_VK_UNDERSCORE,DOM_VK_UP,DOM_VK_V," - + "DOM_VK_VOLUME_DOWN,DOM_VK_VOLUME_MUTE,DOM_VK_VOLUME_UP,DOM_VK_W,DOM_VK_WIN,DOM_VK_WIN_ICO_00," - + "DOM_VK_WIN_ICO_CLEAR,DOM_VK_WIN_ICO_HELP,DOM_VK_WIN_OEM_ATTN,DOM_VK_WIN_OEM_AUTO," - + "DOM_VK_WIN_OEM_BACKTAB,DOM_VK_WIN_OEM_CLEAR,DOM_VK_WIN_OEM_COPY,DOM_VK_WIN_OEM_CUSEL," - + "DOM_VK_WIN_OEM_ENLW,DOM_VK_WIN_OEM_FINISH,DOM_VK_WIN_OEM_FJ_JISHO,DOM_VK_WIN_OEM_FJ_LOYA," - + "DOM_VK_WIN_OEM_FJ_MASSHOU,DOM_VK_WIN_OEM_FJ_ROYA,DOM_VK_WIN_OEM_FJ_TOUROKU,DOM_VK_WIN_OEM_JUMP," - + "DOM_VK_WIN_OEM_PA1,DOM_VK_WIN_OEM_PA2,DOM_VK_WIN_OEM_PA3,DOM_VK_WIN_OEM_RESET," - + "DOM_VK_WIN_OEM_WSCTRL,DOM_VK_X,DOM_VK_Y,DOM_VK_Z,DOM_VK_ZOOM,getModifierState(),initKeyEvent()," - + "isComposing,key,keyCode,location,metaKey,repeat,shiftKey", + + "DOM_VK_F14,DOM_VK_F15,DOM_VK_F16,DOM_VK_F17,DOM_VK_F18,DOM_VK_F19,DOM_VK_F2,DOM_VK_F20,DOM_VK_F21," + + "DOM_VK_F22,DOM_VK_F23,DOM_VK_F24,DOM_VK_F3,DOM_VK_F4,DOM_VK_F5,DOM_VK_F6,DOM_VK_F7,DOM_VK_F8," + + "DOM_VK_F9,DOM_VK_FINAL,DOM_VK_G,DOM_VK_GREATER_THAN,DOM_VK_H,DOM_VK_HANGUL,DOM_VK_HANJA," + + "DOM_VK_HASH,DOM_VK_HELP,DOM_VK_HOME,DOM_VK_HYPHEN_MINUS,DOM_VK_I,DOM_VK_INSERT,DOM_VK_J," + + "DOM_VK_JUNJA,DOM_VK_K,DOM_VK_KANA,DOM_VK_KANJI,DOM_VK_L,DOM_VK_LEFT,DOM_VK_LESS_THAN,DOM_VK_M," + + "DOM_VK_META,DOM_VK_MODECHANGE,DOM_VK_MULTIPLY,DOM_VK_N,DOM_VK_NONCONVERT,DOM_VK_NUM_LOCK," + + "DOM_VK_NUMPAD0,DOM_VK_NUMPAD1,DOM_VK_NUMPAD2,DOM_VK_NUMPAD3,DOM_VK_NUMPAD4,DOM_VK_NUMPAD5," + + "DOM_VK_NUMPAD6,DOM_VK_NUMPAD7,DOM_VK_NUMPAD8,DOM_VK_NUMPAD9,DOM_VK_O,DOM_VK_OPEN_BRACKET," + + "DOM_VK_OPEN_CURLY_BRACKET,DOM_VK_OPEN_PAREN,DOM_VK_P,DOM_VK_PA1,DOM_VK_PAGE_DOWN,DOM_VK_PAGE_UP," + + "DOM_VK_PAUSE,DOM_VK_PERCENT,DOM_VK_PERIOD,DOM_VK_PIPE,DOM_VK_PLAY,DOM_VK_PLUS,DOM_VK_PRINT," + + "DOM_VK_PRINTSCREEN,DOM_VK_PROCESSKEY,DOM_VK_Q,DOM_VK_QUESTION_MARK,DOM_VK_QUOTE,DOM_VK_R," + + "DOM_VK_RETURN,DOM_VK_RIGHT,DOM_VK_S,DOM_VK_SCROLL_LOCK,DOM_VK_SELECT,DOM_VK_SEMICOLON," + + "DOM_VK_SEPARATOR,DOM_VK_SHIFT,DOM_VK_SLASH,DOM_VK_SLEEP,DOM_VK_SPACE,DOM_VK_SUBTRACT,DOM_VK_T," + + "DOM_VK_TAB,DOM_VK_TILDE,DOM_VK_U,DOM_VK_UNDERSCORE,DOM_VK_UP,DOM_VK_V,DOM_VK_VOLUME_DOWN," + + "DOM_VK_VOLUME_MUTE,DOM_VK_VOLUME_UP,DOM_VK_W,DOM_VK_WIN,DOM_VK_WIN_ICO_00,DOM_VK_WIN_ICO_CLEAR," + + "DOM_VK_WIN_ICO_HELP,DOM_VK_WIN_OEM_ATTN,DOM_VK_WIN_OEM_AUTO,DOM_VK_WIN_OEM_BACKTAB," + + "DOM_VK_WIN_OEM_CLEAR,DOM_VK_WIN_OEM_COPY,DOM_VK_WIN_OEM_CUSEL,DOM_VK_WIN_OEM_ENLW," + + "DOM_VK_WIN_OEM_FINISH,DOM_VK_WIN_OEM_FJ_JISHO,DOM_VK_WIN_OEM_FJ_LOYA,DOM_VK_WIN_OEM_FJ_MASSHOU," + + "DOM_VK_WIN_OEM_FJ_ROYA,DOM_VK_WIN_OEM_FJ_TOUROKU,DOM_VK_WIN_OEM_JUMP,DOM_VK_WIN_OEM_PA1," + + "DOM_VK_WIN_OEM_PA2,DOM_VK_WIN_OEM_PA3,DOM_VK_WIN_OEM_RESET,DOM_VK_WIN_OEM_WSCTRL,DOM_VK_X," + + "DOM_VK_Y,DOM_VK_Z,DOM_VK_ZOOM," + + "getModifierState(),initKeyboardEvent(),initKeyEvent(),isComposing," + + "key,keyCode,location,metaKey,repeat,shiftKey", FF60 = "altKey,charCode,code,ctrlKey,DOM_KEY_LOCATION_LEFT,DOM_KEY_LOCATION_NUMPAD," + "DOM_KEY_LOCATION_RIGHT,DOM_KEY_LOCATION_STANDARD,DOM_VK_0,DOM_VK_1,DOM_VK_2,DOM_VK_3,DOM_VK_4," + "DOM_VK_5,DOM_VK_6,DOM_VK_7,DOM_VK_8,DOM_VK_9,DOM_VK_A,DOM_VK_ACCEPT,DOM_VK_ADD,DOM_VK_ALT," @@ -2877,7 +2882,7 @@ public void keyboardEvent() throws Exception { */ @Test @Alerts(CHROME = "detail,initUIEvent(),sourceCapabilities,view,which", - FF52 = "detail,initUIEvent(),isChar,layerX,layerY,pageX,pageY,rangeOffset,rangeParent," + FF68 = "detail,initUIEvent(),layerX,layerY,pageX,pageY,rangeOffset,rangeParent," + "SCROLL_PAGE_DOWN,SCROLL_PAGE_UP,view,which", FF60 = "detail,initUIEvent(),layerX,layerY,pageX,pageY,rangeOffset,rangeParent," + "SCROLL_PAGE_DOWN,SCROLL_PAGE_UP,view,which", @@ -2894,7 +2899,7 @@ public void uiEvent() throws Exception { */ @Test @Alerts(CHROME = "dataTransfer", - FF52 = "dataTransfer,initDragEvent()", + FF68 = "dataTransfer,initDragEvent()", FF60 = "dataTransfer,initDragEvent()", IE = "dataTransfer,initDragEvent(),msConvertURL()") @NotYetImplemented @@ -2908,13 +2913,13 @@ public void dragEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(CHROME = "getCoalescedEvents(),height,isPrimary,pointerId,pointerType,pressure," + @Alerts(CHROME = "getCoalescedEvents(),getPredictedEvents(),height," + + "isPrimary,pointerId,pointerType,pressure," + "tangentialPressure,tiltX,tiltY,twist,width", - FF52 = "exception", - FF60 = "getCoalescedEvents(),height,isPrimary,pointerId,pointerType,pressure," + FF = "getCoalescedEvents(),height,isPrimary,pointerId,pointerType,pressure," + "tangentialPressure,tiltX,tiltY,twist,width", IE = "exception") - @NotYetImplemented({CHROME, FF60}) + @NotYetImplemented({CHROME, FF}) public void pointerEvent() throws Exception { testString("new PointerEvent('click'), document.createEvent('MouseEvent')"); } @@ -2926,7 +2931,7 @@ public void pointerEvent() throws Exception { */ @Test @Alerts(CHROME = "exception", - FF52 = "exception", + FF68 = "exception", FF60 = "exception", IE = "height,hwTimestamp,initPointerEvent(),isPrimary,pointerId," + "pointerType,pressure,rotation,tiltX,tiltY,width") @@ -2943,7 +2948,7 @@ public void pointerEvent2() throws Exception { @Test @Alerts(CHROME = "deltaMode,deltaX,deltaY,deltaZ,DOM_DELTA_LINE,DOM_DELTA_PAGE," + "DOM_DELTA_PIXEL,wheelDelta,wheelDeltaX,wheelDeltaY", - FF52 = "exception", + FF68 = "exception", FF60 = "exception", IE = "deltaMode,deltaX,deltaY,deltaZ,DOM_DELTA_LINE,DOM_DELTA_PAGE,DOM_DELTA_PIXEL,initWheelEvent()") @NotYetImplemented({CHROME, IE}) @@ -2960,10 +2965,10 @@ public void wheelEvent() throws Exception { @Alerts(CHROME = "altKey,button,buttons,clientX,clientY,ctrlKey,fromElement,getModifierState()," + "initMouseEvent(),layerX,layerY,metaKey,movementX,movementY,offsetX,offsetY," + "pageX,pageY,relatedTarget,screenX,screenY,shiftKey,toElement,x,y", - FF52 = "altKey,button,buttons,clientX,clientY,ctrlKey,getModifierState(),initMouseEvent()," + FF68 = "altKey,button,buttons,clientX,clientY,ctrlKey,getModifierState(),initMouseEvent()," + "initNSMouseEvent(),metaKey,movementX,movementY,MOZ_SOURCE_CURSOR,MOZ_SOURCE_ERASER," + "MOZ_SOURCE_KEYBOARD,MOZ_SOURCE_MOUSE,MOZ_SOURCE_PEN,MOZ_SOURCE_TOUCH,MOZ_SOURCE_UNKNOWN," - + "mozInputSource,mozPressure,offsetX,offsetY,region,relatedTarget,screenX,screenY,shiftKey", + + "mozInputSource,mozPressure,offsetX,offsetY,region,relatedTarget,screenX,screenY,shiftKey,x,y", FF60 = "altKey,button,buttons,clientX,clientY,ctrlKey,getModifierState(),initMouseEvent()," + "initNSMouseEvent(),metaKey,movementX,movementY,MOZ_SOURCE_CURSOR,MOZ_SOURCE_ERASER," + "MOZ_SOURCE_KEYBOARD,MOZ_SOURCE_MOUSE,MOZ_SOURCE_PEN,MOZ_SOURCE_TOUCH,MOZ_SOURCE_UNKNOWN," @@ -2984,7 +2989,7 @@ public void mouseEvent() throws Exception { @Test @Alerts(CHROME = "data,initCompositionEvent()", FF60 = "data,initCompositionEvent(),locale", - FF52 = "data,initCompositionEvent(),locale", + FF68 = "data,initCompositionEvent(),locale", IE = "data,initCompositionEvent(),locale") @NotYetImplemented public void compositionEvent() throws Exception { @@ -2998,10 +3003,10 @@ public void compositionEvent() throws Exception { */ @Test @Alerts(CHROME = "relatedTarget", - FF52 = "exception", + FF68 = "relatedTarget", FF60 = "relatedTarget", IE = "initFocusEvent(),relatedTarget") - @NotYetImplemented({CHROME, FF60, IE}) + @NotYetImplemented({CHROME, FF, IE}) public void focusEvent() throws Exception { testString("document.createEvent('FocusEvent'), document.createEvent('UIEvent')"); } @@ -3013,7 +3018,7 @@ public void focusEvent() throws Exception { */ @Test @Alerts(CHROME = "data,dataTransfer,getTargetRanges(),inputType,isComposing", - FF52 = "isComposing", + FF68 = "data,dataTransfer,inputType,isComposing", FF60 = "isComposing", IE = "exception") @NotYetImplemented({CHROME, FF}) @@ -3028,7 +3033,7 @@ public void inputEvent() throws Exception { */ @Test @Alerts(CHROME = "exception", - FF52 = "exception", + FF68 = "exception", FF60 = "exception", IE = "altKey,button,buttons,clientX,clientY,ctrlKey,fromElement,getModifierState(),initMouseEvent()," + "initMouseWheelEvent(),layerX,layerY,metaKey,offsetX,offsetY,pageX,pageY,relatedTarget," @@ -3044,11 +3049,7 @@ public void mouseWheelEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(CHROME = "exception", - FF52 = "newScale,newTranslate,previousScale,previousTranslate", - FF60 = "exception", - IE = "exception") - @NotYetImplemented(FF52) + @Alerts("exception") public void svgZoomEvent() throws Exception { testString("document.createEvent('SVGZoomEvent'), document.createEvent('UIEvent')"); } @@ -3060,7 +3061,7 @@ public void svgZoomEvent() throws Exception { */ @Test @Alerts(CHROME = "data,initTextEvent()", - FF52 = "data,initCompositionEvent(),locale", + FF68 = "data,initCompositionEvent(),locale", FF60 = "data,initCompositionEvent(),locale", IE = "data,DOM_INPUT_METHOD_DROP,DOM_INPUT_METHOD_HANDWRITING,DOM_INPUT_METHOD_IME," + "DOM_INPUT_METHOD_KEYBOARD,DOM_INPUT_METHOD_MULTIMODAL,DOM_INPUT_METHOD_OPTION," @@ -3078,7 +3079,7 @@ public void textEvent() throws Exception { */ @Test @Alerts(CHROME = "altKey,changedTouches,ctrlKey,metaKey,shiftKey,targetTouches,touches", - FF52 = "exception", + FF68 = "exception", FF60 = "exception", IE = "exception") @NotYetImplemented(CHROME) @@ -3093,8 +3094,9 @@ public void touchEvent2() throws Exception { */ @Test @Alerts(DEFAULT = "-", - CHROME = "assignedElements(),assignedNodes(),name") - @NotYetImplemented(CHROME) + CHROME = "assignedElements(),assignedNodes(),name", + FF68 = "assignedElements(),assignedNodes(),name") + @NotYetImplemented({CHROME, FF68}) public void slot() throws Exception { test("slot"); } @@ -3106,12 +3108,9 @@ public void slot() throws Exception { */ @Test @Alerts(DEFAULT = "-", - FF52 = "alinkColor,all,anchors,applets,bgColor,body,captureEvents(),clear(),close(),cookie,designMode," - + "domain," - + "embeds,execCommand(),fgColor,forms,getElementsByName(),getSelection(),head,images," - + "linkColor,links," - + "open(),plugins,queryCommandEnabled(),queryCommandIndeterm(),queryCommandState()," - + "queryCommandSupported(),queryCommandValue(),releaseEvents(),scripts,vlinkColor,write(),writeln()", + FF68 = "alinkColor,all,bgColor,captureEvents(),clear(),close(),designMode,domain,execCommand(),fgColor," + + "linkColor,open(),queryCommandEnabled(),queryCommandIndeterm(),queryCommandState()," + + "queryCommandSupported(),queryCommandValue(),releaseEvents(),vlinkColor,write(),writeln()", FF60 = "alinkColor,all,anchors,applets,bgColor,captureEvents(),clear(),close(),cookie,designMode," + "domain,embeds,execCommand(),fgColor,forms,head,images," + "linkColor,links," @@ -3136,24 +3135,27 @@ public void htmlDocument() throws Exception { + "createProcessingInstruction(),createRange(),createTextNode(),createTreeWalker(),currentScript," + "defaultView,designMode,dir,doctype,documentElement,documentURI,domain,elementFromPoint()," + "elementsFromPoint(),embeds,evaluate(),execCommand()," - + "exitFullscreen(),exitPictureInPicture(),exitPointerLock()," + + "exitFullscreen(),exitPictureInPicture(),exitPointerLock(),featurePolicy," + "fgColor,firstElementChild,fonts,forms,fullscreen,fullscreenElement,fullscreenEnabled," + "getElementById(),getElementsByClassName(),getElementsByName(),getElementsByTagName()," + "getElementsByTagNameNS(),getSelection(),hasFocus(),head,hidden,images,implementation,importNode()," + "inputEncoding,lastElementChild,lastModified," - + "linkColor,links,location,onabort,onauxclick,onbeforecopy," + + "linkColor,links,location,onabort,onanimationend,onanimationiteration,onanimationstart," + + "onauxclick,onbeforecopy," + "onbeforecut,onbeforepaste,onblur,oncancel,oncanplay,oncanplaythrough,onchange,onclick,onclose," + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragleave," - + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onfreeze," - + "onfullscreenchange,onfullscreenerror," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror," + + "onfocus,onformdata,onfreeze,onfullscreenchange,onfullscreenerror," + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove," + "onmouseout,onmouseover,onmouseup,onmousewheel,onpaste,onpause,onplay,onplaying,onpointercancel," + "onpointerdown,onpointerenter,onpointerleave,onpointerlockchange,onpointerlockerror,onpointermove," - + "onpointerout,onpointerover,onpointerup,onprogress,onratechange,onreadystatechange,onreset,onresize," - + "onresume,onscroll,onsearch,onseeked,onseeking,onselect,onselectionchange,onselectstart,onstalled," - + "onsubmit,onsuspend,ontimeupdate,ontoggle,onvisibilitychange,onvolumechange,onwaiting," - + "onwebkitfullscreenchange," + + "onpointerout,onpointerover,onpointerrawupdate,onpointerup," + + "onprogress,onratechange,onreadystatechange,onreset,onresize," + + "onresume,onscroll,onsearch,onsecuritypolicyviolation,onseeked,onseeking,onselect,onselectionchange," + + "onselectstart,onstalled," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvisibilitychange," + + "onvolumechange,onwaiting,onwebkitfullscreenchange," + "onwebkitfullscreenerror,onwheel,open(),pictureInPictureElement,pictureInPictureEnabled," + "plugins,pointerLockElement," + "prepend(),queryCommandEnabled(),queryCommandIndeterm(),queryCommandState(),queryCommandSupported()," @@ -3164,31 +3166,35 @@ public void htmlDocument() throws Exception { + "webkitCancelFullScreen(),webkitCurrentFullScreenElement,webkitExitFullscreen()," + "webkitFullscreenElement,webkitFullscreenEnabled,webkitHidden,webkitIsFullScreen," + "webkitVisibilityState,write(),writeln(),xmlEncoding,xmlStandalone,xmlVersion", - FF52 = "activeElement,adoptNode(),append(),async,caretPositionFromPoint(),characterSet,charset," - + "childElementCount,children,compatMode,contentType,createAttribute(),createAttributeNS()," - + "createCDATASection(),createComment(),createDocumentFragment(),createElement()," - + "createElementNS(),createEvent(),createExpression(),createNodeIterator(),createNSResolver()," - + "createProcessingInstruction(),createRange(),createTextNode(),createTreeWalker()," + FF68 = "activeElement,adoptNode(),anchors,append(),applets,async,body,caretPositionFromPoint()," + + "characterSet,charset,childElementCount,children,compatMode,contentType,cookie,createAttribute()," + + "createAttributeNS(),createCDATASection(),createComment(),createDocumentFragment()," + + "createElement(),createElementNS(),createEvent(),createExpression(),createNodeIterator()," + + "createNSResolver(),createProcessingInstruction(),createRange(),createTextNode(),createTreeWalker()," + "currentScript,defaultView,dir,doctype,documentElement,documentURI,elementFromPoint()," - + "elementsFromPoint(),enableStyleSheetsForSet(),evaluate(),exitPointerLock()," - + "firstElementChild,fonts,getElementById(),getElementsByClassName(),getElementsByTagName()," - + "getElementsByTagNameNS(),hasFocus(),hidden,implementation,importNode(),inputEncoding," - + "lastElementChild,lastModified,lastStyleSheetSet,load(),location,mozCancelFullScreen()," - + "mozFullScreen,mozFullScreenElement,mozFullScreenEnabled,mozSetImageElement(),onabort," - + "onafterscriptexecute,onanimationend,onanimationiteration,onanimationstart," - + "onbeforescriptexecute,onblur,oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu," - + "oncopy,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit,ondragleave,ondragover," - + "ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,oninput,oninvalid," - + "onkeydown,onkeypress,onkeyup,onload,onloadeddata,onloadedmetadata,onloadend,onloadstart," - + "onmousedown,onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup," - + "onmozfullscreenchange,onmozfullscreenerror,onpaste,onpause,onplay,onplaying," - + "onpointerlockchange,onpointerlockerror,onprogress,onratechange,onreadystatechange," - + "onreset,onresize,onscroll,onseeked,onseeking,onselect,onselectionchange,onselectstart," - + "onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend," + + "elementsFromPoint(),embeds,enableStyleSheetsForSet(),evaluate(),exitFullscreen(),exitPointerLock()," + + "firstElementChild,fonts,forms,fullscreen,fullscreenElement,fullscreenEnabled,getElementById()," + + "getElementsByClassName(),getElementsByName(),getElementsByTagName(),getElementsByTagNameNS()," + + "getSelection(),hasFocus(),hasStorageAccess(),head,hidden,images,implementation,importNode()," + + "inputEncoding,lastElementChild,lastModified,lastStyleSheetSet,links,load(),location," + + "mozCancelFullScreen(),mozFullScreen,mozFullScreenElement,mozFullScreenEnabled,mozSetImageElement()," + + "onabort,onafterscriptexecute,onanimationcancel,onanimationend,onanimationiteration,onanimationstart," + + "onauxclick,onbeforescriptexecute,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "onfullscreenchange,onfullscreenerror,ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress," + + "onkeyup,onload,onloadeddata,onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown," + + "onmouseenter,onmouseleave,onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange," + + "onmozfullscreenerror,onpaste,onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter," + + "onpointerleave,onpointerlockchange,onpointerlockerror,onpointermove,onpointerout,onpointerover," + + "onpointerup,onprogress,onratechange,onreadystatechange,onreset,onresize,onscroll,onseeked,onseeking," + + "onselect,onselectionchange,onselectstart,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle," + + "ontransitioncancel,ontransitionend,ontransitionrun,ontransitionstart,onvisibilitychange," + "onvolumechange,onwaiting,onwebkitanimationend,onwebkitanimationiteration,onwebkitanimationstart," - + "onwebkittransitionend,onwheel,pointerLockElement,preferredStyleSheetSet,prepend()," - + "querySelector(),querySelectorAll(),readyState,referrer,releaseCapture(),rootElement," - + "scrollingElement,selectedStyleSheetSet,styleSheets,styleSheetSets,title,URL,visibilityState", + + "onwebkittransitionend,onwheel,plugins,pointerLockElement,preferredStyleSheetSet,prepend()," + + "querySelector(),querySelectorAll(),readyState,referrer,releaseCapture(),requestStorageAccess()," + + "rootElement,scripts,scrollingElement," + + "selectedStyleSheetSet,styleSheets,styleSheetSets,title,URL,visibilityState", FF60 = "activeElement,adoptNode(),append(),async,body," + "caretPositionFromPoint(),characterSet,charset,childElementCount," + "children,compatMode,contentType,createAttribute(),createAttributeNS(),createCDATASection()," @@ -3263,32 +3269,37 @@ public void document() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(CHROME = "blur(),dataset,focus(),nonce," - + "onabort,onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + @Alerts(CHROME = "autofocus,blur(),dataset,focus(),nonce," + + "onabort,onanimationend,onanimationiteration,onanimationstart," + + "onauxclick,onblur,oncancel,oncanplay,oncanplaythrough,onchange," + "onclick,onclose,oncontextmenu,oncopy,oncuechange,oncut," + "ondblclick,ondrag,ondragend,ondragenter,ondragleave," - + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus,onformdata," + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + "onloadedmetadata,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave,onmousemove," + "onmouseout,onmouseover,onmouseup,onmousewheel,onpaste,onpause,onplay,onplaying,onpointercancel," - + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover,onpointerup," + + "onpointerdown,onpointerenter,onpointerleave,onpointermove,onpointerout,onpointerover," + + "onpointerrawupdate,onpointerup," + "onprogress,onratechange,onreset,onresize,onscroll,onseeked,onseeking,onselect," + "onselectionchange,onselectstart,onstalled," - + "onsubmit,onsuspend,ontimeupdate,ontoggle,onvolumechange,onwaiting,onwheel," + + "onsubmit,onsuspend,ontimeupdate,ontoggle,ontransitionend,onvolumechange,onwaiting,onwheel," + "ownerSVGElement,style,tabIndex," + "viewportElement", - FF52 = "blur(),dataset,focus(),onabort,onanimationend,onanimationiteration,onanimationstart,onblur," - + "oncanplay,oncanplaythrough,onchange,onclick,oncontextmenu,oncopy,oncut,ondblclick,ondrag," - + "ondragend,ondragenter,ondragexit,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," - + "onemptied,onended,onerror,onfocus,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload," - + "onloadeddata,onloadedmetadata,onloadend,onloadstart,onmousedown,onmouseenter,onmouseleave," - + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror," - + "onpaste,onpause,onplay,onplaying,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + FF68 = "blur(),dataset,focus(),onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick,onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose," + + "oncontextmenu,oncopy,oncuechange,oncut,ondblclick,ondrag,ondragend,ondragenter,ondragexit," + + "ondragleave,ondragover,ondragstart,ondrop,ondurationchange,onemptied,onended,onerror,onfocus," + + "ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress,onkeyup,onload,onloadeddata," + + "onloadedmetadata,onloadend,onloadstart,onlostpointercapture,onmousedown,onmouseenter,onmouseleave," + + "onmousemove,onmouseout,onmouseover,onmouseup,onmozfullscreenchange,onmozfullscreenerror,onpaste," + + "onpause,onplay,onplaying,onpointercancel,onpointerdown,onpointerenter,onpointerleave,onpointermove," + + "onpointerout,onpointerover,onpointerup,onprogress,onratechange,onreset,onresize,onscroll,onseeked," + "onseeking,onselect,onselectstart,onshow,onstalled,onsubmit,onsuspend,ontimeupdate,ontoggle," - + "ontransitionend,onvolumechange,onwaiting,onwebkitanimationend,onwebkitanimationiteration," - + "onwebkitanimationstart,onwebkittransitionend,ownerSVGElement,style,tabIndex,viewportElement", - FF60 = "blur(),dataset,focus()," - + "onabort,onanimationcancel,onanimationend,onanimationiteration,onanimationstart,onauxclick," + + "ontransitioncancel,ontransitionend,ontransitionrun,ontransitionstart,onvolumechange,onwaiting," + + "onwebkitanimationend,onwebkitanimationiteration,onwebkitanimationstart,onwebkittransitionend," + + "onwheel,ownerSVGElement,style,tabIndex,viewportElement", + FF60 = "blur(),dataset,focus(),onabort,onanimationcancel,onanimationend,onanimationiteration," + + "onanimationstart,onauxclick," + "onblur,oncanplay,oncanplaythrough,onchange,onclick,onclose,oncontextmenu,oncopy,oncut,ondblclick," + "ondrag,ondragend,ondragenter,ondragexit,ondragleave,ondragover,ondragstart,ondrop,ondurationchange," + "onemptied,onended,onerror,onfocus,ongotpointercapture,oninput,oninvalid,onkeydown,onkeypress," @@ -3322,17 +3333,16 @@ public void svgElement() throws Exception { + "nodeType,nodeValue,normalize(),NOTATION_NODE,ownerDocument,ownerElement,parentElement,parentNode," + "prefix,previousSibling,PROCESSING_INSTRUCTION_NODE,removeChild(),replaceChild(),specified,TEXT_NODE," + "textContent,value", - FF52 = "addEventListener(),appendChild(),ATTRIBUTE_NODE,baseURI,CDATA_SECTION_NODE,childNodes,cloneNode()," - + "COMMENT_NODE,compareDocumentPosition(),contains(),dispatchEvent(),DOCUMENT_FRAGMENT_NODE," - + "DOCUMENT_NODE,DOCUMENT_POSITION_CONTAINED_BY,DOCUMENT_POSITION_CONTAINS," - + "DOCUMENT_POSITION_DISCONNECTED,DOCUMENT_POSITION_FOLLOWING," - + "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC,DOCUMENT_POSITION_PRECEDING,DOCUMENT_TYPE_NODE," - + "ELEMENT_NODE,ENTITY_NODE,ENTITY_REFERENCE_NODE,firstChild,hasChildNodes()," - + "insertBefore(),isConnected,isDefaultNamespace(),isEqualNode(),isSameNode(),lastChild,localName," - + "lookupNamespaceURI(),lookupPrefix(),name,namespaceURI,nextSibling,nodeName,nodeType,nodeValue," - + "normalize(),NOTATION_NODE,ownerDocument,ownerElement,parentElement,parentNode,prefix," - + "previousSibling,PROCESSING_INSTRUCTION_NODE,removeChild(),removeEventListener(),replaceChild()," - + "specified,TEXT_NODE,textContent,value", + FF68 = "appendChild(),ATTRIBUTE_NODE,baseURI,CDATA_SECTION_NODE,childNodes,cloneNode(),COMMENT_NODE," + + "compareDocumentPosition(),contains(),DOCUMENT_FRAGMENT_NODE,DOCUMENT_NODE," + + "DOCUMENT_POSITION_CONTAINED_BY,DOCUMENT_POSITION_CONTAINS,DOCUMENT_POSITION_DISCONNECTED," + + "DOCUMENT_POSITION_FOLLOWING,DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC,DOCUMENT_POSITION_PRECEDING," + + "DOCUMENT_TYPE_NODE,ELEMENT_NODE,ENTITY_NODE,ENTITY_REFERENCE_NODE,firstChild,getRootNode()," + + "hasChildNodes(),insertBefore(),isConnected,isDefaultNamespace(),isEqualNode(),isSameNode()," + + "lastChild,localName,lookupNamespaceURI(),lookupPrefix(),name,namespaceURI,nextSibling,nodeName," + + "nodeType,nodeValue,normalize(),NOTATION_NODE,ownerDocument,ownerElement,parentElement," + + "parentNode,prefix,previousSibling,PROCESSING_INSTRUCTION_NODE,removeChild()," + + "replaceChild(),specified,TEXT_NODE,textContent,value", FF60 = "appendChild(),ATTRIBUTE_NODE,baseURI,CDATA_SECTION_NODE,childNodes,cloneNode()," + "COMMENT_NODE,compareDocumentPosition(),contains(),DOCUMENT_FRAGMENT_NODE," + "DOCUMENT_NODE,DOCUMENT_POSITION_CONTAINED_BY,DOCUMENT_POSITION_CONTAINS," @@ -3400,17 +3410,17 @@ public void range() throws Exception { + "nodeType,nodeValue,normalize(),NOTATION_NODE,ownerDocument,parentElement,parentNode,prepend()," + "previousSibling,PROCESSING_INSTRUCTION_NODE,querySelector(),querySelectorAll(),removeChild()," + "replaceChild(),TEXT_NODE,textContent", - FF52 = "addEventListener(),append(),appendChild(),ATTRIBUTE_NODE,baseURI,CDATA_SECTION_NODE," - + "childElementCount,childNodes,children,cloneNode(),COMMENT_NODE,compareDocumentPosition(),contains()," - + "dispatchEvent(),DOCUMENT_FRAGMENT_NODE,DOCUMENT_NODE,DOCUMENT_POSITION_CONTAINED_BY," - + "DOCUMENT_POSITION_CONTAINS,DOCUMENT_POSITION_DISCONNECTED,DOCUMENT_POSITION_FOLLOWING," + FF68 = "append(),appendChild(),ATTRIBUTE_NODE,baseURI,CDATA_SECTION_NODE,childElementCount,childNodes," + + "children,cloneNode(),COMMENT_NODE,compareDocumentPosition(),contains(),DOCUMENT_FRAGMENT_NODE," + + "DOCUMENT_NODE,DOCUMENT_POSITION_CONTAINED_BY,DOCUMENT_POSITION_CONTAINS," + + "DOCUMENT_POSITION_DISCONNECTED,DOCUMENT_POSITION_FOLLOWING," + "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC,DOCUMENT_POSITION_PRECEDING,DOCUMENT_TYPE_NODE," + "ELEMENT_NODE,ENTITY_NODE,ENTITY_REFERENCE_NODE,firstChild,firstElementChild,getElementById()," - + "hasChildNodes(),insertBefore(),isConnected,isDefaultNamespace(),isEqualNode(),isSameNode()," - + "lastChild,lastElementChild,lookupNamespaceURI(),lookupPrefix(),nextSibling,nodeName,nodeType," - + "nodeValue,normalize(),NOTATION_NODE,ownerDocument,parentElement,parentNode,prepend()," + + "getRootNode(),hasChildNodes(),insertBefore(),isConnected,isDefaultNamespace(),isEqualNode()," + + "isSameNode(),lastChild,lastElementChild,lookupNamespaceURI(),lookupPrefix(),nextSibling,nodeName," + + "nodeType,nodeValue,normalize(),NOTATION_NODE,ownerDocument,parentElement,parentNode,prepend()," + "previousSibling,PROCESSING_INSTRUCTION_NODE,querySelector(),querySelectorAll(),removeChild()," - + "removeEventListener(),replaceChild(),TEXT_NODE,textContent", + + "replaceChild(),TEXT_NODE,textContent", FF60 = "append(),appendChild(),ATTRIBUTE_NODE,baseURI,CDATA_SECTION_NODE," + "childElementCount,childNodes,children,cloneNode(),COMMENT_NODE,compareDocumentPosition(),contains()," + "DOCUMENT_FRAGMENT_NODE,DOCUMENT_NODE,DOCUMENT_POSITION_CONTAINED_BY," diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/HostClassNameTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/HostClassNameTest.java index fb005002e94..f72110051b5 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/HostClassNameTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/HostClassNameTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,7 +16,7 @@ import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF68; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import org.junit.Test; @@ -131,8 +131,9 @@ public void angle_instanced_arrays() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "exception", - FF = "function Animation() {\n [native code]\n}") + @Alerts(DEFAULT = "function Animation() {\n [native code]\n}", + CHROME = "function Animation() { [native code] }", + IE = "exception") public void animation() throws Exception { test("Animation"); } @@ -174,7 +175,7 @@ public void animationEffectTimingReadOnly() throws Exception { } /** - * Test {@link com.gargoylesoftware.htmlunit.javascript.host.event.AnimationEvent}. + * Test {@link com.gargoylesoftware.htmlunit.javascript.host.animations.AnimationEvent}. * * @throws Exception if the test fails */ @@ -190,7 +191,9 @@ public void animationEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts("exception") + @Alerts(DEFAULT = "exception", + FF68 = "function AnimationPlaybackEvent() {\n [native code]\n}") + @NotYetImplemented(FF68) public void animationPlaybackEvent() throws Exception { test("AnimationPlaybackEvent"); } @@ -461,7 +464,7 @@ public void audioProcessingEvent() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function AudioScheduledSourceNode() { [native code] }", - FF60 = "function AudioScheduledSourceNode() {\n [native code]\n}") + FF = "function AudioScheduledSourceNode() {\n [native code]\n}") public void audioScheduledSourceNode() throws Exception { test("AudioScheduledSourceNode"); } @@ -492,7 +495,7 @@ public void barProp() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function BaseAudioContext() { [native code] }", - FF60 = "function BaseAudioContext() {\n [native code]\n}") + FF = "function BaseAudioContext() {\n [native code]\n}") public void baseAudioContext() throws Exception { test("BaseAudioContext"); } @@ -1180,7 +1183,7 @@ public void coordinates() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function Credential() { [native code] }", - FF60 = "function Credential() {\n [native code]\n}") + FF = "function Credential() {\n [native code]\n}") public void credential() throws Exception { test("Credential"); } @@ -1191,7 +1194,7 @@ public void credential() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function CredentialsContainer() { [native code] }", - FF60 = "function CredentialsContainer() {\n [native code]\n}") + FF = "function CredentialsContainer() {\n [native code]\n}") public void credentialsContainer() throws Exception { test("CredentialsContainer"); } @@ -1224,7 +1227,8 @@ public void cryptoKey() throws Exception { @Test @Alerts(DEFAULT = "function CSS() { [native code] }", IE = "exception", - FF = "function CSS() {\n [native code]\n}") + FF60 = "function CSS() {\n [native code]\n}", + FF68 = "[object Object]") public void css() throws Exception { test("CSS"); } @@ -1255,9 +1259,8 @@ public void cssCharsetRule() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF52 = "[object CSSConditionRule]", CHROME = "function CSSConditionRule() { [native code] }", - FF60 = "function CSSConditionRule() {\n [native code]\n}") + FF = "function CSSConditionRule() {\n [native code]\n}") public void cssConditionRule() throws Exception { test("CSSConditionRule"); } @@ -1267,8 +1270,7 @@ public void cssConditionRule() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF52 = "[object CSSCounterStyleRule]", - FF60 = "function CSSCounterStyleRule() {\n [native code]\n}") + FF = "function CSSCounterStyleRule() {\n [native code]\n}") public void cssCounterStyleRule() throws Exception { test("CSSCounterStyleRule"); } @@ -1281,7 +1283,7 @@ public void cssCounterStyleRule() throws Exception { @Test @Alerts(DEFAULT = "[object CSSFontFaceRule]", CHROME = "function CSSFontFaceRule() { [native code] }", - FF60 = "function CSSFontFaceRule() {\n [native code]\n}") + FF = "function CSSFontFaceRule() {\n [native code]\n}") public void cssFontFaceRule() throws Exception { test("CSSFontFaceRule"); } @@ -1292,8 +1294,7 @@ public void cssFontFaceRule() throws Exception { @Test @Alerts(DEFAULT = "function CSSGroupingRule() { [native code] }", IE = "exception", - FF52 = "[object CSSGroupingRule]", - FF60 = "function CSSGroupingRule() {\n [native code]\n}") + FF = "function CSSGroupingRule() {\n [native code]\n}") public void cssGroupingRule() throws Exception { test("CSSGroupingRule"); } @@ -1306,7 +1307,7 @@ public void cssGroupingRule() throws Exception { @Test @Alerts(DEFAULT = "[object CSSImportRule]", CHROME = "function CSSImportRule() { [native code] }", - FF60 = "function CSSImportRule() {\n [native code]\n}") + FF = "function CSSImportRule() {\n [native code]\n}") public void cssImportRule() throws Exception { test("CSSImportRule"); } @@ -1317,7 +1318,7 @@ public void cssImportRule() throws Exception { @Test @Alerts(DEFAULT = "[object CSSKeyframeRule]", CHROME = "function CSSKeyframeRule() { [native code] }", - FF60 = "function CSSKeyframeRule() {\n [native code]\n}") + FF = "function CSSKeyframeRule() {\n [native code]\n}") public void cssKeyframeRule() throws Exception { test("CSSKeyframeRule"); } @@ -1327,8 +1328,7 @@ public void cssKeyframeRule() throws Exception { */ @Test @Alerts(DEFAULT = "function CSSKeyframesRule() { [native code] }", - FF52 = "[object CSSKeyframesRule]", - FF60 = "function CSSKeyframesRule() {\n [native code]\n}", + FF = "function CSSKeyframesRule() {\n [native code]\n}", IE = "[object CSSKeyframesRule]") public void cssKeyframesRule() throws Exception { test("CSSKeyframesRule"); @@ -1351,7 +1351,7 @@ public void cssMatrix() throws Exception { @Test @Alerts(DEFAULT = "[object CSSMediaRule]", CHROME = "function CSSMediaRule() { [native code] }", - FF60 = "function CSSMediaRule() {\n [native code]\n}") + FF = "function CSSMediaRule() {\n [native code]\n}") public void cssMediaRule() throws Exception { test("CSSMediaRule"); } @@ -1361,9 +1361,8 @@ public void cssMediaRule() throws Exception { */ @Test @Alerts(DEFAULT = "function CSSNamespaceRule() { [native code] }", - FF60 = "function CSSNamespaceRule() {\n [native code]\n}", - IE = "[object CSSNamespaceRule]", - FF52 = "exception") + FF = "function CSSNamespaceRule() {\n [native code]\n}", + IE = "[object CSSNamespaceRule]") public void cssNamespaceRule() throws Exception { test("CSSNamespaceRule"); } @@ -1376,7 +1375,7 @@ public void cssNamespaceRule() throws Exception { @Test @Alerts(DEFAULT = "[object CSSPageRule]", CHROME = "function CSSPageRule() { [native code] }", - FF60 = "function CSSPageRule() {\n [native code]\n}") + FF = "function CSSPageRule() {\n [native code]\n}") public void cssPageRule() throws Exception { test("CSSPageRule"); } @@ -1388,7 +1387,7 @@ public void cssPageRule() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF = "function CSSPrimitiveValue() {\n [native code]\n}") + FF60 = "function CSSPrimitiveValue() {\n [native code]\n}") public void cssPrimitiveValue() throws Exception { test("CSSPrimitiveValue"); } @@ -1401,7 +1400,7 @@ public void cssPrimitiveValue() throws Exception { @Test @Alerts(DEFAULT = "[object CSSRule]", CHROME = "function CSSRule() { [native code] }", - FF60 = "function CSSRule() {\n [native code]\n}") + FF = "function CSSRule() {\n [native code]\n}") public void cssRule() throws Exception { test("CSSRule"); } @@ -1440,10 +1439,10 @@ public void cssStyleDeclaration() throws Exception { @Test @Alerts(DEFAULT = "[object CSSStyleRule]", CHROME = "function CSSStyleRule() { [native code] }", - FF60 = "function CSSStyleRule() {\n [native code]\n}") + FF = "function CSSStyleRule() {\n [native code]\n}") @AlertsStandards(DEFAULT = "[object CSSStyleRule]", CHROME = "function CSSStyleRule() { [native code] }", - FF60 = "function CSSStyleRule() {\n [native code]\n}") + FF = "function CSSStyleRule() {\n [native code]\n}") public void cssStyleRule() throws Exception { test("CSSStyleRule"); } @@ -1467,8 +1466,7 @@ public void cssStyleSheet() throws Exception { @Test @Alerts(DEFAULT = "function CSSSupportsRule() { [native code] }", IE = "exception", - FF52 = "[object CSSSupportsRule]", - FF60 = "function CSSSupportsRule() {\n [native code]\n}") + FF = "function CSSSupportsRule() {\n [native code]\n}") public void cssSupportsRule() throws Exception { test("CSSSupportsRule"); } @@ -1489,7 +1487,7 @@ public void cssUnknownRule() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF = "function CSSValue() {\n [native code]\n}") + FF60 = "function CSSValue() {\n [native code]\n}") public void cssValue() throws Exception { test("CSSValue"); } @@ -1499,7 +1497,7 @@ public void cssValue() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF = "function CSSValueList() {\n [native code]\n}") + FF60 = "function CSSValueList() {\n [native code]\n}") public void cssValueList() throws Exception { test("CSSValueList"); } @@ -1518,7 +1516,8 @@ public void cssViewportRule() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - CHROME = "function CustomElementRegistry() { [native code] }") + CHROME = "function CustomElementRegistry() { [native code] }", + FF68 = "function CustomElementRegistry() {\n [native code]\n}") public void customElementRegistry() throws Exception { test("CustomElementRegistry"); } @@ -1683,7 +1682,7 @@ public void deviceAcceleration() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF = "function DeviceLightEvent() {\n [native code]\n}") + FF60 = "function DeviceLightEvent() {\n [native code]\n}") public void deviceLightEvent() throws Exception { test("DeviceLightEvent"); } @@ -1715,7 +1714,7 @@ public void deviceOrientationEvent() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF = "function DeviceProximityEvent() {\n [native code]\n}") + FF60 = "function DeviceProximityEvent() {\n [native code]\n}") public void deviceProximityEvent() throws Exception { test("DeviceProximityEvent"); } @@ -1892,7 +1891,7 @@ public void domConfiguration() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF = "function DOMCursor() {\n [native code]\n}") + FF60 = "function DOMCursor() {\n [native code]\n}") public void domCursor() throws Exception { test("DOMCursor"); } @@ -2074,7 +2073,6 @@ public void domRect() throws Exception { @Alerts(DEFAULT = "function DOMRectList() {\n [native code]\n}", CHROME = "function DOMRectList() { [native code] }", IE = "exception") - @NotYetImplemented({CHROME, FF}) public void domRectList() throws Exception { test("DOMRectList"); } @@ -2187,8 +2185,7 @@ public void doubleRange() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "exception", - CHROME = "function DragEvent() { [native code] }", + @Alerts(CHROME = "function DragEvent() { [native code] }", FF = "function DragEvent() {\n [native code]\n}", IE = "[object DragEvent]") public void dragEvent() throws Exception { @@ -2504,7 +2501,6 @@ public void extendableMessageEvent() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF52 = "function External() {\n [native code]\n}", CHROME = "function External() { [native code] }") public void external() throws Exception { test("External"); @@ -2873,6 +2869,7 @@ public void generatorFunction() throws Exception { */ @Test @Alerts(DEFAULT = "exception", + CHROME = "function Geolocation() { [native code] }", IE = "[object Geolocation]") public void geolocation() throws Exception { test("Geolocation"); @@ -2984,8 +2981,7 @@ public void htmlAnchorElement() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - IE = "[object HTMLAppletElement]", - FF52 = "function HTMLAppletElement() {\n [native code]\n}") + IE = "[object HTMLAppletElement]") public void htmlAppletElement() throws Exception { test("HTMLAppletElement"); } @@ -3638,7 +3634,8 @@ public void htmlMapElement() throws Exception { @Test @Alerts(DEFAULT = "function HTMLMarqueeElement() { [native code] }", IE = "[object HTMLMarqueeElement]", - FF = "exception") + FF60 = "exception", + FF68 = "function HTMLMarqueeElement() {\n [native code]\n}") public void htmlMarqueeElement() throws Exception { test("HTMLMarqueeElement"); } @@ -3950,7 +3947,8 @@ public void htmlShadowElement() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - CHROME = "function HTMLSlotElement() { [native code] }") + CHROME = "function HTMLSlotElement() { [native code] }", + FF68 = "function HTMLSlotElement() {\n [native code]\n}") public void htmlSlotElement() throws Exception { test("HTMLSlotElement"); } @@ -4474,7 +4472,7 @@ public void identityManager() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function IdleDeadline() { [native code] }", - FF60 = "function IdleDeadline() {\n [native code]\n}") + FF = "function IdleDeadline() {\n [native code]\n}") public void idleDeadline() throws Exception { test("IdleDeadline"); } @@ -4686,7 +4684,7 @@ public void internalError() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function IntersectionObserver() { [native code] }", - FF60 = "function IntersectionObserver() {\n [native code]\n}") + FF = "function IntersectionObserver() {\n [native code]\n}") public void intersectionObserver() throws Exception { test("IntersectionObserver"); } @@ -4697,7 +4695,7 @@ public void intersectionObserver() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function IntersectionObserverEntry() { [native code] }", - FF60 = "function IntersectionObserverEntry() {\n [native code]\n}") + FF = "function IntersectionObserverEntry() {\n [native code]\n}") public void intersectionObserverEntry() throws Exception { test("IntersectionObserverEntry"); } @@ -4772,8 +4770,7 @@ public void isNaN() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "exception", - FF52 = "function Iterator() {\n [native code]\n}") + @Alerts("exception") public void iterator() throws Exception { test("Iterator"); } @@ -4804,7 +4801,9 @@ public void keyboardEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts("exception") + @Alerts(DEFAULT = "exception", + CHROME = "function KeyframeEffect() { [native code] }", + FF68 = "function KeyframeEffect() {\n [native code]\n}") public void keyframeEffect() throws Exception { test("KeyframeEffect"); } @@ -4933,7 +4932,7 @@ public void localFileSystemSync() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF = "function LocalMediaStream() {\n [native code]\n}") + FF60 = "function LocalMediaStream() {\n [native code]\n}") public void localMediaStream() throws Exception { test("LocalMediaStream"); } @@ -5160,7 +5159,7 @@ public void mediaQueryList() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function MediaQueryListEvent() { [native code] }", - FF60 = "function MediaQueryListEvent() {\n [native code]\n}") + FF = "function MediaQueryListEvent() {\n [native code]\n}") public void mediaQueryListEvent() throws Exception { test("MediaQueryListEvent"); } @@ -6544,9 +6543,8 @@ public void performanceNavigation() throws Exception { */ @Test @Alerts(DEFAULT = "function PerformanceNavigationTiming() { [native code] }", - FF60 = "function PerformanceNavigationTiming() {\n [native code]\n}", - IE = "[object PerformanceNavigationTiming]", - FF52 = "exception") + FF = "function PerformanceNavigationTiming() {\n [native code]\n}", + IE = "[object PerformanceNavigationTiming]") public void performanceNavigationTiming() throws Exception { test("PerformanceNavigationTiming"); } @@ -6557,7 +6555,7 @@ public void performanceNavigationTiming() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function PerformanceObserver() { [native code] }", - FF60 = "function PerformanceObserver() {\n [native code]\n}") + FF = "function PerformanceObserver() {\n [native code]\n}") public void performanceObserver() throws Exception { test("PerformanceObserver"); } @@ -6568,7 +6566,7 @@ public void performanceObserver() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function PerformanceObserverEntryList() { [native code] }", - FF60 = "function PerformanceObserverEntryList() {\n [native code]\n}") + FF = "function PerformanceObserverEntryList() {\n [native code]\n}") public void performanceObserverEntryList() throws Exception { test("PerformanceObserverEntryList"); } @@ -6705,9 +6703,8 @@ public void point() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "exception", - CHROME = "function PointerEvent() { [native code] }", - FF60 = "function PointerEvent() {\n [native code]\n}", + @Alerts(CHROME = "function PointerEvent() { [native code] }", + FF = "function PointerEvent() {\n [native code]\n}", IE = "[object PointerEvent]") public void pointerEvent() throws Exception { test("PointerEvent"); @@ -6954,6 +6951,7 @@ public void promiseResolver() throws Exception { @Alerts(DEFAULT = "function Proxy() { [native code] }", FF = "function Proxy() {\n [native code]\n}", IE = "exception") + @NotYetImplemented({CHROME, FF}) public void proxy() throws Exception { test("Proxy"); } @@ -7073,7 +7071,8 @@ public void readableByteStream() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - CHROME = "function ReadableStream() { [native code] }") + CHROME = "function ReadableStream() { [native code] }", + FF68 = "function ReadableStream() {\n [native code]\n}") public void readableStream() throws Exception { test("ReadableStream"); } @@ -7188,8 +7187,8 @@ public void rtcConfiguration() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function RTCDataChannel() { [native code] }", - FF60 = "function RTCDataChannel() {\n [native code]\n}") - @NotYetImplemented({CHROME, FF60}) + FF = "function RTCDataChannel() {\n [native code]\n}") + @NotYetImplemented({CHROME, FF}) public void rtcDataChannel() throws Exception { test("RTCDataChannel"); } @@ -7278,7 +7277,9 @@ public void rtcPeerConnectionIceEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts("exception") + @Alerts(DEFAULT = "exception", + CHROME = "function RTCSctpTransport() { [native code] }") + @NotYetImplemented(CHROME) public void rtcSctpTransport() throws Exception { test("RTCSctpTransport"); } @@ -7354,7 +7355,8 @@ public void scriptProcessorNode() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - CHROME = "function SecurityPolicyViolationEvent() { [native code] }") + CHROME = "function SecurityPolicyViolationEvent() { [native code] }", + FF68 = "function SecurityPolicyViolationEvent() {\n [native code]\n}") public void securityPolicyViolationEvent() throws Exception { test("SecurityPolicyViolationEvent"); } @@ -7465,7 +7467,8 @@ public void settingsManager() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - CHROME = "function ShadowRoot() { [native code] }") + CHROME = "function ShadowRoot() { [native code] }", + FF68 = "function ShadowRoot() {\n [native code]\n}") public void shadowRoot() throws Exception { test("ShadowRoot"); } @@ -7760,6 +7763,15 @@ public void speechRecognitionError() throws Exception { test("SpeechRecognitionError"); } + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("exception") + public void speechRecognitionErrorEvent() throws Exception { + test("SpeechRecognitionErrorEvent"); + } + /** * @throws Exception if the test fails */ @@ -7866,8 +7878,7 @@ public void stereoPannerNode() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "exception", - FF52 = "[object StopIteration]") + @Alerts("exception") public void stopIteration() throws Exception { test("StopIteration"); } @@ -7911,7 +7922,7 @@ public void storageEvent() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function StorageManager() { [native code] }", - FF60 = "function StorageManager() {\n [native code]\n}") + FF = "function StorageManager() {\n [native code]\n}") public void storageManager() throws Exception { test("StorageManager"); } @@ -8764,7 +8775,7 @@ public void svgGElement() throws Exception { @Test @Alerts(DEFAULT = "exception", CHROME = "function SVGGeometryElement() { [native code] }", - FF60 = "function SVGGeometryElement() {\n [native code]\n}") + FF = "function SVGGeometryElement() {\n [native code]\n}") public void svgGeometryElement() throws Exception { test("SVGGeometryElement"); } @@ -8983,11 +8994,8 @@ public void svgPathElement() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSeg() { [native code] }", - FF52 = "function SVGPathSeg() {\n [native code]\n}", - IE = "[object SVGPathSeg]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSeg]") public void svgPathSeg() throws Exception { test("SVGPathSeg"); } @@ -8996,10 +9004,8 @@ public void svgPathSeg() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegArcAbs() {\n [native code]\n}", - IE = "[object SVGPathSegArcAbs]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegArcAbs]") public void svgPathSegArcAbs() throws Exception { test("SVGPathSegArcAbs"); } @@ -9008,10 +9014,8 @@ public void svgPathSegArcAbs() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegArcRel() {\n [native code]\n}", - IE = "[object SVGPathSegArcRel]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegArcRel]") public void svgPathSegArcRel() throws Exception { test("SVGPathSegArcRel"); } @@ -9020,10 +9024,8 @@ public void svgPathSegArcRel() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegClosePath() {\n [native code]\n}", - IE = "[object SVGPathSegClosePath]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegClosePath]") public void svgPathSegClosePath() throws Exception { test("SVGPathSegClosePath"); } @@ -9032,10 +9034,8 @@ public void svgPathSegClosePath() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegCurvetoCubicAbs() {\n [native code]\n}", - IE = "[object SVGPathSegCurvetoCubicAbs]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegCurvetoCubicAbs]") public void svgPathSegCurvetoCubicAbs() throws Exception { test("SVGPathSegCurvetoCubicAbs"); } @@ -9044,10 +9044,8 @@ public void svgPathSegCurvetoCubicAbs() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegCurvetoCubicRel() {\n [native code]\n}", - IE = "[object SVGPathSegCurvetoCubicRel]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegCurvetoCubicRel]") public void svgPathSegCurvetoCubicRel() throws Exception { test("SVGPathSegCurvetoCubicRel"); } @@ -9056,10 +9054,8 @@ public void svgPathSegCurvetoCubicRel() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegCurvetoCubicSmoothAbs() {\n [native code]\n}", - IE = "[object SVGPathSegCurvetoCubicSmoothAbs]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegCurvetoCubicSmoothAbs]") public void svgPathSegCurvetoCubicSmoothAbs() throws Exception { test("SVGPathSegCurvetoCubicSmoothAbs"); } @@ -9068,10 +9064,8 @@ public void svgPathSegCurvetoCubicSmoothAbs() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegCurvetoCubicSmoothRel() {\n [native code]\n}", - IE = "[object SVGPathSegCurvetoCubicSmoothRel]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegCurvetoCubicSmoothRel]") public void svgPathSegCurvetoCubicSmoothRel() throws Exception { test("SVGPathSegCurvetoCubicSmoothRel"); } @@ -9080,10 +9074,8 @@ public void svgPathSegCurvetoCubicSmoothRel() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegCurvetoQuadraticAbs() {\n [native code]\n}", - IE = "[object SVGPathSegCurvetoQuadraticAbs]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegCurvetoQuadraticAbs]") public void svgPathSegCurvetoQuadraticAbs() throws Exception { test("SVGPathSegCurvetoQuadraticAbs"); } @@ -9092,10 +9084,8 @@ public void svgPathSegCurvetoQuadraticAbs() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegCurvetoQuadraticRel() {\n [native code]\n}", - IE = "[object SVGPathSegCurvetoQuadraticRel]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegCurvetoQuadraticRel]") public void svgPathSegCurvetoQuadraticRel() throws Exception { test("SVGPathSegCurvetoQuadraticRel"); } @@ -9104,10 +9094,8 @@ public void svgPathSegCurvetoQuadraticRel() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegCurvetoQuadraticSmoothAbs() {\n [native code]\n}", - IE = "[object SVGPathSegCurvetoQuadraticSmoothAbs]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegCurvetoQuadraticSmoothAbs]") public void svgPathSegCurvetoQuadraticSmoothAbs() throws Exception { test("SVGPathSegCurvetoQuadraticSmoothAbs"); } @@ -9116,10 +9104,8 @@ public void svgPathSegCurvetoQuadraticSmoothAbs() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegCurvetoQuadraticSmoothRel() {\n [native code]\n}", - IE = "[object SVGPathSegCurvetoQuadraticSmoothRel]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegCurvetoQuadraticSmoothRel]") public void svgPathSegCurvetoQuadraticSmoothRel() throws Exception { test("SVGPathSegCurvetoQuadraticSmoothRel"); } @@ -9128,10 +9114,8 @@ public void svgPathSegCurvetoQuadraticSmoothRel() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegLinetoAbs() {\n [native code]\n}", - IE = "[object SVGPathSegLinetoAbs]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegLinetoAbs]") public void svgPathSegLinetoAbs() throws Exception { test("SVGPathSegLinetoAbs"); } @@ -9140,10 +9124,8 @@ public void svgPathSegLinetoAbs() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegLinetoHorizontalAbs() {\n [native code]\n}", - IE = "[object SVGPathSegLinetoHorizontalAbs]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegLinetoHorizontalAbs]") public void svgPathSegLinetoHorizontalAbs() throws Exception { test("SVGPathSegLinetoHorizontalAbs"); } @@ -9152,10 +9134,8 @@ public void svgPathSegLinetoHorizontalAbs() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegLinetoHorizontalRel() {\n [native code]\n}", - IE = "[object SVGPathSegLinetoHorizontalRel]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegLinetoHorizontalRel]") public void svgPathSegLinetoHorizontalRel() throws Exception { test("SVGPathSegLinetoHorizontalRel"); } @@ -9164,10 +9144,8 @@ public void svgPathSegLinetoHorizontalRel() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegLinetoRel() {\n [native code]\n}", - IE = "[object SVGPathSegLinetoRel]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegLinetoRel]") public void svgPathSegLinetoRel() throws Exception { test("SVGPathSegLinetoRel"); } @@ -9176,10 +9154,8 @@ public void svgPathSegLinetoRel() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegLinetoVerticalAbs() {\n [native code]\n}", - IE = "[object SVGPathSegLinetoVerticalAbs]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegLinetoVerticalAbs]") public void svgPathSegLinetoVerticalAbs() throws Exception { test("SVGPathSegLinetoVerticalAbs"); } @@ -9188,10 +9164,8 @@ public void svgPathSegLinetoVerticalAbs() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegLinetoVerticalRel() {\n [native code]\n}", - IE = "[object SVGPathSegLinetoVerticalRel]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegLinetoVerticalRel]") public void svgPathSegLinetoVerticalRel() throws Exception { test("SVGPathSegLinetoVerticalRel"); } @@ -9211,10 +9185,8 @@ public void svgPathSegList() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegMovetoAbs() {\n [native code]\n}", - IE = "[object SVGPathSegMovetoAbs]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegMovetoAbs]") public void svgPathSegMovetoAbs() throws Exception { test("SVGPathSegMovetoAbs"); } @@ -9223,10 +9195,8 @@ public void svgPathSegMovetoAbs() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "function SVGPathSegMovetoRel() {\n [native code]\n}", - IE = "[object SVGPathSegMovetoRel]", - CHROME = "exception", - FF60 = "exception") + @Alerts(DEFAULT = "exception", + IE = "[object SVGPathSegMovetoRel]") public void svgPathSegMovetoRel() throws Exception { test("SVGPathSegMovetoRel"); } @@ -9645,7 +9615,6 @@ public void svgVKernElement() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF52 = "function SVGZoomEvent() {\n [native code]\n}", IE = "[object SVGZoomEvent]") public void svgZoomEvent() throws Exception { test("SVGZoomEvent"); @@ -10172,7 +10141,7 @@ public void userDataHandler() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF = "function UserProximityEvent() {\n [native code]\n}") + FF60 = "function UserProximityEvent() {\n [native code]\n}") public void userProximityEvent() throws Exception { test("UserProximityEvent"); } @@ -10221,8 +10190,8 @@ public void vrDevice() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF60 = "function VRDisplay() {\n [native code]\n}") - @NotYetImplemented(FF60) + FF = "function VRDisplay() {\n [native code]\n}") + @NotYetImplemented(FF) public void vrDisplay() throws Exception { test("VRDisplay"); } @@ -10232,8 +10201,8 @@ public void vrDisplay() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF60 = "function VRDisplayCapabilities() {\n [native code]\n}") - @NotYetImplemented(FF60) + FF = "function VRDisplayCapabilities() {\n [native code]\n}") + @NotYetImplemented(FF) public void vrDisplayCapabilities() throws Exception { test("VRDisplayCapabilities"); } @@ -10243,8 +10212,8 @@ public void vrDisplayCapabilities() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF60 = "function VREyeParameters() {\n [native code]\n}") - @NotYetImplemented(FF60) + FF = "function VREyeParameters() {\n [native code]\n}") + @NotYetImplemented(FF) public void vrEyeParameters() throws Exception { test("VREyeParameters"); } @@ -10254,8 +10223,8 @@ public void vrEyeParameters() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF60 = "function VRFieldOfView() {\n [native code]\n}") - @NotYetImplemented(FF60) + FF = "function VRFieldOfView() {\n [native code]\n}") + @NotYetImplemented(FF) public void vrFieldOfView() throws Exception { test("VRFieldOfView"); } @@ -10283,8 +10252,8 @@ public void vrLayer() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF60 = "function VRPose() {\n [native code]\n}") - @NotYetImplemented(FF60) + FF = "function VRPose() {\n [native code]\n}") + @NotYetImplemented(FF) public void vrPose() throws Exception { test("VRPose"); } @@ -10303,8 +10272,8 @@ public void vrPositionState() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - FF60 = "function VRStageParameters() {\n [native code]\n}") - @NotYetImplemented(FF60) + FF = "function VRStageParameters() {\n [native code]\n}") + @NotYetImplemented(FF) public void vrStageParameters() throws Exception { test("VRStageParameters"); } @@ -10864,7 +10833,7 @@ public void webkitSpeechRecognition() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - CHROME = "function SpeechRecognitionError() { [native code] }") + CHROME = "function SpeechRecognitionErrorEvent() { [native code] }") public void webkitSpeechRecognitionError() throws Exception { test("webkitSpeechRecognitionError"); } @@ -11113,8 +11082,7 @@ public void xmlHttpRequest() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "exception", - CHROME = "function XMLHttpRequestEventTarget() { [native code] }", + @Alerts(CHROME = "function XMLHttpRequestEventTarget() { [native code] }", FF = "function XMLHttpRequestEventTarget() {\n [native code]\n}", IE = "[object XMLHttpRequestEventTarget]") public void xmlHttpRequestEventTarget() throws Exception { diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/HostConstantsTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/HostConstantsTest.java index e307cc70764..8c866f2c739 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/HostConstantsTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/HostConstantsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/HostExtractor.java b/src/test/java/com/gargoylesoftware/htmlunit/general/HostExtractor.java index 8f8a56eeb11..7ceff6e4d62 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/HostExtractor.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/HostExtractor.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/HostTestsTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/HostTestsTest.java index 0b42be3ea3b..fc60fccc87f 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/HostTestsTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/HostTestsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/HostTypeOfTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/HostTypeOfTest.java index b7b3553abc3..ecde9add0d3 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/HostTypeOfTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/HostTypeOfTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -93,8 +93,8 @@ public void angle_instanced_arrays() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - FF = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void animation() throws Exception { test("Animation"); } @@ -302,9 +302,8 @@ public void audioProcessingEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void audioScheduledSourceNode() throws Exception { test("AudioScheduledSourceNode"); } @@ -332,9 +331,8 @@ public void barProp() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void baseAudioContext() throws Exception { test("BaseAudioContext"); } @@ -724,9 +722,8 @@ public void coordinates() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void credential() throws Exception { test("Credential"); } @@ -735,9 +732,8 @@ public void credential() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void credentialsContainer() throws Exception { test("CredentialsContainer"); } @@ -767,6 +763,7 @@ public void cryptoKey() throws Exception { */ @Test @Alerts(DEFAULT = "function", + FF68 = "object", IE = "undefined") public void css() throws Exception { test("CSS"); @@ -798,7 +795,6 @@ public void cssCharsetRule() throws Exception { */ @Test @Alerts(DEFAULT = "function", - FF52 = "object", IE = "undefined") public void cssConditionRule() throws Exception { test("CSSConditionRule"); @@ -809,8 +805,7 @@ public void cssConditionRule() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "object", - FF60 = "function") + FF = "function") public void cssCounterStyleRule() throws Exception { test("CSSCounterStyleRule"); } @@ -821,9 +816,8 @@ public void cssCounterStyleRule() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "object", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "object") public void cssFontFaceRule() throws Exception { test("CSSFontFaceRule"); } @@ -833,7 +827,6 @@ public void cssFontFaceRule() throws Exception { */ @Test @Alerts(DEFAULT = "function", - FF52 = "object", IE = "undefined") public void cssGroupingRule() throws Exception { test("CSSGroupingRule"); @@ -845,9 +838,8 @@ public void cssGroupingRule() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "object", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "object") public void cssImportRule() throws Exception { test("CSSImportRule"); } @@ -857,7 +849,6 @@ public void cssImportRule() throws Exception { */ @Test @Alerts(DEFAULT = "function", - FF52 = "object", IE = "object") public void cssKeyframeRule() throws Exception { test("CSSKeyframeRule"); @@ -868,7 +859,6 @@ public void cssKeyframeRule() throws Exception { */ @Test @Alerts(DEFAULT = "function", - FF52 = "object", IE = "object") public void cssKeyframesRule() throws Exception { test("CSSKeyframesRule"); @@ -880,9 +870,8 @@ public void cssKeyframesRule() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "object", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "object") public void cssMediaRule() throws Exception { test("CSSMediaRule"); } @@ -892,8 +881,7 @@ public void cssMediaRule() throws Exception { */ @Test @Alerts(DEFAULT = "function", - IE = "object", - FF52 = "undefined") + IE = "object") public void cssNamespaceRule() throws Exception { test("CSSNamespaceRule"); } @@ -902,9 +890,8 @@ public void cssNamespaceRule() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "object", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "object") public void cssPageRule() throws Exception { test("CSSPageRule"); } @@ -916,7 +903,7 @@ public void cssPageRule() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF = "function") + FF60 = "function") public void cssPrimitiveValue() throws Exception { test("CSSPrimitiveValue"); } @@ -927,9 +914,8 @@ public void cssPrimitiveValue() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "object", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "object") public void cssRule() throws Exception { test("CSSRule"); } @@ -964,9 +950,8 @@ public void cssStyleDeclaration() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "object", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "object") public void cssStyleRule() throws Exception { test("CSSStyleRule"); } @@ -988,7 +973,6 @@ public void cssStyleSheet() throws Exception { */ @Test @Alerts(DEFAULT = "function", - FF52 = "object", IE = "undefined") public void cssSupportsRule() throws Exception { test("CSSSupportsRule"); @@ -1001,7 +985,7 @@ public void cssSupportsRule() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF = "function") + FF60 = "function") public void cssValue() throws Exception { test("CSSValue"); } @@ -1011,7 +995,7 @@ public void cssValue() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF = "function") + FF60 = "function") public void cssValueList() throws Exception { test("CSSValueList"); } @@ -1030,7 +1014,8 @@ public void cssViewportRule() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - CHROME = "function") + CHROME = "function", + FF68 = "function") public void customElementRegistry() throws Exception { test("CustomElementRegistry"); } @@ -1101,7 +1086,7 @@ public void delayNode() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF = "function") + FF60 = "function") public void deviceLightEvent() throws Exception { test("DeviceLightEvent"); } @@ -1131,7 +1116,7 @@ public void deviceOrientationEvent() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF = "function") + FF60 = "function") public void deviceProximityEvent() throws Exception { test("DeviceProximityEvent"); } @@ -1197,7 +1182,7 @@ public void documentType() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF = "function") + FF60 = "function") public void domCursor() throws Exception { test("DOMCursor"); } @@ -1305,7 +1290,6 @@ public void domRect() throws Exception { @Test @Alerts(DEFAULT = "function", IE = "undefined") - @NotYetImplemented({CHROME, FF}) public void domRectList() throws Exception { test("DOMRectList"); } @@ -1513,7 +1497,6 @@ public void extendableMessageEvent() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", CHROME = "function") public void external() throws Exception { test("External"); @@ -1763,6 +1746,7 @@ public void gamepadEvent() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", + CHROME = "function", IE = "object") public void geolocation() throws Exception { test("Geolocation"); @@ -1842,7 +1826,6 @@ public void htmlAnchorElement() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void htmlAppletElement() throws Exception { test("HTMLAppletElement"); @@ -2459,9 +2442,9 @@ public void htmlMapElement() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "object", - CHROME = "function", - FF = "undefined") + @Alerts(DEFAULT = "function", + FF60 = "undefined", + IE = "object") public void htmlMarqueeElement() throws Exception { test("HTMLMarqueeElement"); } @@ -2754,7 +2737,8 @@ public void htmlShadowElement() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - CHROME = "function") + CHROME = "function", + FF68 = "function") public void htmlSlotElement() throws Exception { test("HTMLSlotElement"); } @@ -3138,9 +3122,8 @@ public void idbVersionChangeEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void idleDeadline() throws Exception { test("IdleDeadline"); } @@ -3272,9 +3255,8 @@ public void int8Array() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void intersectionObserver() throws Exception { test("IntersectionObserver"); } @@ -3283,9 +3265,8 @@ public void intersectionObserver() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void intersectionObserverEntry() throws Exception { test("IntersectionObserverEntry"); } @@ -3326,7 +3307,9 @@ public void keyboardEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts("undefined") + @Alerts(DEFAULT = "undefined", + CHROME = "function", + FF68 = "function") public void keyframeEffect() throws Exception { test("KeyframeEffect"); } @@ -3338,7 +3321,7 @@ public void keyframeEffect() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF = "function") + FF60 = "function") public void localMediaStream() throws Exception { test("LocalMediaStream"); } @@ -3527,9 +3510,8 @@ public void mediaQueryList() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void mediaQueryListEvent() throws Exception { test("MediaQueryListEvent"); } @@ -4372,9 +4354,7 @@ public void performanceNavigation() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function", + @Alerts(DEFAULT = "function", IE = "object") public void performanceNavigationTiming() throws Exception { test("PerformanceNavigationTiming"); @@ -4384,9 +4364,8 @@ public void performanceNavigationTiming() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void performanceObserver() throws Exception { test("PerformanceObserver"); } @@ -4395,9 +4374,8 @@ public void performanceObserver() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void performanceObserverEntryList() throws Exception { test("PerformanceObserverEntryList"); } @@ -4484,8 +4462,7 @@ public void pluginArray() throws Exception { @Test @Alerts(DEFAULT = "object", CHROME = "function", - FF60 = "function", - FF52 = "undefined") + FF = "function") public void pointerEvent() throws Exception { test("PointerEvent"); } @@ -4641,6 +4618,7 @@ public void promiseRejectionEvent() throws Exception { @Test @Alerts(DEFAULT = "function", IE = "undefined") + @NotYetImplemented({CHROME, FF}) public void proxy() throws Exception { test("Proxy"); } @@ -4711,7 +4689,8 @@ public void readableByteStream() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - CHROME = "function") + CHROME = "function", + FF68 = "function") public void readableStream() throws Exception { test("ReadableStream"); } @@ -4883,7 +4862,8 @@ public void scriptProcessorNode() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - CHROME = "function") + CHROME = "function", + FF68 = "function") public void securityPolicyViolationEvent() throws Exception { test("SecurityPolicyViolationEvent"); } @@ -4964,7 +4944,8 @@ public void set() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - CHROME = "function") + CHROME = "function", + FF68 = "function") public void shadowRoot() throws Exception { test("ShadowRoot"); } @@ -5169,8 +5150,7 @@ public void stereoPannerNode() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "undefined", - FF52 = "object") + @Alerts("undefined") public void stopIteration() throws Exception { test("StopIteration"); } @@ -5201,9 +5181,8 @@ public void storageEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void storageManager() throws Exception { test("StorageManager"); } @@ -5897,9 +5876,8 @@ public void svgGElement() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "undefined", - CHROME = "function", - FF60 = "function") + @Alerts(DEFAULT = "function", + IE = "undefined") public void svgGeometryElement() throws Exception { test("SVGGeometryElement"); } @@ -6077,7 +6055,6 @@ public void svgPathElement() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSeg() throws Exception { test("SVGPathSeg"); @@ -6088,7 +6065,6 @@ public void svgPathSeg() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegArcAbs() throws Exception { test("SVGPathSegArcAbs"); @@ -6099,7 +6075,6 @@ public void svgPathSegArcAbs() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegArcRel() throws Exception { test("SVGPathSegArcRel"); @@ -6110,7 +6085,6 @@ public void svgPathSegArcRel() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegClosePath() throws Exception { test("SVGPathSegClosePath"); @@ -6121,7 +6095,6 @@ public void svgPathSegClosePath() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegCurvetoCubicAbs() throws Exception { test("SVGPathSegCurvetoCubicAbs"); @@ -6132,7 +6105,6 @@ public void svgPathSegCurvetoCubicAbs() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegCurvetoCubicRel() throws Exception { test("SVGPathSegCurvetoCubicRel"); @@ -6143,7 +6115,6 @@ public void svgPathSegCurvetoCubicRel() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegCurvetoCubicSmoothAbs() throws Exception { test("SVGPathSegCurvetoCubicSmoothAbs"); @@ -6154,7 +6125,6 @@ public void svgPathSegCurvetoCubicSmoothAbs() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegCurvetoCubicSmoothRel() throws Exception { test("SVGPathSegCurvetoCubicSmoothRel"); @@ -6165,7 +6135,6 @@ public void svgPathSegCurvetoCubicSmoothRel() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegCurvetoQuadraticAbs() throws Exception { test("SVGPathSegCurvetoQuadraticAbs"); @@ -6176,7 +6145,6 @@ public void svgPathSegCurvetoQuadraticAbs() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegCurvetoQuadraticRel() throws Exception { test("SVGPathSegCurvetoQuadraticRel"); @@ -6187,7 +6155,6 @@ public void svgPathSegCurvetoQuadraticRel() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegCurvetoQuadraticSmoothAbs() throws Exception { test("SVGPathSegCurvetoQuadraticSmoothAbs"); @@ -6198,7 +6165,6 @@ public void svgPathSegCurvetoQuadraticSmoothAbs() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegCurvetoQuadraticSmoothRel() throws Exception { test("SVGPathSegCurvetoQuadraticSmoothRel"); @@ -6209,7 +6175,6 @@ public void svgPathSegCurvetoQuadraticSmoothRel() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegLinetoAbs() throws Exception { test("SVGPathSegLinetoAbs"); @@ -6220,7 +6185,6 @@ public void svgPathSegLinetoAbs() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegLinetoHorizontalAbs() throws Exception { test("SVGPathSegLinetoHorizontalAbs"); @@ -6231,7 +6195,6 @@ public void svgPathSegLinetoHorizontalAbs() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegLinetoHorizontalRel() throws Exception { test("SVGPathSegLinetoHorizontalRel"); @@ -6242,7 +6205,6 @@ public void svgPathSegLinetoHorizontalRel() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegLinetoRel() throws Exception { test("SVGPathSegLinetoRel"); @@ -6253,7 +6215,6 @@ public void svgPathSegLinetoRel() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegLinetoVerticalAbs() throws Exception { test("SVGPathSegLinetoVerticalAbs"); @@ -6264,7 +6225,6 @@ public void svgPathSegLinetoVerticalAbs() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegLinetoVerticalRel() throws Exception { test("SVGPathSegLinetoVerticalRel"); @@ -6286,7 +6246,6 @@ public void svgPathSegList() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegMovetoAbs() throws Exception { test("SVGPathSegMovetoAbs"); @@ -6297,7 +6256,6 @@ public void svgPathSegMovetoAbs() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgPathSegMovetoRel() throws Exception { test("SVGPathSegMovetoRel"); @@ -6635,7 +6593,6 @@ public void svgViewSpec() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF52 = "function", IE = "object") public void svgZoomEvent() throws Exception { test("SVGZoomEvent"); @@ -6957,7 +6914,7 @@ public void urlSearchParams() throws Exception { */ @Test @Alerts(DEFAULT = "undefined", - FF = "function") + FF60 = "function") public void userProximityEvent() throws Exception { test("UserProximityEvent"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/ElementClosesElementTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/ElementClosesElementTest.java index f3797cb897f..fa3eae68c74 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/ElementClosesElementTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/ElementClosesElementTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,8 +16,6 @@ import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF52; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import java.util.ArrayList; @@ -48,6 +46,8 @@ @RunWith(BrowserParameterizedRunner.class) public class ElementClosesElementTest extends WebDriverTestCase { + private static int ServerRestartCount_ = 0; + /** * Returns the parameterized data. * @return the parameterized data @@ -94,6 +94,11 @@ private void test(final String parent, final String child) throws Exception { + parentString + childString + suffix + ""; + ServerRestartCount_++; + if (ServerRestartCount_ == 200) { + stopWebServers(); + ServerRestartCount_ = 0; + } final WebDriver driver = loadPage2(html); assertTitle(driver, getExpectedAlerts()[0]); } @@ -240,10 +245,9 @@ public void _a_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _a_isindex() throws Exception { test("a", "isindex"); } @@ -424,10 +428,9 @@ public void _abbr_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _abbr_isindex() throws Exception { test("abbr", "isindex"); } @@ -608,10 +611,9 @@ public void _acronym_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _acronym_isindex() throws Exception { test("acronym", "isindex"); } @@ -792,10 +794,9 @@ public void _address_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _address_isindex() throws Exception { test("address", "isindex"); } @@ -976,10 +977,9 @@ public void _applet_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _applet_isindex() throws Exception { test("applet", "isindex"); } @@ -2438,10 +2438,9 @@ public void _article_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _article_isindex() throws Exception { test("article", "isindex"); } @@ -2622,10 +2621,9 @@ public void _aside_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _aside_isindex() throws Exception { test("aside", "isindex"); } @@ -2806,10 +2804,9 @@ public void _audio_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _audio_isindex() throws Exception { test("audio", "isindex"); } @@ -2990,10 +2987,9 @@ public void _b_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _b_isindex() throws Exception { test("b", "isindex"); } @@ -5730,10 +5726,9 @@ public void _bdi_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _bdi_isindex() throws Exception { test("bdi", "isindex"); } @@ -5914,10 +5909,9 @@ public void _bdo_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _bdo_isindex() throws Exception { test("bdo", "isindex"); } @@ -7376,10 +7370,9 @@ public void _big_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _big_isindex() throws Exception { test("big", "isindex"); } @@ -7560,10 +7553,9 @@ public void _blink_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _blink_isindex() throws Exception { test("blink", "isindex"); } @@ -7744,10 +7736,9 @@ public void _blockquote_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _blockquote_isindex() throws Exception { test("blockquote", "isindex"); } @@ -8360,10 +8351,9 @@ public void _body_ins() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "3", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "2", + IE = "3") + @NotYetImplemented(IE) public void _body_isindex() throws Exception { test("body", "isindex"); } @@ -10380,10 +10370,9 @@ public void _button_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _button_isindex() throws Exception { test("button", "isindex"); } @@ -10564,10 +10553,9 @@ public void _canvas_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _canvas_isindex() throws Exception { test("canvas", "isindex"); } @@ -12026,10 +12014,9 @@ public void _center_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _center_isindex() throws Exception { test("center", "isindex"); } @@ -12210,10 +12197,9 @@ public void _cite_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _cite_isindex() throws Exception { test("cite", "isindex"); } @@ -12394,10 +12380,9 @@ public void _code_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _code_isindex() throws Exception { test("code", "isindex"); } @@ -15705,9 +15690,7 @@ public void _command_ins() throws Exception { */ @Test @Alerts(DEFAULT = "0", - FF52 = "2", - FF60 = "1") - @NotYetImplemented(FF52) + FF = "1") public void _command_isindex() throws Exception { test("command", "isindex"); } @@ -16556,10 +16539,9 @@ public void _content_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _content_isindex() throws Exception { test("content", "isindex"); } @@ -16740,10 +16722,9 @@ public void _data_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _data_isindex() throws Exception { test("data", "isindex"); } @@ -16924,10 +16905,9 @@ public void _datalist_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _datalist_isindex() throws Exception { test("datalist", "isindex"); } @@ -17126,10 +17106,9 @@ public void _dd_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _dd_isindex() throws Exception { test("dd", "isindex"); } @@ -17310,10 +17289,9 @@ public void _del_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _del_isindex() throws Exception { test("del", "isindex"); } @@ -17494,10 +17472,9 @@ public void _details_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _details_isindex() throws Exception { test("details", "isindex"); } @@ -17678,10 +17655,9 @@ public void _dfn_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _dfn_isindex() throws Exception { test("dfn", "isindex"); } @@ -17862,10 +17838,9 @@ public void _dialog_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _dialog_isindex() throws Exception { test("dialog", "isindex"); } @@ -18046,10 +18021,9 @@ public void _dir_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _dir_isindex() throws Exception { test("dir", "isindex"); } @@ -18230,10 +18204,9 @@ public void _div_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _div_isindex() throws Exception { test("div", "isindex"); } @@ -18414,10 +18387,9 @@ public void _dl_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _dl_isindex() throws Exception { test("dl", "isindex"); } @@ -18616,10 +18588,9 @@ public void _dt_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _dt_isindex() throws Exception { test("dt", "isindex"); } @@ -18800,10 +18771,9 @@ public void _em_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _em_isindex() throws Exception { test("em", "isindex"); } @@ -20262,10 +20232,9 @@ public void _fieldset_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _fieldset_isindex() throws Exception { test("fieldset", "isindex"); } @@ -20446,10 +20415,9 @@ public void _figcaption_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _figcaption_isindex() throws Exception { test("figcaption", "isindex"); } @@ -20630,10 +20598,9 @@ public void _figure_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _figure_isindex() throws Exception { test("figure", "isindex"); } @@ -20814,10 +20781,9 @@ public void _font_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _font_isindex() throws Exception { test("font", "isindex"); } @@ -20998,10 +20964,9 @@ public void _footer_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _footer_isindex() throws Exception { test("footer", "isindex"); } @@ -23964,10 +23929,9 @@ public void _h1_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _h1_isindex() throws Exception { test("h1", "isindex"); } @@ -24202,10 +24166,9 @@ public void _h2_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _h2_isindex() throws Exception { test("h2", "isindex"); } @@ -24440,10 +24403,9 @@ public void _h3_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _h3_isindex() throws Exception { test("h3", "isindex"); } @@ -24678,10 +24640,9 @@ public void _h4_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _h4_isindex() throws Exception { test("h4", "isindex"); } @@ -24916,10 +24877,9 @@ public void _h5_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _h5_isindex() throws Exception { test("h5", "isindex"); } @@ -25154,10 +25114,9 @@ public void _h6_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _h6_isindex() throws Exception { test("h6", "isindex"); } @@ -26616,10 +26575,9 @@ public void _header_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _header_isindex() throws Exception { test("header", "isindex"); } @@ -29498,10 +29456,9 @@ public void _i_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _i_isindex() throws Exception { test("i", "isindex"); } @@ -33516,10 +33473,9 @@ public void _ins_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _ins_isindex() throws Exception { test("ins", "isindex"); } @@ -33600,10 +33556,9 @@ public void _ins_wbr() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_a() throws Exception { test("isindex", "a"); } @@ -33612,10 +33567,9 @@ public void _isindex_a() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_abbr() throws Exception { test("isindex", "abbr"); } @@ -33624,10 +33578,9 @@ public void _isindex_abbr() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_acronym() throws Exception { test("isindex", "acronym"); } @@ -33636,10 +33589,9 @@ public void _isindex_acronym() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_address() throws Exception { test("isindex", "address"); } @@ -33648,10 +33600,9 @@ public void _isindex_address() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_applet() throws Exception { test("isindex", "applet"); } @@ -33660,10 +33611,9 @@ public void _isindex_applet() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_area() throws Exception { test("isindex", "area"); } @@ -33672,10 +33622,9 @@ public void _isindex_area() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_article() throws Exception { test("isindex", "article"); } @@ -33684,10 +33633,9 @@ public void _isindex_article() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_aside() throws Exception { test("isindex", "aside"); } @@ -33696,10 +33644,9 @@ public void _isindex_aside() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_audio() throws Exception { test("isindex", "audio"); } @@ -33708,10 +33655,9 @@ public void _isindex_audio() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_b() throws Exception { test("isindex", "b"); } @@ -33720,10 +33666,9 @@ public void _isindex_b() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_base() throws Exception { test("isindex", "base"); } @@ -33732,10 +33677,9 @@ public void _isindex_base() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_basefont() throws Exception { test("isindex", "basefont"); } @@ -33744,10 +33688,9 @@ public void _isindex_basefont() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_bdi() throws Exception { test("isindex", "bdi"); } @@ -33756,10 +33699,9 @@ public void _isindex_bdi() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_bdo() throws Exception { test("isindex", "bdo"); } @@ -33768,10 +33710,9 @@ public void _isindex_bdo() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_bgsound() throws Exception { test("isindex", "bgsound"); } @@ -33780,10 +33721,9 @@ public void _isindex_bgsound() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_big() throws Exception { test("isindex", "big"); } @@ -33792,10 +33732,9 @@ public void _isindex_big() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_blink() throws Exception { test("isindex", "blink"); } @@ -33804,10 +33743,9 @@ public void _isindex_blink() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_blockquote() throws Exception { test("isindex", "blockquote"); } @@ -33816,10 +33754,9 @@ public void _isindex_blockquote() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_body() throws Exception { test("isindex", "body"); } @@ -33828,10 +33765,9 @@ public void _isindex_body() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_br() throws Exception { test("isindex", "br"); } @@ -33840,10 +33776,9 @@ public void _isindex_br() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_button() throws Exception { test("isindex", "button"); } @@ -33852,10 +33787,9 @@ public void _isindex_button() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_canvas() throws Exception { test("isindex", "canvas"); } @@ -33864,10 +33798,9 @@ public void _isindex_canvas() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_caption() throws Exception { test("isindex", "caption"); } @@ -33876,10 +33809,9 @@ public void _isindex_caption() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_center() throws Exception { test("isindex", "center"); } @@ -33888,10 +33820,9 @@ public void _isindex_center() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_cite() throws Exception { test("isindex", "cite"); } @@ -33900,10 +33831,9 @@ public void _isindex_cite() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_code() throws Exception { test("isindex", "code"); } @@ -33912,10 +33842,9 @@ public void _isindex_code() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_col() throws Exception { test("isindex", "col"); } @@ -33924,10 +33853,9 @@ public void _isindex_col() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_colgroup() throws Exception { test("isindex", "colgroup"); } @@ -33938,8 +33866,8 @@ public void _isindex_colgroup() throws Exception { @Test @Alerts(DEFAULT = "0", CHROME = "2", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + FF = "1") + @NotYetImplemented(IE) public void _isindex_command() throws Exception { test("isindex", "command"); } @@ -33948,10 +33876,9 @@ public void _isindex_command() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_content() throws Exception { test("isindex", "content"); } @@ -33960,10 +33887,9 @@ public void _isindex_content() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_data() throws Exception { test("isindex", "data"); } @@ -33972,10 +33898,9 @@ public void _isindex_data() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_datalist() throws Exception { test("isindex", "datalist"); } @@ -33984,10 +33909,9 @@ public void _isindex_datalist() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_dd() throws Exception { test("isindex", "dd"); } @@ -33996,10 +33920,9 @@ public void _isindex_dd() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_del() throws Exception { test("isindex", "del"); } @@ -34008,10 +33931,9 @@ public void _isindex_del() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_details() throws Exception { test("isindex", "details"); } @@ -34020,10 +33942,9 @@ public void _isindex_details() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_dfn() throws Exception { test("isindex", "dfn"); } @@ -34032,10 +33953,9 @@ public void _isindex_dfn() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_dialog() throws Exception { test("isindex", "dialog"); } @@ -34044,10 +33964,9 @@ public void _isindex_dialog() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_dir() throws Exception { test("isindex", "dir"); } @@ -34056,10 +33975,9 @@ public void _isindex_dir() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_div() throws Exception { test("isindex", "div"); } @@ -34068,10 +33986,9 @@ public void _isindex_div() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_dl() throws Exception { test("isindex", "dl"); } @@ -34080,10 +33997,9 @@ public void _isindex_dl() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_dt() throws Exception { test("isindex", "dt"); } @@ -34092,10 +34008,9 @@ public void _isindex_dt() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_em() throws Exception { test("isindex", "em"); } @@ -34104,10 +34019,9 @@ public void _isindex_em() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_embed() throws Exception { test("isindex", "embed"); } @@ -34116,10 +34030,9 @@ public void _isindex_embed() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_fieldset() throws Exception { test("isindex", "fieldset"); } @@ -34128,10 +34041,9 @@ public void _isindex_fieldset() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_figcaption() throws Exception { test("isindex", "figcaption"); } @@ -34140,10 +34052,9 @@ public void _isindex_figcaption() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_figure() throws Exception { test("isindex", "figure"); } @@ -34152,10 +34063,9 @@ public void _isindex_figure() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_font() throws Exception { test("isindex", "font"); } @@ -34164,10 +34074,9 @@ public void _isindex_font() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_footer() throws Exception { test("isindex", "footer"); } @@ -34176,10 +34085,9 @@ public void _isindex_footer() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_form() throws Exception { test("isindex", "form"); } @@ -34188,10 +34096,9 @@ public void _isindex_form() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_frame() throws Exception { test("isindex", "frame"); } @@ -34200,10 +34107,9 @@ public void _isindex_frame() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_frameset() throws Exception { test("isindex", "frameset"); } @@ -34212,10 +34118,9 @@ public void _isindex_frameset() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_h1() throws Exception { test("isindex", "h1"); } @@ -34224,10 +34129,9 @@ public void _isindex_h1() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_h2() throws Exception { test("isindex", "h2"); } @@ -34236,10 +34140,9 @@ public void _isindex_h2() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_h3() throws Exception { test("isindex", "h3"); } @@ -34248,10 +34151,9 @@ public void _isindex_h3() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_h4() throws Exception { test("isindex", "h4"); } @@ -34260,10 +34162,9 @@ public void _isindex_h4() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_h5() throws Exception { test("isindex", "h5"); } @@ -34272,10 +34173,9 @@ public void _isindex_h5() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_h6() throws Exception { test("isindex", "h6"); } @@ -34284,10 +34184,9 @@ public void _isindex_h6() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_head() throws Exception { test("isindex", "head"); } @@ -34296,10 +34195,9 @@ public void _isindex_head() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_header() throws Exception { test("isindex", "header"); } @@ -34308,10 +34206,9 @@ public void _isindex_header() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_hr() throws Exception { test("isindex", "hr"); } @@ -34320,10 +34217,9 @@ public void _isindex_hr() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_html() throws Exception { test("isindex", "html"); } @@ -34332,10 +34228,9 @@ public void _isindex_html() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_i() throws Exception { test("isindex", "i"); } @@ -34344,10 +34239,9 @@ public void _isindex_i() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_iframe() throws Exception { test("isindex", "iframe"); } @@ -34356,10 +34250,9 @@ public void _isindex_iframe() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_image() throws Exception { test("isindex", "image"); } @@ -34368,10 +34261,9 @@ public void _isindex_image() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_img() throws Exception { test("isindex", "img"); } @@ -34380,10 +34272,9 @@ public void _isindex_img() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_input() throws Exception { test("isindex", "input"); } @@ -34392,10 +34283,9 @@ public void _isindex_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_ins() throws Exception { test("isindex", "ins"); } @@ -34404,9 +34294,8 @@ public void _isindex_ins() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") + @Alerts(DEFAULT = "1", + IE = "0") public void _isindex_isindex() throws Exception { test("isindex", "isindex"); } @@ -34415,10 +34304,9 @@ public void _isindex_isindex() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_kbd() throws Exception { test("isindex", "kbd"); } @@ -34427,10 +34315,9 @@ public void _isindex_kbd() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_keygen() throws Exception { test("isindex", "keygen"); } @@ -34439,10 +34326,9 @@ public void _isindex_keygen() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_label() throws Exception { test("isindex", "label"); } @@ -34451,10 +34337,9 @@ public void _isindex_label() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_layer() throws Exception { test("isindex", "layer"); } @@ -34463,10 +34348,9 @@ public void _isindex_layer() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_legend() throws Exception { test("isindex", "legend"); } @@ -34475,10 +34359,9 @@ public void _isindex_legend() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_li() throws Exception { test("isindex", "li"); } @@ -34487,10 +34370,9 @@ public void _isindex_li() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_link() throws Exception { test("isindex", "link"); } @@ -34499,10 +34381,9 @@ public void _isindex_link() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_listing() throws Exception { test("isindex", "listing"); } @@ -34511,10 +34392,9 @@ public void _isindex_listing() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_main() throws Exception { test("isindex", "main"); } @@ -34523,10 +34403,9 @@ public void _isindex_main() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_map() throws Exception { test("isindex", "map"); } @@ -34535,10 +34414,9 @@ public void _isindex_map() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_mark() throws Exception { test("isindex", "mark"); } @@ -34547,10 +34425,9 @@ public void _isindex_mark() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_marquee() throws Exception { test("isindex", "marquee"); } @@ -34559,10 +34436,9 @@ public void _isindex_marquee() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_menu() throws Exception { test("isindex", "menu"); } @@ -34571,10 +34447,9 @@ public void _isindex_menu() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_menuitem() throws Exception { test("isindex", "menuitem"); } @@ -34583,10 +34458,9 @@ public void _isindex_menuitem() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_meta() throws Exception { test("isindex", "meta"); } @@ -34595,10 +34469,9 @@ public void _isindex_meta() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_meter() throws Exception { test("isindex", "meter"); } @@ -34607,10 +34480,9 @@ public void _isindex_meter() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_multicol() throws Exception { test("isindex", "multicol"); } @@ -34619,10 +34491,9 @@ public void _isindex_multicol() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_nav() throws Exception { test("isindex", "nav"); } @@ -34631,10 +34502,9 @@ public void _isindex_nav() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_nextid() throws Exception { test("isindex", "nextid"); } @@ -34643,10 +34513,9 @@ public void _isindex_nextid() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_nobr() throws Exception { test("isindex", "nobr"); } @@ -34655,10 +34524,9 @@ public void _isindex_nobr() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_noembed() throws Exception { test("isindex", "noembed"); } @@ -34667,10 +34535,9 @@ public void _isindex_noembed() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_noframes() throws Exception { test("isindex", "noframes"); } @@ -34679,10 +34546,9 @@ public void _isindex_noframes() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_nolayer() throws Exception { test("isindex", "nolayer"); } @@ -34691,10 +34557,9 @@ public void _isindex_nolayer() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_noscript() throws Exception { test("isindex", "noscript"); } @@ -34703,10 +34568,9 @@ public void _isindex_noscript() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_object() throws Exception { test("isindex", "object"); } @@ -34715,10 +34579,9 @@ public void _isindex_object() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_ol() throws Exception { test("isindex", "ol"); } @@ -34727,10 +34590,9 @@ public void _isindex_ol() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_optgroup() throws Exception { test("isindex", "optgroup"); } @@ -34739,10 +34601,9 @@ public void _isindex_optgroup() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_option() throws Exception { test("isindex", "option"); } @@ -34751,10 +34612,9 @@ public void _isindex_option() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_output() throws Exception { test("isindex", "output"); } @@ -34763,10 +34623,9 @@ public void _isindex_output() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_p() throws Exception { test("isindex", "p"); } @@ -34775,10 +34634,9 @@ public void _isindex_p() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_param() throws Exception { test("isindex", "param"); } @@ -34787,10 +34645,9 @@ public void _isindex_param() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_picture() throws Exception { test("isindex", "picture"); } @@ -34799,10 +34656,9 @@ public void _isindex_picture() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_plaintext() throws Exception { test("isindex", "plaintext"); } @@ -34811,10 +34667,9 @@ public void _isindex_plaintext() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_pre() throws Exception { test("isindex", "pre"); } @@ -34823,10 +34678,9 @@ public void _isindex_pre() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_progress() throws Exception { test("isindex", "progress"); } @@ -34835,10 +34689,9 @@ public void _isindex_progress() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_q() throws Exception { test("isindex", "q"); } @@ -34847,10 +34700,9 @@ public void _isindex_q() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_rp() throws Exception { test("isindex", "rp"); } @@ -34859,10 +34711,9 @@ public void _isindex_rp() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_rt() throws Exception { test("isindex", "rt"); } @@ -34871,10 +34722,9 @@ public void _isindex_rt() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_ruby() throws Exception { test("isindex", "ruby"); } @@ -34883,10 +34733,9 @@ public void _isindex_ruby() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_s() throws Exception { test("isindex", "s"); } @@ -34895,10 +34744,9 @@ public void _isindex_s() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_samp() throws Exception { test("isindex", "samp"); } @@ -34907,10 +34755,9 @@ public void _isindex_samp() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_script() throws Exception { test("isindex", "script"); } @@ -34919,10 +34766,9 @@ public void _isindex_script() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_section() throws Exception { test("isindex", "section"); } @@ -34931,10 +34777,9 @@ public void _isindex_section() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_select() throws Exception { test("isindex", "select"); } @@ -34943,10 +34788,9 @@ public void _isindex_select() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_slot() throws Exception { test("isindex", "slot"); } @@ -34955,10 +34799,9 @@ public void _isindex_slot() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_small() throws Exception { test("isindex", "small"); } @@ -34967,10 +34810,9 @@ public void _isindex_small() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_source() throws Exception { test("isindex", "source"); } @@ -34979,10 +34821,9 @@ public void _isindex_source() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_span() throws Exception { test("isindex", "span"); } @@ -34991,10 +34832,9 @@ public void _isindex_span() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_strike() throws Exception { test("isindex", "strike"); } @@ -35003,10 +34843,9 @@ public void _isindex_strike() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_strong() throws Exception { test("isindex", "strong"); } @@ -35015,10 +34854,9 @@ public void _isindex_strong() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_style() throws Exception { test("isindex", "style"); } @@ -35027,10 +34865,9 @@ public void _isindex_style() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_sub() throws Exception { test("isindex", "sub"); } @@ -35039,10 +34876,9 @@ public void _isindex_sub() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_summary() throws Exception { test("isindex", "summary"); } @@ -35051,10 +34887,9 @@ public void _isindex_summary() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_sup() throws Exception { test("isindex", "sup"); } @@ -35063,10 +34898,9 @@ public void _isindex_sup() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_svg() throws Exception { test("isindex", "svg"); } @@ -35075,10 +34909,9 @@ public void _isindex_svg() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_table() throws Exception { test("isindex", "table"); } @@ -35087,10 +34920,9 @@ public void _isindex_table() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_tbody() throws Exception { test("isindex", "tbody"); } @@ -35099,10 +34931,9 @@ public void _isindex_tbody() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_td() throws Exception { test("isindex", "td"); } @@ -35111,10 +34942,9 @@ public void _isindex_td() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_template() throws Exception { test("isindex", "template"); } @@ -35123,10 +34953,9 @@ public void _isindex_template() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_textarea() throws Exception { test("isindex", "textarea"); } @@ -35135,10 +34964,9 @@ public void _isindex_textarea() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_tfoot() throws Exception { test("isindex", "tfoot"); } @@ -35147,10 +34975,9 @@ public void _isindex_tfoot() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_th() throws Exception { test("isindex", "th"); } @@ -35159,10 +34986,9 @@ public void _isindex_th() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_thead() throws Exception { test("isindex", "thead"); } @@ -35171,10 +34997,9 @@ public void _isindex_thead() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_time() throws Exception { test("isindex", "time"); } @@ -35183,10 +35008,9 @@ public void _isindex_time() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_title() throws Exception { test("isindex", "title"); } @@ -35195,10 +35019,9 @@ public void _isindex_title() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_tr() throws Exception { test("isindex", "tr"); } @@ -35207,10 +35030,9 @@ public void _isindex_tr() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_track() throws Exception { test("isindex", "track"); } @@ -35219,10 +35041,9 @@ public void _isindex_track() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_tt() throws Exception { test("isindex", "tt"); } @@ -35231,10 +35052,9 @@ public void _isindex_tt() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_u() throws Exception { test("isindex", "u"); } @@ -35243,10 +35063,9 @@ public void _isindex_u() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_ul() throws Exception { test("isindex", "ul"); } @@ -35255,10 +35074,9 @@ public void _isindex_ul() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_var() throws Exception { test("isindex", "var"); } @@ -35267,10 +35085,9 @@ public void _isindex_var() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_video() throws Exception { test("isindex", "video"); } @@ -35279,10 +35096,9 @@ public void _isindex_video() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "2", - FF60 = "2") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "2", + IE = "0") + @NotYetImplemented(IE) public void _isindex_wbr() throws Exception { test("isindex", "wbr"); } @@ -35291,10 +35107,9 @@ public void _isindex_wbr() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "0") + @NotYetImplemented(IE) public void _isindex_xmp() throws Exception { test("isindex", "xmp"); } @@ -35403,10 +35218,9 @@ public void _kbd_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _kbd_isindex() throws Exception { test("kbd", "isindex"); } @@ -37007,10 +36821,9 @@ public void _label_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _label_isindex() throws Exception { test("label", "isindex"); } @@ -37191,10 +37004,9 @@ public void _layer_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _layer_isindex() throws Exception { test("layer", "isindex"); } @@ -37375,10 +37187,9 @@ public void _legend_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _legend_isindex() throws Exception { test("legend", "isindex"); } @@ -37559,10 +37370,9 @@ public void _li_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _li_isindex() throws Exception { test("li", "isindex"); } @@ -39030,10 +38840,9 @@ public void _listing_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _listing_isindex() throws Exception { test("listing", "isindex"); } @@ -39214,10 +39023,9 @@ public void _main_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _main_isindex() throws Exception { test("main", "isindex"); } @@ -39398,10 +39206,9 @@ public void _map_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _map_isindex() throws Exception { test("map", "isindex"); } @@ -39582,10 +39389,9 @@ public void _mark_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _mark_isindex() throws Exception { test("mark", "isindex"); } @@ -39766,10 +39572,9 @@ public void _marquee_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _marquee_isindex() throws Exception { test("marquee", "isindex"); } @@ -39950,10 +39755,9 @@ public void _menu_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _menu_isindex() throws Exception { test("menu", "isindex"); } @@ -40134,10 +39938,9 @@ public void _menuitem_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _menuitem_isindex() throws Exception { test("menuitem", "isindex"); } @@ -41596,10 +41399,9 @@ public void _meter_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _meter_isindex() throws Exception { test("meter", "isindex"); } @@ -41780,10 +41582,9 @@ public void _multicol_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _multicol_isindex() throws Exception { test("multicol", "isindex"); } @@ -41964,10 +41765,9 @@ public void _nav_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _nav_isindex() throws Exception { test("nav", "isindex"); } @@ -42148,10 +41948,9 @@ public void _nextid_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _nextid_isindex() throws Exception { test("nextid", "isindex"); } @@ -42332,10 +42131,9 @@ public void _nobr_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _nobr_isindex() throws Exception { test("nobr", "isindex"); } @@ -42715,10 +42513,9 @@ public void _nolayer_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _nolayer_isindex() throws Exception { test("nolayer", "isindex"); } @@ -42899,10 +42696,9 @@ public void _object_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _object_isindex() throws Exception { test("object", "isindex"); } @@ -43083,10 +42879,9 @@ public void _ol_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({IE, FF52}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _ol_isindex() throws Exception { test("ol", "isindex"); } @@ -43267,10 +43062,9 @@ public void _optgroup_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _optgroup_isindex() throws Exception { test("optgroup", "isindex"); } @@ -43451,10 +43245,9 @@ public void _option_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _option_isindex() throws Exception { test("option", "isindex"); } @@ -43653,10 +43446,9 @@ public void _output_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _output_isindex() throws Exception { test("output", "isindex"); } @@ -43856,8 +43648,8 @@ public void _p_details() throws Exception { */ @Test @Alerts(DEFAULT = "1", - FF60 = "0") - @NotYetImplemented(FF60) + FF = "0") + @NotYetImplemented(FF) public void _p_dialog() throws Exception { test("p", "dialog"); } @@ -44055,9 +43847,8 @@ public void _p_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "0", - CHROME = "1", - FF60 = "1") + @Alerts(DEFAULT = "1", + IE = "0") public void _p_isindex() throws Exception { test("p", "isindex"); } @@ -45634,10 +45425,9 @@ public void _picture_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _picture_isindex() throws Exception { test("picture", "isindex"); } @@ -45818,10 +45608,9 @@ public void _pre_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _pre_isindex() throws Exception { test("pre", "isindex"); } @@ -46002,10 +45791,9 @@ public void _progress_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _progress_isindex() throws Exception { test("progress", "isindex"); } @@ -46186,10 +45974,9 @@ public void _q_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _q_isindex() throws Exception { test("q", "isindex"); } @@ -46370,10 +46157,9 @@ public void _rp_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _rp_isindex() throws Exception { test("rp", "isindex"); } @@ -46564,10 +46350,9 @@ public void _rt_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _rt_isindex() throws Exception { test("rt", "isindex"); } @@ -46748,10 +46533,9 @@ public void _ruby_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _ruby_isindex() throws Exception { test("ruby", "isindex"); } @@ -46932,10 +46716,9 @@ public void _s_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _s_isindex() throws Exception { test("s", "isindex"); } @@ -47116,10 +46899,9 @@ public void _samp_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _samp_isindex() throws Exception { test("samp", "isindex"); } @@ -47318,10 +47100,9 @@ public void _section_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _section_isindex() throws Exception { test("section", "isindex"); } @@ -47720,10 +47501,9 @@ public void _slot_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _slot_isindex() throws Exception { test("slot", "isindex"); } @@ -47904,10 +47684,9 @@ public void _small_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _small_isindex() throws Exception { test("small", "isindex"); } @@ -49366,10 +49145,9 @@ public void _span_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _span_isindex() throws Exception { test("span", "isindex"); } @@ -49550,10 +49328,9 @@ public void _strike_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _strike_isindex() throws Exception { test("strike", "isindex"); } @@ -49734,10 +49511,9 @@ public void _strong_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _strong_isindex() throws Exception { test("strong", "isindex"); } @@ -49918,10 +49694,9 @@ public void _sub_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _sub_isindex() throws Exception { test("sub", "isindex"); } @@ -50102,10 +49877,9 @@ public void _summary_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _summary_isindex() throws Exception { test("summary", "isindex"); } @@ -50286,10 +50060,9 @@ public void _sup_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _sup_isindex() throws Exception { test("sup", "isindex"); } @@ -51224,10 +50997,8 @@ public void _table_ins() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "1", - CHROME = "0", - FF60 = "0") - @NotYetImplemented(FF52) + @Alerts(DEFAULT = "0", + IE = "1") public void _table_isindex() throws Exception { test("table", "isindex"); } @@ -59713,10 +59484,9 @@ public void _time_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _time_isindex() throws Exception { test("time", "isindex"); } @@ -62653,10 +62423,9 @@ public void _tt_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _tt_isindex() throws Exception { test("tt", "isindex"); } @@ -62837,10 +62606,9 @@ public void _u_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _u_isindex() throws Exception { test("u", "isindex"); } @@ -63021,10 +62789,9 @@ public void _ul_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _ul_isindex() throws Exception { test("ul", "isindex"); } @@ -63205,10 +62972,9 @@ public void _var_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _var_isindex() throws Exception { test("var", "isindex"); } @@ -63389,10 +63155,9 @@ public void _video_input() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "2", - CHROME = "1", - FF60 = "1") - @NotYetImplemented({FF52, IE}) + @Alerts(DEFAULT = "1", + IE = "2") + @NotYetImplemented(IE) public void _video_isindex() throws Exception { test("video", "isindex"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOf.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOf.java index 50e3bfdf19f..f8c21254ca1 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOf.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOf.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -39,6 +39,8 @@ */ public abstract class HostParentOf extends WebDriverTestCase { + private static int ServerRestartCount_ = 0; + /** * Returns the parameterized data. * @param predicate the predicate, which determines whether or not to include the parent @@ -110,6 +112,11 @@ protected void test(final String parent, final String child) throws Exception { + "\n" + ""; + ServerRestartCount_++; + if (ServerRestartCount_ == 200) { + stopWebServers(); + ServerRestartCount_ = 0; + } final WebDriver driver = loadPage2(html); assertTitle(driver, getExpectedAlerts()[0]); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfATest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfATest.java index 0305b97bc54..219c87d623c 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfATest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfATest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,7 +16,6 @@ import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF52; import java.util.Collection; @@ -86,8 +85,8 @@ public void _ANGLE_instanced_arrays_ANGLE_instanced_arrays() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "false", - FF = "true") + @Alerts(DEFAULT = "true", + IE = "false") public void _Animation_Animation() throws Exception { test("Animation", "Animation"); } @@ -203,9 +202,7 @@ public void _AudioContext_AudioContext() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "false", - FF52 = "true") - @NotYetImplemented(FF52) + @Alerts("false") public void _AudioContext_OfflineAudioContext() throws Exception { test("AudioContext", "OfflineAudioContext"); } @@ -246,7 +243,6 @@ public void _AudioNode_AnalyserNode() throws Exception { @Test @Alerts(DEFAULT = "true", IE = "false") - @NotYetImplemented(FF52) public void _AudioNode_AudioBufferSourceNode() throws Exception { test("AudioNode", "AudioBufferSourceNode"); } @@ -277,7 +273,7 @@ public void _AudioNode_AudioNode() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _AudioNode_AudioScheduledSourceNode() throws Exception { test("AudioNode", "AudioScheduledSourceNode"); } @@ -318,7 +314,6 @@ public void _AudioNode_ChannelSplitterNode() throws Exception { @Test @Alerts(DEFAULT = "true", IE = "false") - @NotYetImplemented(FF52) public void _AudioNode_ConstantSourceNode() throws Exception { test("AudioNode", "ConstantSourceNode"); } @@ -409,7 +404,6 @@ public void _AudioNode_MediaStreamAudioSourceNode() throws Exception { @Test @Alerts(DEFAULT = "true", IE = "false") - @NotYetImplemented(FF52) public void _AudioNode_OscillatorNode() throws Exception { test("AudioNode", "OscillatorNode"); } @@ -480,7 +474,7 @@ public void _AudioProcessingEvent_AudioProcessingEvent() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _AudioScheduledSourceNode_AudioBufferSourceNode() throws Exception { test("AudioScheduledSourceNode", "AudioBufferSourceNode"); } @@ -491,7 +485,7 @@ public void _AudioScheduledSourceNode_AudioBufferSourceNode() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _AudioScheduledSourceNode_AudioScheduledSourceNode() throws Exception { test("AudioScheduledSourceNode", "AudioScheduledSourceNode"); } @@ -502,7 +496,7 @@ public void _AudioScheduledSourceNode_AudioScheduledSourceNode() throws Exceptio @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _AudioScheduledSourceNode_ConstantSourceNode() throws Exception { test("AudioScheduledSourceNode", "ConstantSourceNode"); } @@ -513,7 +507,7 @@ public void _AudioScheduledSourceNode_ConstantSourceNode() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _AudioScheduledSourceNode_OscillatorNode() throws Exception { test("AudioScheduledSourceNode", "OscillatorNode"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfBTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfBTest.java index 812966212da..18aadda0d24 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfBTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfBTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -63,7 +63,7 @@ public void _BarProp_BarProp() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _BaseAudioContext_AudioContext() throws Exception { test("BaseAudioContext", "AudioContext"); } @@ -74,7 +74,7 @@ public void _BaseAudioContext_AudioContext() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _BaseAudioContext_BaseAudioContext() throws Exception { test("BaseAudioContext", "BaseAudioContext"); } @@ -85,7 +85,7 @@ public void _BaseAudioContext_BaseAudioContext() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _BaseAudioContext_OfflineAudioContext() throws Exception { test("BaseAudioContext", "OfflineAudioContext"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfCTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfCTest.java index c3a238c74ac..2e37276d803 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfCTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfCTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -304,7 +304,7 @@ public void _Coordinates_Coordinates() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _Credential_Credential() throws Exception { test("Credential", "Credential"); } @@ -335,7 +335,7 @@ public void _Credential_PasswordCredential() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _CredentialsContainer_CredentialsContainer() throws Exception { test("CredentialsContainer", "CredentialsContainer"); } @@ -509,8 +509,7 @@ public void _CSSMediaRule_CSSMediaRule() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "true", - FF52 = "false") + @Alerts("true") public void _CSSNamespaceRule_CSSNamespaceRule() throws Exception { test("CSSNamespaceRule", "CSSNamespaceRule"); } @@ -529,7 +528,7 @@ public void _CSSPageRule_CSSPageRule() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _CSSPrimitiveValue_CSSPrimitiveValue() throws Exception { test("CSSPrimitiveValue", "CSSPrimitiveValue"); } @@ -613,8 +612,7 @@ public void _CSSRule_CSSMediaRule() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "true", - FF52 = "false") + @Alerts("true") public void _CSSRule_CSSNamespaceRule() throws Exception { test("CSSRule", "CSSNamespaceRule"); } @@ -717,7 +715,7 @@ public void _CSSSupportsRule_CSSSupportsRule() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _CSSValue_CSSPrimitiveValue() throws Exception { test("CSSValue", "CSSPrimitiveValue"); } @@ -727,7 +725,7 @@ public void _CSSValue_CSSPrimitiveValue() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _CSSValue_CSSValue() throws Exception { test("CSSValue", "CSSValue"); } @@ -737,7 +735,7 @@ public void _CSSValue_CSSValue() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _CSSValue_CSSValueList() throws Exception { test("CSSValue", "CSSValueList"); } @@ -747,7 +745,7 @@ public void _CSSValue_CSSValueList() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _CSSValueList_CSSValueList() throws Exception { test("CSSValueList", "CSSValueList"); } @@ -757,7 +755,8 @@ public void _CSSValueList_CSSValueList() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _CustomElementRegistry_CustomElementRegistry() throws Exception { test("CustomElementRegistry", "CustomElementRegistry"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfDTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfDTest.java index dc855847d53..b759bd28881 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfDTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfDTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,8 +16,6 @@ import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF52; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60; import java.util.Collection; @@ -106,7 +104,7 @@ public void _DelayNode_DelayNode() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _DeviceLightEvent_DeviceLightEvent() throws Exception { test("DeviceLightEvent", "DeviceLightEvent"); } @@ -136,7 +134,7 @@ public void _DeviceOrientationEvent_DeviceOrientationEvent() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _DeviceProximityEvent_DeviceProximityEvent() throws Exception { test("DeviceProximityEvent", "DeviceProximityEvent"); } @@ -182,7 +180,8 @@ public void _DocumentFragment_DocumentFragment() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _DocumentFragment_ShadowRoot() throws Exception { test("DocumentFragment", "ShadowRoot"); } @@ -201,7 +200,7 @@ public void _DocumentType_DocumentType() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _DOMCursor_DOMCursor() throws Exception { test("DOMCursor", "DOMCursor"); } @@ -338,7 +337,6 @@ public void _DOMRect_DOMRect() throws Exception { @Test @Alerts(DEFAULT = "true", IE = "false") - @NotYetImplemented({CHROME, FF}) public void _DOMRectList_DOMRectList() throws Exception { test("DOMRectList", "DOMRectList"); } @@ -474,7 +472,7 @@ public void _Element_HTMLAnchorElement() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _Element_HTMLAppletElement() throws Exception { test("Element", "HTMLAppletElement"); } @@ -854,7 +852,7 @@ public void _Element_HTMLMapElement() throws Exception { */ @Test @Alerts(DEFAULT = "true", - FF = "false") + FF60 = "false") public void _Element_HTMLMarqueeElement() throws Exception { test("Element", "HTMLMarqueeElement"); } @@ -1069,7 +1067,8 @@ public void _Element_HTMLShadowElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _Element_HTMLSlotElement() throws Exception { test("Element", "HTMLSlotElement"); } @@ -1649,7 +1648,7 @@ public void _Element_SVGGElement() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _Element_SVGGeometryElement() throws Exception { test("Element", "SVGGeometryElement"); } @@ -2066,7 +2065,7 @@ public void _Event_CustomEvent() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _Event_DeviceLightEvent() throws Exception { test("Event", "DeviceLightEvent"); } @@ -2096,7 +2095,7 @@ public void _Event_DeviceOrientationEvent() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _Event_DeviceProximityEvent() throws Exception { test("Event", "DeviceProximityEvent"); } @@ -2221,7 +2220,7 @@ public void _Event_MediaKeyMessageEvent() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _Event_MediaQueryListEvent() throws Exception { test("Event", "MediaQueryListEvent"); } @@ -2346,8 +2345,7 @@ public void _Event_PageTransitionEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "true", - FF52 = "false") + @Alerts("true") public void _Event_PointerEvent() throws Exception { test("Event", "PointerEvent"); } @@ -2425,7 +2423,8 @@ public void _Event_RTCPeerConnectionIceEvent() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _Event_SecurityPolicyViolationEvent() throws Exception { test("Event", "SecurityPolicyViolationEvent"); } @@ -2455,7 +2454,7 @@ public void _Event_StorageEvent() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _Event_SVGZoomEvent() throws Exception { test("Event", "SVGZoomEvent"); } @@ -2522,7 +2521,7 @@ public void _Event_UIEvent() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _Event_UserProximityEvent() throws Exception { test("Event", "UserProximityEvent"); } @@ -2589,9 +2588,8 @@ public void _EventTarget_AnalyserNode() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "false", - FF60 = "true") - @NotYetImplemented(FF60) + @Alerts(DEFAULT = "true", + IE = "false") public void _EventTarget_Animation() throws Exception { test("EventTarget", "Animation"); } @@ -2632,7 +2630,6 @@ public void _EventTarget_Audio() throws Exception { @Test @Alerts(DEFAULT = "true", IE = "false") - @NotYetImplemented(FF52) public void _EventTarget_AudioBufferSourceNode() throws Exception { test("EventTarget", "AudioBufferSourceNode"); } @@ -2673,7 +2670,7 @@ public void _EventTarget_AudioNode() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _EventTarget_AudioScheduledSourceNode() throws Exception { test("EventTarget", "AudioScheduledSourceNode"); } @@ -2684,7 +2681,7 @@ public void _EventTarget_AudioScheduledSourceNode() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _EventTarget_BaseAudioContext() throws Exception { test("EventTarget", "BaseAudioContext"); } @@ -2795,7 +2792,6 @@ public void _EventTarget_Comment() throws Exception { @Test @Alerts(DEFAULT = "true", IE = "false") - @NotYetImplemented(FF52) public void _EventTarget_ConstantSourceNode() throws Exception { test("EventTarget", "ConstantSourceNode"); } @@ -2855,7 +2851,7 @@ public void _EventTarget_DocumentType() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _EventTarget_DOMCursor() throws Exception { test("EventTarget", "DOMCursor"); } @@ -2954,8 +2950,7 @@ public void _EventTarget_HTMLAnchorElement() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "false", - FF52 = "true") + @Alerts("false") public void _EventTarget_HTMLAppletElement() throws Exception { test("EventTarget", "HTMLAppletElement"); } @@ -3315,7 +3310,8 @@ public void _EventTarget_HTMLMapElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _EventTarget_HTMLMarqueeElement() throws Exception { test("EventTarget", "HTMLMarqueeElement"); } @@ -3525,7 +3521,8 @@ public void _EventTarget_HTMLShadowElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _EventTarget_HTMLSlotElement() throws Exception { test("EventTarget", "HTMLSlotElement"); } @@ -3775,7 +3772,7 @@ public void _EventTarget_Image() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _EventTarget_LocalMediaStream() throws Exception { test("EventTarget", "LocalMediaStream"); } @@ -3815,9 +3812,7 @@ public void _EventTarget_MediaKeySession() throws Exception { */ @Test @Alerts(DEFAULT = "true", - FF52 = "false", IE = "false") - @NotYetImplemented(FF52) public void _EventTarget_MediaQueryList() throws Exception { test("EventTarget", "MediaQueryList"); } @@ -4009,7 +4004,6 @@ public void _EventTarget_Option() throws Exception { @Test @Alerts(DEFAULT = "true", IE = "false") - @NotYetImplemented(FF52) public void _EventTarget_OscillatorNode() throws Exception { test("EventTarget", "OscillatorNode"); } @@ -4049,9 +4043,7 @@ public void _EventTarget_PaymentResponse() throws Exception { */ @Test @Alerts(DEFAULT = "true", - FF52 = "false", IE = "false") - @NotYetImplemented(FF52) public void _EventTarget_Performance() throws Exception { test("EventTarget", "Performance"); } @@ -4192,7 +4184,8 @@ public void _EventTarget_ServiceWorkerRegistration() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _EventTarget_ShadowRoot() throws Exception { test("EventTarget", "ShadowRoot"); } @@ -4673,7 +4666,7 @@ public void _EventTarget_SVGGElement() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _EventTarget_SVGGeometryElement() throws Exception { test("EventTarget", "SVGGeometryElement"); } @@ -5144,8 +5137,7 @@ public void _EventTarget_XMLHttpRequestUpload() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") - @NotYetImplemented(FF52) + FF = "true") public void _Event_SpeechSynthesisErrorEvent() throws Exception { test("Event", "SpeechSynthesisErrorEvent"); } @@ -5165,8 +5157,7 @@ public void _EXT_texture_filter_anisotropic_EXT_texture_filter_anisotropic() thr */ @Test @Alerts(DEFAULT = "false", - CHROME = "true", - FF52 = "true") + CHROME = "true") public void _External_External() throws Exception { test("External", "External"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfFTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfFTest.java index 7e04953dbf1..6b56b7f39b9 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfFTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfFTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,8 +14,6 @@ */ package com.gargoylesoftware.htmlunit.general.huge; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF52; - import java.util.Collection; import org.junit.Test; @@ -24,7 +22,6 @@ import com.gargoylesoftware.htmlunit.BrowserParameterizedRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; /** * Tests two Host classes, if one prototype is parent of another. @@ -122,8 +119,7 @@ public void _FileSystemDirectoryReader_FileSystemDirectoryReader() throws Except */ @Test @Alerts(DEFAULT = "false", - FF60 = "true") - @NotYetImplemented(FF52) + FF = "true") public void _FileSystemEntry_FileSystemDirectoryEntry() throws Exception { test("FileSystemEntry", "FileSystemDirectoryEntry"); } @@ -143,8 +139,7 @@ public void _FileSystemEntry_FileSystemEntry() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF60 = "true") - @NotYetImplemented(FF52) + FF = "true") public void _FileSystemEntry_FileSystemFileEntry() throws Exception { test("FileSystemEntry", "FileSystemFileEntry"); } @@ -260,6 +255,7 @@ public void _GamepadEvent_GamepadEvent() throws Exception { */ @Test @Alerts(DEFAULT = "false", + CHROME = "true", IE = "true") public void _Geolocation_Geolocation() throws Exception { test("Geolocation", "Geolocation"); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfHTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfHTest.java index 6c9a2ace7cb..902a844c091 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfHTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfHTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -104,7 +104,7 @@ public void _HTMLAnchorElement_HTMLAnchorElement() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _HTMLAppletElement_HTMLAppletElement() throws Exception { test("HTMLAppletElement", "HTMLAppletElement"); } @@ -381,7 +381,7 @@ public void _HTMLElement_HTMLAnchorElement() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _HTMLElement_HTMLAppletElement() throws Exception { test("HTMLElement", "HTMLAppletElement"); } @@ -761,7 +761,7 @@ public void _HTMLElement_HTMLMapElement() throws Exception { */ @Test @Alerts(DEFAULT = "true", - FF = "false") + FF60 = "false") public void _HTMLElement_HTMLMarqueeElement() throws Exception { test("HTMLElement", "HTMLMarqueeElement"); } @@ -976,7 +976,8 @@ public void _HTMLElement_HTMLShadowElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _HTMLElement_HTMLSlotElement() throws Exception { test("HTMLElement", "HTMLSlotElement"); } @@ -1371,7 +1372,7 @@ public void _HTMLMapElement_HTMLMapElement() throws Exception { */ @Test @Alerts(DEFAULT = "true", - FF = "false") + FF60 = "false") public void _HTMLMarqueeElement_HTMLMarqueeElement() throws Exception { test("HTMLMarqueeElement", "HTMLMarqueeElement"); } @@ -1633,7 +1634,8 @@ public void _HTMLShadowElement_HTMLShadowElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _HTMLSlotElement_HTMLSlotElement() throws Exception { test("HTMLSlotElement", "HTMLSlotElement"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfITest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfITest.java index 52a5cc87ddb..ed65b588a40 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfITest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfITest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -199,7 +199,7 @@ public void _IDBVersionChangeEvent_IDBVersionChangeEvent() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _IdleDeadline_IdleDeadline() throws Exception { test("IdleDeadline", "IdleDeadline"); } @@ -334,7 +334,7 @@ public void _Int8Array_Int8Array() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _IntersectionObserver_IntersectionObserver() throws Exception { test("IntersectionObserver", "IntersectionObserver"); } @@ -345,7 +345,7 @@ public void _IntersectionObserver_IntersectionObserver() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _IntersectionObserverEntry_IntersectionObserverEntry() throws Exception { test("IntersectionObserverEntry", "IntersectionObserverEntry"); } @@ -366,7 +366,19 @@ public void _KeyboardEvent_KeyboardEvent() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + CHROME = "true", + FF68 = "true") + public void _KeyframeEffect_KeyframeEffect() throws Exception { + test("KeyframeEffect", "KeyframeEffect"); + } + + /** + * @throws Exception + * if the test fails + */ + @Test + @Alerts(DEFAULT = "false", + FF60 = "true") public void _LocalMediaStream_LocalMediaStream() throws Exception { test("LocalMediaStream", "LocalMediaStream"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfMTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfMTest.java index 190fbbc14e5..237809461da 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfMTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfMTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -208,7 +208,7 @@ public void _MediaQueryList_MediaQueryList() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _MediaQueryListEvent_MediaQueryListEvent() throws Exception { test("MediaQueryListEvent", "MediaQueryListEvent"); } @@ -251,7 +251,7 @@ public void _MediaStream_CanvasCaptureMediaStream() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _MediaStream_LocalMediaStream() throws Exception { test("MediaStream", "LocalMediaStream"); } @@ -551,8 +551,7 @@ public void _MouseEvent_MouseWheelEvent() throws Exception { * if the test fails */ @Test - @Alerts(DEFAULT = "true", - FF52 = "false") + @Alerts("true") public void _MouseEvent_PointerEvent() throws Exception { test("MouseEvent", "PointerEvent"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfNTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfNTest.java index a1a7b1329e1..bab44a342c3 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfNTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfNTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -188,7 +188,7 @@ public void _Node_HTMLAnchorElement() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _Node_HTMLAppletElement() throws Exception { test("Node", "HTMLAppletElement"); } @@ -619,7 +619,7 @@ public void _Node_HTMLMapElement() throws Exception { */ @Test @Alerts(DEFAULT = "true", - FF = "false") + FF60 = "false") public void _Node_HTMLMarqueeElement() throws Exception { test("Node", "HTMLMarqueeElement"); } @@ -856,7 +856,8 @@ public void _Node_HTMLShadowElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _Node_HTMLSlotElement() throws Exception { test("Node", "HTMLSlotElement"); } @@ -1101,7 +1102,8 @@ public void _Node_ProcessingInstruction() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _Node_ShadowRoot() throws Exception { test("Node", "ShadowRoot"); } @@ -1530,7 +1532,7 @@ public void _Node_SVGGElement() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _Node_SVGGeometryElement() throws Exception { test("Node", "SVGGeometryElement"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfPTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfPTest.java index 0def294a28a..45497dfb50e 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfPTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfPTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -176,7 +176,7 @@ public void _PerformanceEntry_PerformanceMeasure() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") @NotYetImplemented(IE) public void _PerformanceEntry_PerformanceNavigationTiming() throws Exception { test("PerformanceEntry", "PerformanceNavigationTiming"); @@ -226,8 +226,7 @@ public void _PerformanceNavigation_PerformanceNavigation() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "true", - FF52 = "false") + @Alerts("true") public void _PerformanceNavigationTiming_PerformanceNavigationTiming() throws Exception { test("PerformanceNavigationTiming", "PerformanceNavigationTiming"); } @@ -239,7 +238,7 @@ public void _PerformanceNavigationTiming_PerformanceNavigationTiming() throws Ex @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _PerformanceObserver_PerformanceObserver() throws Exception { test("PerformanceObserver", "PerformanceObserver"); } @@ -251,7 +250,7 @@ public void _PerformanceObserver_PerformanceObserver() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _PerformanceObserverEntryList_PerformanceObserverEntryList() throws Exception { test("PerformanceObserverEntryList", "PerformanceObserverEntryList"); } @@ -263,7 +262,7 @@ public void _PerformanceObserverEntryList_PerformanceObserverEntryList() throws @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") @NotYetImplemented(IE) public void _PerformanceResourceTiming_PerformanceNavigationTiming() throws Exception { test("PerformanceResourceTiming", "PerformanceNavigationTiming"); @@ -347,8 +346,7 @@ public void _PluginArray_PluginArray() throws Exception { * if the test fails */ @Test - @Alerts(DEFAULT = "true", - FF52 = "false") + @Alerts("true") public void _PointerEvent_PointerEvent() throws Exception { test("PointerEvent", "PointerEvent"); } @@ -545,7 +543,8 @@ public void _Range_Range() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _ReadableStream_ReadableStream() throws Exception { test("ReadableStream", "ReadableStream"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfSTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfSTest.java index 679c0149b02..f1f8699331c 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfSTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfSTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -87,7 +87,8 @@ public void _ScriptProcessorNode_ScriptProcessorNode() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _SecurityPolicyViolationEvent_SecurityPolicyViolationEvent() throws Exception { test("SecurityPolicyViolationEvent", "SecurityPolicyViolationEvent"); } @@ -155,7 +156,8 @@ public void _SharedArrayBuffer_SharedArrayBuffer() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") public void _ShadowRoot_ShadowRoot() throws Exception { test("ShadowRoot", "ShadowRoot"); } @@ -214,9 +216,8 @@ public void _SpeechSynthesisErrorEvent_SpeechSynthesisErrorEvent() throws Except * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "false", - FF = "true") - @NotYetImplemented(CHROME) + @Alerts(DEFAULT = "true", + IE = "false") public void _SpeechSynthesisEvent_SpeechSynthesisErrorEvent() throws Exception { test("SpeechSynthesisEvent", "SpeechSynthesisErrorEvent"); } @@ -285,7 +286,7 @@ public void _StorageEvent_StorageEvent() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _StorageManager_StorageManager() throws Exception { test("StorageManager", "StorageManager"); } @@ -1015,7 +1016,7 @@ public void _SVGElement_SVGGElement() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _SVGElement_SVGGeometryElement() throws Exception { test("SVGElement", "SVGGeometryElement"); } @@ -1561,7 +1562,8 @@ public void _SVGGElement_SVGGElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") @NotYetImplemented(FF60) public void _SVGGeometryElement_SVGCircleElement() throws Exception { test("SVGGeometryElement", "SVGCircleElement"); @@ -1572,7 +1574,8 @@ public void _SVGGeometryElement_SVGCircleElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") @NotYetImplemented(FF60) public void _SVGGeometryElement_SVGEllipseElement() throws Exception { test("SVGGeometryElement", "SVGEllipseElement"); @@ -1584,7 +1587,7 @@ public void _SVGGeometryElement_SVGEllipseElement() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _SVGGeometryElement_SVGGeometryElement() throws Exception { test("SVGGeometryElement", "SVGGeometryElement"); } @@ -1594,7 +1597,8 @@ public void _SVGGeometryElement_SVGGeometryElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") @NotYetImplemented(FF60) public void _SVGGeometryElement_SVGLineElement() throws Exception { test("SVGGeometryElement", "SVGLineElement"); @@ -1606,7 +1610,7 @@ public void _SVGGeometryElement_SVGLineElement() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _SVGGeometryElement_SVGPathElement() throws Exception { test("SVGGeometryElement", "SVGPathElement"); } @@ -1616,7 +1620,8 @@ public void _SVGGeometryElement_SVGPathElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") @NotYetImplemented(FF60) public void _SVGGeometryElement_SVGPolygonElement() throws Exception { test("SVGGeometryElement", "SVGPolygonElement"); @@ -1627,7 +1632,8 @@ public void _SVGGeometryElement_SVGPolygonElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") @NotYetImplemented(FF60) public void _SVGGeometryElement_SVGPolylineElement() throws Exception { test("SVGGeometryElement", "SVGPolylineElement"); @@ -1638,7 +1644,8 @@ public void _SVGGeometryElement_SVGPolylineElement() throws Exception { */ @Test @Alerts(DEFAULT = "false", - CHROME = "true") + CHROME = "true", + FF68 = "true") @NotYetImplemented(FF60) public void _SVGGeometryElement_SVGRectElement() throws Exception { test("SVGGeometryElement", "SVGRectElement"); @@ -1748,7 +1755,7 @@ public void _SVGGraphicsElement_SVGGElement() throws Exception { @Test @Alerts(DEFAULT = "false", CHROME = "true", - FF60 = "true") + FF = "true") public void _SVGGraphicsElement_SVGGeometryElement() throws Exception { test("SVGGraphicsElement", "SVGGeometryElement"); } @@ -2027,7 +2034,7 @@ public void _SVGPathElement_SVGPathElement() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSeg() throws Exception { test("SVGPathSeg", "SVGPathSeg"); } @@ -2038,7 +2045,7 @@ public void _SVGPathSeg_SVGPathSeg() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegArcAbs() throws Exception { test("SVGPathSeg", "SVGPathSegArcAbs"); } @@ -2049,7 +2056,7 @@ public void _SVGPathSeg_SVGPathSegArcAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegArcRel() throws Exception { test("SVGPathSeg", "SVGPathSegArcRel"); } @@ -2060,7 +2067,7 @@ public void _SVGPathSeg_SVGPathSegArcRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegClosePath() throws Exception { test("SVGPathSeg", "SVGPathSegClosePath"); } @@ -2071,7 +2078,7 @@ public void _SVGPathSeg_SVGPathSegClosePath() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegCurvetoCubicAbs() throws Exception { test("SVGPathSeg", "SVGPathSegCurvetoCubicAbs"); } @@ -2082,7 +2089,7 @@ public void _SVGPathSeg_SVGPathSegCurvetoCubicAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegCurvetoCubicRel() throws Exception { test("SVGPathSeg", "SVGPathSegCurvetoCubicRel"); } @@ -2093,7 +2100,7 @@ public void _SVGPathSeg_SVGPathSegCurvetoCubicRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegCurvetoCubicSmoothAbs() throws Exception { test("SVGPathSeg", "SVGPathSegCurvetoCubicSmoothAbs"); } @@ -2104,7 +2111,7 @@ public void _SVGPathSeg_SVGPathSegCurvetoCubicSmoothAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegCurvetoCubicSmoothRel() throws Exception { test("SVGPathSeg", "SVGPathSegCurvetoCubicSmoothRel"); } @@ -2115,7 +2122,7 @@ public void _SVGPathSeg_SVGPathSegCurvetoCubicSmoothRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegCurvetoQuadraticAbs() throws Exception { test("SVGPathSeg", "SVGPathSegCurvetoQuadraticAbs"); } @@ -2126,7 +2133,7 @@ public void _SVGPathSeg_SVGPathSegCurvetoQuadraticAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegCurvetoQuadraticRel() throws Exception { test("SVGPathSeg", "SVGPathSegCurvetoQuadraticRel"); } @@ -2137,7 +2144,7 @@ public void _SVGPathSeg_SVGPathSegCurvetoQuadraticRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegCurvetoQuadraticSmoothAbs() throws Exception { test("SVGPathSeg", "SVGPathSegCurvetoQuadraticSmoothAbs"); } @@ -2148,7 +2155,7 @@ public void _SVGPathSeg_SVGPathSegCurvetoQuadraticSmoothAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegCurvetoQuadraticSmoothRel() throws Exception { test("SVGPathSeg", "SVGPathSegCurvetoQuadraticSmoothRel"); } @@ -2159,7 +2166,7 @@ public void _SVGPathSeg_SVGPathSegCurvetoQuadraticSmoothRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegLinetoAbs() throws Exception { test("SVGPathSeg", "SVGPathSegLinetoAbs"); } @@ -2170,7 +2177,7 @@ public void _SVGPathSeg_SVGPathSegLinetoAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegLinetoHorizontalAbs() throws Exception { test("SVGPathSeg", "SVGPathSegLinetoHorizontalAbs"); } @@ -2181,7 +2188,7 @@ public void _SVGPathSeg_SVGPathSegLinetoHorizontalAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegLinetoHorizontalRel() throws Exception { test("SVGPathSeg", "SVGPathSegLinetoHorizontalRel"); } @@ -2192,7 +2199,7 @@ public void _SVGPathSeg_SVGPathSegLinetoHorizontalRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegLinetoRel() throws Exception { test("SVGPathSeg", "SVGPathSegLinetoRel"); } @@ -2203,7 +2210,7 @@ public void _SVGPathSeg_SVGPathSegLinetoRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegLinetoVerticalAbs() throws Exception { test("SVGPathSeg", "SVGPathSegLinetoVerticalAbs"); } @@ -2214,7 +2221,7 @@ public void _SVGPathSeg_SVGPathSegLinetoVerticalAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegLinetoVerticalRel() throws Exception { test("SVGPathSeg", "SVGPathSegLinetoVerticalRel"); } @@ -2225,7 +2232,7 @@ public void _SVGPathSeg_SVGPathSegLinetoVerticalRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegMovetoAbs() throws Exception { test("SVGPathSeg", "SVGPathSegMovetoAbs"); } @@ -2236,7 +2243,7 @@ public void _SVGPathSeg_SVGPathSegMovetoAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSeg_SVGPathSegMovetoRel() throws Exception { test("SVGPathSeg", "SVGPathSegMovetoRel"); } @@ -2247,7 +2254,7 @@ public void _SVGPathSeg_SVGPathSegMovetoRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegArcAbs_SVGPathSegArcAbs() throws Exception { test("SVGPathSegArcAbs", "SVGPathSegArcAbs"); } @@ -2258,7 +2265,7 @@ public void _SVGPathSegArcAbs_SVGPathSegArcAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegArcRel_SVGPathSegArcRel() throws Exception { test("SVGPathSegArcRel", "SVGPathSegArcRel"); } @@ -2269,7 +2276,7 @@ public void _SVGPathSegArcRel_SVGPathSegArcRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegClosePath_SVGPathSegClosePath() throws Exception { test("SVGPathSegClosePath", "SVGPathSegClosePath"); } @@ -2280,7 +2287,7 @@ public void _SVGPathSegClosePath_SVGPathSegClosePath() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegCurvetoCubicAbs_SVGPathSegCurvetoCubicAbs() throws Exception { test("SVGPathSegCurvetoCubicAbs", "SVGPathSegCurvetoCubicAbs"); } @@ -2291,7 +2298,7 @@ public void _SVGPathSegCurvetoCubicAbs_SVGPathSegCurvetoCubicAbs() throws Except @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegCurvetoCubicRel_SVGPathSegCurvetoCubicRel() throws Exception { test("SVGPathSegCurvetoCubicRel", "SVGPathSegCurvetoCubicRel"); } @@ -2302,7 +2309,7 @@ public void _SVGPathSegCurvetoCubicRel_SVGPathSegCurvetoCubicRel() throws Except @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegCurvetoCubicSmoothAbs_SVGPathSegCurvetoCubicSmoothAbs() throws Exception { test("SVGPathSegCurvetoCubicSmoothAbs", "SVGPathSegCurvetoCubicSmoothAbs"); } @@ -2313,7 +2320,7 @@ public void _SVGPathSegCurvetoCubicSmoothAbs_SVGPathSegCurvetoCubicSmoothAbs() t @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegCurvetoCubicSmoothRel_SVGPathSegCurvetoCubicSmoothRel() throws Exception { test("SVGPathSegCurvetoCubicSmoothRel", "SVGPathSegCurvetoCubicSmoothRel"); } @@ -2324,7 +2331,7 @@ public void _SVGPathSegCurvetoCubicSmoothRel_SVGPathSegCurvetoCubicSmoothRel() t @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegCurvetoQuadraticAbs_SVGPathSegCurvetoQuadraticAbs() throws Exception { test("SVGPathSegCurvetoQuadraticAbs", "SVGPathSegCurvetoQuadraticAbs"); } @@ -2335,7 +2342,7 @@ public void _SVGPathSegCurvetoQuadraticAbs_SVGPathSegCurvetoQuadraticAbs() throw @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegCurvetoQuadraticRel_SVGPathSegCurvetoQuadraticRel() throws Exception { test("SVGPathSegCurvetoQuadraticRel", "SVGPathSegCurvetoQuadraticRel"); } @@ -2346,7 +2353,7 @@ public void _SVGPathSegCurvetoQuadraticRel_SVGPathSegCurvetoQuadraticRel() throw @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegCurvetoQuadraticSmoothAbs_SVGPathSegCurvetoQuadraticSmoothAbs() throws Exception { test("SVGPathSegCurvetoQuadraticSmoothAbs", "SVGPathSegCurvetoQuadraticSmoothAbs"); } @@ -2357,7 +2364,7 @@ public void _SVGPathSegCurvetoQuadraticSmoothAbs_SVGPathSegCurvetoQuadraticSmoot @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegCurvetoQuadraticSmoothRel_SVGPathSegCurvetoQuadraticSmoothRel() throws Exception { test("SVGPathSegCurvetoQuadraticSmoothRel", "SVGPathSegCurvetoQuadraticSmoothRel"); } @@ -2368,7 +2375,7 @@ public void _SVGPathSegCurvetoQuadraticSmoothRel_SVGPathSegCurvetoQuadraticSmoot @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegLinetoAbs_SVGPathSegLinetoAbs() throws Exception { test("SVGPathSegLinetoAbs", "SVGPathSegLinetoAbs"); } @@ -2379,7 +2386,7 @@ public void _SVGPathSegLinetoAbs_SVGPathSegLinetoAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegLinetoHorizontalAbs_SVGPathSegLinetoHorizontalAbs() throws Exception { test("SVGPathSegLinetoHorizontalAbs", "SVGPathSegLinetoHorizontalAbs"); } @@ -2390,7 +2397,7 @@ public void _SVGPathSegLinetoHorizontalAbs_SVGPathSegLinetoHorizontalAbs() throw @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegLinetoHorizontalRel_SVGPathSegLinetoHorizontalRel() throws Exception { test("SVGPathSegLinetoHorizontalRel", "SVGPathSegLinetoHorizontalRel"); } @@ -2401,7 +2408,7 @@ public void _SVGPathSegLinetoHorizontalRel_SVGPathSegLinetoHorizontalRel() throw @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegLinetoRel_SVGPathSegLinetoRel() throws Exception { test("SVGPathSegLinetoRel", "SVGPathSegLinetoRel"); } @@ -2412,7 +2419,7 @@ public void _SVGPathSegLinetoRel_SVGPathSegLinetoRel() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegLinetoVerticalAbs_SVGPathSegLinetoVerticalAbs() throws Exception { test("SVGPathSegLinetoVerticalAbs", "SVGPathSegLinetoVerticalAbs"); } @@ -2423,7 +2430,7 @@ public void _SVGPathSegLinetoVerticalAbs_SVGPathSegLinetoVerticalAbs() throws Ex @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegLinetoVerticalRel_SVGPathSegLinetoVerticalRel() throws Exception { test("SVGPathSegLinetoVerticalRel", "SVGPathSegLinetoVerticalRel"); } @@ -2444,7 +2451,7 @@ public void _SVGPathSegList_SVGPathSegList() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegMovetoAbs_SVGPathSegMovetoAbs() throws Exception { test("SVGPathSegMovetoAbs", "SVGPathSegMovetoAbs"); } @@ -2455,7 +2462,7 @@ public void _SVGPathSegMovetoAbs_SVGPathSegMovetoAbs() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGPathSegMovetoRel_SVGPathSegMovetoRel() throws Exception { test("SVGPathSegMovetoRel", "SVGPathSegMovetoRel"); } @@ -2775,7 +2782,7 @@ public void _SVGViewElement_SVGViewElement() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _SVGZoomEvent_SVGZoomEvent() throws Exception { test("SVGZoomEvent", "SVGZoomEvent"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfTTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfTTest.java index 69c3a918f7e..4cbcc9d6cf4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfTTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfTTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -315,8 +315,7 @@ public void _UIEvent_MouseWheelEvent() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "true", - FF52 = "false") + @Alerts("true") public void _UIEvent_PointerEvent() throws Exception { test("UIEvent", "PointerEvent"); } @@ -327,7 +326,7 @@ public void _UIEvent_PointerEvent() throws Exception { @Test @Alerts(DEFAULT = "true", CHROME = "false", - FF60 = "false") + FF = "false") public void _UIEvent_SVGZoomEvent() throws Exception { test("UIEvent", "SVGZoomEvent"); } @@ -449,7 +448,7 @@ public void _URLSearchParams_URLSearchParams() throws Exception { */ @Test @Alerts(DEFAULT = "false", - FF = "true") + FF60 = "true") public void _UserProximityEvent_UserProximityEvent() throws Exception { test("UserProximityEvent", "UserProximityEvent"); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfWTest.java b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfWTest.java index b89347df672..56a7e591c87 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfWTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/general/huge/HostParentOfWTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/AttributesTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/AttributesTest.java index 77d0860d462..304df2aae42 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/AttributesTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/AttributesTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -24,6 +24,7 @@ import com.gargoylesoftware.htmlunit.MockWebConnection; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.WebTestCase; +import com.gargoylesoftware.htmlunit.html.parser.HTMLParser; import junit.framework.Test; import junit.framework.TestCase; @@ -145,6 +146,7 @@ public static Test suite() throws Exception { } supportedTags.remove("keygen"); + supportedTags.remove("input"); if (!supportedTags.isEmpty()) { throw new RuntimeException("Missing tag class(es) " + supportedTags); @@ -258,22 +260,23 @@ protected void runTest() throws Exception { * @throws Exception if the new object cannot be created */ private DomElement getNewInstanceForClassUnderTest(final HtmlPage page) throws Exception { + final HTMLParser htmlParser = page.getWebClient().getPageCreator().getHtmlParser(); final DomElement newInstance; if (classUnderTest_ == HtmlTableRow.class) { - newInstance = HTMLParser.getFactory(HtmlTableRow.TAG_NAME).createElement( - page, HtmlTableRow.TAG_NAME, null); + newInstance = htmlParser.getFactory(HtmlTableRow.TAG_NAME) + .createElement(page, HtmlTableRow.TAG_NAME, null); } else if (classUnderTest_ == HtmlTableHeaderCell.class) { - newInstance = HTMLParser.getFactory(HtmlTableHeaderCell.TAG_NAME).createElement( - page, HtmlTableHeaderCell.TAG_NAME, null); + newInstance = htmlParser.getFactory(HtmlTableHeaderCell.TAG_NAME) + .createElement(page, HtmlTableHeaderCell.TAG_NAME, null); } else if (classUnderTest_ == HtmlTableDataCell.class) { - newInstance = HTMLParser.getFactory(HtmlTableDataCell.TAG_NAME).createElement( - page, HtmlTableDataCell.TAG_NAME, null); + newInstance = htmlParser.getFactory(HtmlTableDataCell.TAG_NAME) + .createElement(page, HtmlTableDataCell.TAG_NAME, null); } else { final String tagName = (String) classUnderTest_.getField("TAG_NAME").get(null); - newInstance = HTMLParser.getFactory(tagName).createElement(page, tagName, null); + newInstance = htmlParser.getFactory(tagName).createElement(page, tagName, null); } return newInstance; diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/BaseFrameElement2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/BaseFrameElement2Test.java index dfd1586604b..8a891106b91 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/BaseFrameElement2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/BaseFrameElement2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/BaseFrameElementTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/BaseFrameElementTest.java index 7a478712561..07229e56e45 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/BaseFrameElementTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/BaseFrameElementTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/ClickableElement2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/ClickableElement2Test.java index 8c7068b9f9f..1339222e559 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/ClickableElement2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/ClickableElement2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,8 +14,6 @@ */ package com.gargoylesoftware.htmlunit.html; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF52; - import org.junit.Test; import org.junit.runner.RunWith; import org.openqa.selenium.By; @@ -24,7 +22,6 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.BrowserRunner.BuggyWebDriver; import com.gargoylesoftware.htmlunit.WebDriverTestCase; /** @@ -63,7 +60,6 @@ public void clickOnFocus() throws Exception { */ @Test @Alerts("click click dblclick ") - @BuggyWebDriver(FF52) public void dblClick() throws Exception { final String content = "\n" + "\n" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/ClickableElementTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/ClickableElementTest.java index 3a83c39eb54..3fdbd3e69d9 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/ClickableElementTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/ClickableElementTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,8 +14,6 @@ */ package com.gargoylesoftware.htmlunit.html; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; - import java.util.ArrayList; import java.util.List; @@ -578,7 +576,7 @@ public void object_onClick() throws Exception { @Test @Alerts(DEFAULT = "foo", IE = "") - @BuggyWebDriver(CHROME) + @BuggyWebDriver(CHROME = "") // ChromeDriver does not generate a "foo" but it occurs manually public void option_onClick() throws Exception { final String htmlContent = "foo\n" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactoryTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactoryTest.java index ad8ad40484e..f76d5ee308e 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactoryTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DefaultElementFactoryTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DisabledElementTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DisabledElementTest.java index 42ebb0daa48..222f4f81fd1 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DisabledElementTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DisabledElementTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomAttrTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomAttrTest.java index 73922923cfe..6f7a86af3e6 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomAttrTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomAttrTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomCommentTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomCommentTest.java index 473a69a7075..38a7609270f 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomCommentTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomCommentTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java index 8d46bc3ef42..e162afb1c7d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomDocumentFragmentTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomElement2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomElement2Test.java index 0f1f16b9f23..c0f32841ad2 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomElement2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomElement2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomElementTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomElementTest.java index 5d42137c9bf..b2bc449d39b 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomElementTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomElementTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNamespaceNodeTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNamespaceNodeTest.java index 6ceab5e943b..4f7706cf115 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNamespaceNodeTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNamespaceNodeTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNode2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNode2Test.java index 1543c5a5dde..82111c2ed1d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNode2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNode2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeIterator2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeIterator2Test.java new file mode 100644 index 00000000000..35dbf50ccd5 --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeIterator2Test.java @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2002-2020 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 org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.w3c.dom.traversal.NodeFilter; +import org.w3c.dom.traversal.NodeIterator; + +import com.gargoylesoftware.htmlunit.BrowserRunner; +import com.gargoylesoftware.htmlunit.SimpleWebTestCase; + +/** + * Tests for {@link DomNodeIterator}. + * + * @author Ahmed Ashour + * @author Ronald Brill + */ +@RunWith(BrowserRunner.class) +public final class DomNodeIterator2Test extends SimpleWebTestCase { + + /** + * Test case for issue 1982. + * @throws Exception if the test fails + */ + @Test + public void subroot() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
    1112
    2122
    \n" + + ""; + + final HtmlPage page = loadPage(html); + + final HtmlElement subroot = (HtmlElement) page.getElementById("1"); + final NodeIterator iterator = page.createNodeIterator(subroot, NodeFilter.SHOW_ELEMENT, null, true); + + HtmlElement element = (HtmlElement) iterator.nextNode(); + Assert.assertEquals("1", element.getId()); + + element = (HtmlElement) iterator.nextNode(); + Assert.assertEquals("11", element.getId()); + + element = (HtmlElement) iterator.nextNode(); + Assert.assertEquals("12", element.getId()); + + Assert.assertNull(iterator.nextNode()); + } +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeIteratorTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeIteratorTest.java index 0a941ae35b7..cd64123413a 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeIteratorTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeIteratorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -17,7 +17,6 @@ import static org.hamcrest.CoreMatchers.instanceOf; import static org.junit.Assert.assertThat; -import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.openqa.selenium.WebDriver; @@ -63,46 +62,4 @@ public void nextNode() throws Exception { assertThat(iterator.nextNode(), instanceOf(HtmlHtml.class)); } } - - /** - * Test case for issue 1982. - * @throws Exception if the test fails - */ - @Test - public void subroot() throws Exception { - final String html - = "\n" - + "\n" - + "\n" - + "\n" - + "\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + "
    1112
    2122
    \n" - + ""; - - final WebDriver driver = loadPage2(html); - final WebWindow webWindow = getWebWindowOf((HtmlUnitDriver) driver); - final HtmlPage page = (HtmlPage) webWindow.getEnclosedPage(); - - final HtmlElement subroot = (HtmlElement) page.getElementById("1"); - final NodeIterator iterator = page.createNodeIterator(subroot, NodeFilter.SHOW_ELEMENT, null, true); - - HtmlElement element = (HtmlElement) iterator.nextNode(); - Assert.assertEquals("1", element.getId()); - - element = (HtmlElement) iterator.nextNode(); - Assert.assertEquals("11", element.getId()); - - element = (HtmlElement) iterator.nextNode(); - Assert.assertEquals("12", element.getId()); - - Assert.assertNull(iterator.nextNode()); - } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeListTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeListTest.java index 88c8e1e710d..116fc62e8a0 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeListTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeListTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeTest.java index ec3005edcce..4e35a186462 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomNodeTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -191,8 +191,9 @@ public void replace() throws Exception { final DomNode node2 = page.getHtmlElementById("tag2"); assertEquals("div", node2.getNodeName()); - final DomNode node3 = HTMLParser.getFactory(HtmlSpan.TAG_NAME).createElement( - page, HtmlSpan.TAG_NAME, attributes); + final DomNode node3 = page.getWebClient().getPageCreator().getHtmlParser() + .getFactory(HtmlSpan.TAG_NAME) + .createElement(page, HtmlSpan.TAG_NAME, attributes); node2.replace(node3); assertEquals("span", page.getHtmlElementById("tag2").getTagName()); } @@ -211,8 +212,9 @@ public void getNewNodeById() throws Exception { final AttributesImpl attributes = new AttributesImpl(); attributes.addAttribute(null, "id", "id", null, "newElt"); - final DomNode newNode = HTMLParser.getFactory(HtmlDivision.TAG_NAME).createElement( - page, HtmlDivision.TAG_NAME, attributes); + final DomNode newNode = page.getWebClient().getPageCreator().getHtmlParser() + .getFactory(HtmlDivision.TAG_NAME) + .createElement(page, HtmlDivision.TAG_NAME, attributes); try { page.getHtmlElementById("newElt"); fail("Element should not exist yet"); @@ -320,10 +322,20 @@ private static int readPositionAmongParentChildren(final DomNode node) { @Test public void getByXPath() throws Exception { final String htmlContent - = "my title\n" - + "
    • foo 1
    • foo 2
    \n" - + "
    bla
    \n" - + ""; + = "\n" + + " \n" + + " my title\n" + + " " + + " \n" + + "
    \n" + + "
      \n" + + "
    • foo 1
    • \n" + + "
    • foo 2
    • \n" + + "
    \n" + + "
    \n" + + "
    bla
    \n" + + "\n" + + ""; final HtmlPage page = loadPage(htmlContent); final List results = page.getByXPath("//title"); @@ -346,6 +358,31 @@ public void getByXPath() throws Exception { assertEquals(2, div.getFirstByXPath("count(//li)").intValue()); } + /** + * @throws Exception if the test fails + */ + @Test + public void getByXPathSelectedNode() throws Exception { + final String htmlContent + = "\n" + + " \n" + + " my title\n" + + " " + + " \n" + + "

    HtmlUnit

    \n" + + "
    \n" + + "

    HtmlUnit

    \n" + + "
    \n" + + "\n" + + ""; + final HtmlPage page = loadPage(htmlContent); + + final HtmlDivision divNode = (HtmlDivision) page.getElementById("d1"); + + assertEquals(page.getElementById("h1"), divNode.getByXPath(".//h1").get(0)); + assertEquals(page.getElementById("outer_h1"), divNode.getByXPath("//h1").get(0)); + } + /** * Regression test for bug #1149: xmlns value has to be trimmed. * @throws Exception if the test fails @@ -362,6 +399,32 @@ public void getByXPath_trim_namespace() throws Exception { assertEquals(1, results.size()); } + /** + * Make sure display: none has no effect for xpath expressions. + * @throws Exception if the test fails + */ + @Test + public void getFirstByXPathDisplayNone() throws Exception { + final String htmlContent + = "\n" + + " \n" + + " my title\n" + + " " + + " \n" + + "
    bla
    \n" + + "\n" + + ""; + final HtmlPage page = loadPage(htmlContent); + + HtmlElement span = page.getFirstByXPath("//div/span"); + assertEquals("\r\n bla\r\n\r\n", span.asXml()); + assertFalse(span.isDisplayed()); + + span = page.getFirstByXPath("//span[text()=\"bla\"]"); + assertEquals("\r\n bla\r\n\r\n", span.asXml()); + assertFalse(span.isDisplayed()); + } + /** * @throws Exception if the test fails */ diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomTextTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomTextTest.java index 237a9787d25..e31ba448fd8 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomTextTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomTextTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -25,9 +25,9 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.MockWebConnection; import com.gargoylesoftware.htmlunit.SimpleWebTestCase; -import com.gargoylesoftware.htmlunit.TextUtil; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.util.MimeType; +import com.gargoylesoftware.htmlunit.util.TextUtils; /** * Tests for {@link DomText}. @@ -162,7 +162,7 @@ public void asXml() throws Exception { final WebClient client = getWebClient(); final MockWebConnection webConnection = new MockWebConnection(); - webConnection.setDefaultResponse(TextUtil.stringToByteArray(html, UTF_8), 200, "OK", MimeType.TEXT_HTML); + webConnection.setDefaultResponse(TextUtils.stringToByteArray(html, UTF_8), 200, "OK", MimeType.TEXT_HTML); client.setWebConnection(webConnection); final HtmlPage page = client.getPage(URL_FIRST); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/DomTreeWalkerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/DomTreeWalkerTest.java index 019eecd1bc5..ed7b8832d5e 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/DomTreeWalkerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/DomTreeWalkerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/FocusableElement2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/FocusableElement2Test.java index b72056a6f08..98478d048c1 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/FocusableElement2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/FocusableElement2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -255,8 +255,8 @@ public void focusOnNonFocusableElementShouldNotTriggerDocumentFocus() throws Exc * @throws Exception if the test fails */ @Test - @BuggyWebDriver(IE) @Alerts({"input1", "focus1", "div", "input2", "blur1", "focus2"}) + @BuggyWebDriver(IE = {"input1", "div", "input2", "focus1", "blur1", "focus2"}) public void focusOnNonFocusableElementShouldNotChangeCurrentFocus() throws Exception { final String html = "\n" + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = {"#000000--null", "#000000--null", "#000000--null"}, + IE = {"--null", "exception", "--null"}) + public void defaultValuesAfterClone() throws Exception { + final String html = "foo\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void getVisibleText() throws Exception { final String htmlContent - = "foo\n" + = "\n" + + "\n" + + "\n" + "
    \n" - + " \n" - + "
    "; + + " \n" + + "\n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getBody().getVisibleText()); + } + } + + /** + * Verifies clear(). + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "#000000", + IE = "") + public void clearInput() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; final WebDriver driver = loadPage2(htmlContent); + final WebElement element = driver.findElement(By.id("tester")); - final WebElement input = driver.findElement(By.id("foo")); - assertEquals("", input.getText()); + element.clear(); + assertEquals(getExpectedAlerts()[0], element.getAttribute("value")); } /** @@ -56,7 +160,8 @@ public void asText() throws Exception { @Test @Alerts("--") public void minMaxStep() throws Exception { - final String html = "\n" + final String html + = "\n" + "\n" + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = {"--null", "--null", "--null"}, + IE = {"--null", "exception", "--null"}) + public void defaultValuesAfterClone() throws Exception { + final String html = "foo\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + /** * @throws Exception if an error occurs */ @Test @Alerts(DEFAULT = {"text-datetime", "text-Date"}, CHROME = {"text-datetime", "date-Date"}, - FF60 = {"text-datetime", "date-Date"}) + FF = {"text-datetime", "date-Date"}) public void type() throws Exception { final String html = "\n" @@ -68,7 +138,8 @@ public void type() throws Exception { */ @Test @Alerts("2018-03-22") - @BuggyWebDriver(CHROME) + @BuggyWebDriver(CHROME = "80322-02-01", + IE = "") public void typeInto() throws Exception { final String html = "\n" @@ -92,6 +163,27 @@ public void typeInto() throws Exception { verifyAlerts(driver, getExpectedAlerts()); } + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts("") + public void clearInput() throws Exception { + final String html = + "\n" + + "\n" + + " \n" + + ""; + + final WebDriver driver = loadPage2(html); + final WebElement input = driver.findElement(By.id("input")); + + assertEquals("2018-03-22", input.getAttribute("value")); + + input.clear(); + assertEquals("", input.getAttribute("value")); + } + /** * @throws Exception if the test fails */ diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDateTimeLocalInputTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDateTimeLocalInputTest.java new file mode 100644 index 00000000000..06d28a9c7d9 --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDateTimeLocalInputTest.java @@ -0,0 +1,182 @@ +/* + * Copyright (c) 2002-2020 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 org.junit.Test; +import org.junit.runner.RunWith; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.htmlunit.HtmlUnitDriver; + +import com.gargoylesoftware.htmlunit.BrowserRunner; +import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; +import com.gargoylesoftware.htmlunit.WebDriverTestCase; + +/** + * Tests for {@link HtmlDateTimeLocalInput}. + * + * @author Ronald Brill + */ +@RunWith(BrowserRunner.class) +public class HtmlDateTimeLocalInputTest extends WebDriverTestCase { + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = {"--null", "--null", "--null"}, + IE = {"--null", "exception", "--null"}) + public void defaultValues() throws Exception { + final String html = "foo\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = {"--null", "--null", "--null"}, + IE = {"--null", "exception", "--null"}) + public void defaultValuesAfterClone() throws Exception { + final String html = "foo\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void getVisibleText() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getBody().getVisibleText()); + } + } + + /** + * Verifies clear(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void clearInput() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final WebElement element = driver.findElement(By.id("tester")); + + element.clear(); + assertEquals(getExpectedAlerts()[0], element.getAttribute("value")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("--") + public void minMaxStep() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + "\n" + + ""; + + loadPageWithAlerts2(html); + } +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionDescriptionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionDescriptionTest.java index 25fe0e243f9..1a21e8f53f2 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionDescriptionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionDescriptionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionListTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionListTest.java index 38baeb746a4..59d7de0dcde 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionListTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDefinitionListTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDirectoryTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDirectoryTest.java index 34dc7a64a5d..8b568e20977 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDirectoryTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDirectoryTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivision2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivision2Test.java index 269c5e9165d..9a86c3637d2 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivision2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivision2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivisionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivisionTest.java index aecf5e58d57..1e9238889a2 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivisionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlDivisionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlElement2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlElement2Test.java index fcda889114d..85b1a57a590 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlElement2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlElement2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,9 +14,6 @@ */ package com.gargoylesoftware.htmlunit.html; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import org.junit.Test; @@ -186,7 +183,10 @@ public void contentEditable() throws Exception { FF = "down: 16,0 down: 49,0 press: 0,33 up: 49,0 up: 16,0" + " down: 16,0 down: 220,0 press: 0,124 up: 220,0 up: 16,0") //https://github.com/SeleniumHQ/selenium/issues/639 - @BuggyWebDriver(FF) + @BuggyWebDriver(FF60 = "down: 49,0 press: 0,33 up: 49,0 down: 220,0 press: 0,124 up: 220,0", + FF68 = "down: 49,0 press: 33,33 up: 49,0 down: 220,0 press: 124,124 up: 220,0", + IE = "down: 16,0 down: 49,0 press: 33,33 up: 49,0 up: 16,0 down: 17,0 " + + "down: 18,0 down: 226,0 press: 124,124 up: 226,0 up: 17,0 up: 18,0") public void shiftKeys() throws Exception { final String html = "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts({"--null", "--null", "--null"}) + public void defaultValuesAfterClone() throws Exception { + final String html = "foo\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void getVisibleText() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getBody().getVisibleText()); + } + } + + /** + * Verifies clear(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void clearInput() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final WebElement element = driver.findElement(By.id("tester")); + + element.clear(); + assertEquals(getExpectedAlerts()[0], element.getAttribute("value")); + } + /** * @throws Exception if the test fails */ diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlEmbedTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlEmbedTest.java index 618a492b719..f8fe58b4408 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlEmbedTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlEmbedTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFieldSetTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFieldSetTest.java index ba44297d9b0..1bd8bbfac03 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFieldSetTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFieldSetTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java index b0d430d9c92..8b2c1ac8397 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInput2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -604,9 +604,7 @@ public void onchangeMultiple() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = {"C:\\fakepath\\pom.xml-Hello world-Hello world", - ""}, - FF52 = {"pom.xml-Hello world-Hello world", + @Alerts({"C:\\fakepath\\pom.xml-Hello world-Hello world", ""}) public void value() throws Exception { final String html = diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInputTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInputTest.java index bf417ea5cf7..7285da66f2e 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInputTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFileInputTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -45,10 +45,10 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.HttpHeader; import com.gargoylesoftware.htmlunit.WebDriverTestCase; import com.gargoylesoftware.htmlunit.WebRequest; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link HtmlFileInput}. @@ -147,7 +147,8 @@ public void contentTypePng() throws Exception { */ @Test @Alerts(DEFAULT = {"CONTENT_TYPE:application/octet-stream", "charset"}, - CHROME = {"CONTENT_TYPE:image/webp", "charset"}) + CHROME = {"CONTENT_TYPE:image/webp", "charset"}, + FF68 = {"CONTENT_TYPE:image/webp", "charset"}) public void contentTypeWebp() throws Exception { contentType("webp"); } @@ -425,6 +426,7 @@ public void contentTypeHeader() throws Exception { + "\n" + "\n" + "\n"; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); final WebDriver driver = loadPage2(htmlContent); String path = getClass().getClassLoader().getResource("realm.properties").toExternalForm(); @@ -454,6 +456,7 @@ public void empty() throws Exception { + "\n" + "\n" + "\n"; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); final WebDriver driver = loadPage2(htmlContent); driver.findElement(By.id("mySubmit")).click(); @@ -482,6 +485,7 @@ public void realFile() throws Exception { + "\n" + "\n" + "\n"; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); final WebDriver driver = loadPage2(htmlContent); @@ -510,6 +514,7 @@ public void chunked() throws Exception { + "\n" + "\n" + "\n"; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); final WebDriver driver = loadPage2(htmlContent); @@ -1028,8 +1033,7 @@ public void nonZeroWidthHeight() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "C:\\fakepath\\pom.xml--null", - FF52 = "pom.xml--null") + @Alerts("C:\\fakepath\\pom.xml--null") // since 2.28 // there is an option for IE, for local and trusted sites IE includes the file path // because we do not support any IE specific setting we do not send the filename as @@ -1110,8 +1114,7 @@ public void onchange() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = "C:\\fakepath\\pom.xml", - FF52 = "pom.xml") + @Alerts("C:\\fakepath\\pom.xml") // since 2.28 // there is an option for IE, for local and trusted sites IE includes the file path // because we do not support any IE specific setting we do not send the filename as diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFontTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFontTest.java index 285be31d0aa..c9fd29a79a5 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFontTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFontTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlForm2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlForm2Test.java index cdee8c97414..0158f478a35 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlForm2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlForm2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,7 +14,6 @@ */ package com.gargoylesoftware.htmlunit.html; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import static java.nio.charset.StandardCharsets.ISO_8859_1; import static java.nio.charset.StandardCharsets.UTF_8; @@ -41,11 +40,11 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; -import com.gargoylesoftware.htmlunit.BrowserRunner.BuggyWebDriver; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; import com.gargoylesoftware.htmlunit.FormEncodingType; import com.gargoylesoftware.htmlunit.HttpHeader; import com.gargoylesoftware.htmlunit.HttpMethod; +import com.gargoylesoftware.htmlunit.MockWebConnection; import com.gargoylesoftware.htmlunit.WebDriverTestCase; import com.gargoylesoftware.htmlunit.util.MimeType; import com.gargoylesoftware.htmlunit.util.NameValuePair; @@ -144,7 +143,7 @@ public void asFunction() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = {"TypeError"}, + @Alerts(DEFAULT = "TypeError", IE = {"textfieldid", "textfieldname", "textfieldid"}) public void asFunctionFormsFunction() throws Exception { final String html @@ -310,11 +309,79 @@ public void encodingSubmit() throws Exception { assertEquals(getExpectedAlerts()[2], requestedParams.get(0).getValue()); } + /** + * Tests the 'Origin' and 'Referer' HTTP header. + * @throws Exception on test failure + */ + @Test + @Alerts({"null", "§§URL§§path?query"}) + public void originRefererHeaderGet() throws Exception { + final String firstHtml + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + "\n" + + ""; + final String secondHtml = ""; + + final MockWebConnection webConnection = getMockWebConnection(); + final URL requestUrl = new URL(URL_FIRST, "/path?query"); + webConnection.setResponse(URL_SECOND, secondHtml); + + expandExpectedAlertsVariables(URL_FIRST); + final WebDriver driver = loadPage2(firstHtml, requestUrl); + + driver.findElement(new ById("mySubmit")).click(); + + final Map lastAdditionalHeaders = webConnection.getLastAdditionalHeaders(); + assertEquals(getExpectedAlerts()[0], "" + lastAdditionalHeaders.get(HttpHeader.ORIGIN)); + assertEquals(getExpectedAlerts()[1], "" + lastAdditionalHeaders.get(HttpHeader.REFERER)); + } + + /** + * Tests the 'Origin' HTTP header. + * @throws Exception on test failure + */ + @Test + @Alerts(DEFAULT = {"null", "§§URL§§/path?query"}, + CHROME = {"§§URL§§", "§§URL§§/path?query"}) + public void originRefererHeaderPost() throws Exception { + final String firstHtml + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + "\n" + + ""; + final String secondHtml = ""; + + final MockWebConnection webConnection = getMockWebConnection(); + final URL requestUrl = new URL(URL_FIRST, "/path?query"); + webConnection.setResponse(URL_SECOND, secondHtml); + + String url = URL_FIRST.toExternalForm(); + url = url.substring(0, url.length() - 1); + expandExpectedAlertsVariables(url); + final WebDriver driver = loadPage2(firstHtml, requestUrl); + + driver.findElement(new ById("mySubmit")).click(); + + final Map lastAdditionalHeaders = webConnection.getLastAdditionalHeaders(); + assertEquals(getExpectedAlerts()[0], "" + lastAdditionalHeaders.get(HttpHeader.ORIGIN)); + assertEquals(getExpectedAlerts()[1], "" + lastAdditionalHeaders.get(HttpHeader.REFERER)); + } + /** * @throws Exception if an error occurs */ @Test - @Alerts(CHROME = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", + @Alerts(CHROME = "text/html,application/xhtml+xml,application/xml;q=0.9," + + "image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", FF = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", IE = "text/html, application/xhtml+xml, */*") public void acceptHeader() throws Exception { @@ -364,7 +431,6 @@ protected void doGet(final HttpServletRequest request, final HttpServletResponse @Test @Alerts(DEFAULT = "gzip, deflate", CHROME = "gzip, deflate, br") - @NotYetImplemented(CHROME) public void acceptEncodingHeader() throws Exception { final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ @@ -776,7 +842,6 @@ public void buttonWithFormTarget() throws Exception { */ @Test @Alerts("second content") - @BuggyWebDriver(IE) public void inputTypeSubmitWithFormTarget() throws Exception { final String html = "\n" + "\n" @@ -880,4 +945,31 @@ protected void doGet(final HttpServletRequest request, final HttpServletResponse writer.write(html); } } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("second") + public void novalidate() throws Exception { + final String html = "\n" + + "first\n" + + "\n" + + "
    \n" + + " \n" + + " " + + "
    \n" + + ""; + + final String html2 = "\n" + + "\n" + + "second\n" + + "OK"; + getMockWebConnection().setDefaultResponse(html2); + + final WebDriver driver = loadPage2(html); + driver.findElement(By.id("submit")).click(); + + assertEquals(getExpectedAlerts()[0], driver.getTitle()); + } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFormTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFormTest.java index e580df00e26..a3b91fe99c0 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFormTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFormTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrame2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrame2Test.java index 1c0ef4dd587..384829ea1d1 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrame2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrame2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrameSetTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrameSetTest.java index 6c222403237..3b211f49fab 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrameSetTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrameSetTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrameTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrameTest.java index b4e416754d0..b896b1af062 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrameTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlFrameTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -130,7 +130,7 @@ public void deregisterNonHtmlFrame() throws Exception { + "\n" + " \n" + ""; - webConnection.setDefaultResponse("foo", 200, "OK", "text/plain"); + webConnection.setDefaultResponse("foo", 200, "OK", MimeType.TEXT_PLAIN); webConnection.setResponse(URL_FIRST, html); final HtmlPage page = webClient.getPage(URL_FIRST); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadTest.java index 594b4d07150..c77a458b745 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java index bf02447bd0c..6d0e849a15d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeading2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadingTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadingTest.java index 0e44fcc5d46..fdb7c66a209 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadingTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHeadingTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInput2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInput2Test.java index 365c67cd8f8..dd55fbe828a 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInput2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInput2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java index c5bb704a12e..2e16bc11a3a 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlHiddenInputTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -289,8 +289,8 @@ public void value() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = {"textLength not available"}, - FF = {"7"}) + @Alerts(DEFAULT = "textLength not available", + FF = "7") public void textLength() throws Exception { final String html = "foo\n" + "\n" + + "\n" + + "\n" + + " \n" + + " \n" + + " \n" + + ""; + final WebDriver driver = loadPage2(html); + driver.findElement(By.id("label1")).click(); + + assertEquals(Arrays.asList(getExpectedAlerts()).toString(), + '[' + driver.findElement(By.id("myTextarea")).getAttribute("value") + ']'); + } + + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts("labelclick,") + public void clickForSetFocusToDisabledInput() throws Exception { + final String html = "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + " \n" + + " \n" + + " \n" + + ""; + final WebDriver driver = loadPage2(html); + driver.findElement(By.id("label1")).click(); + + assertEquals(Arrays.asList(getExpectedAlerts()).toString(), + '[' + driver.findElement(By.id("myTextarea")).getAttribute("value") + ']'); + } + + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts("labelclick,") + public void clickForSetFocusToDisabledCheckbox() throws Exception { + final String html = "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + " \n" + + " \n" + + " \n" + + ""; + final WebDriver driver = loadPage2(html); + driver.findElement(By.id("label1")).click(); + + assertEquals(Arrays.asList(getExpectedAlerts()).toString(), + '[' + driver.findElement(By.id("myTextarea")).getAttribute("value") + ']'); + } + /** * @throws Exception if an error occurs */ diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLegendTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLegendTest.java index 94b9c5dcc14..84e0986c956 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLegendTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLegendTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLink2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLink2Test.java index 15e62583505..6963e0115d4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLink2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLink2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -28,8 +28,8 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; -import com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link HtmlLink}. @@ -65,22 +65,28 @@ public void simpleScriptable() throws Exception { } /** - * @throws Exception if an error occurs + * Verifies getVisibleText(). + * @throws Exception if the test fails */ @Test - public void asText() throws Exception { - final String html - = "\n" - + "\n" - + " \n" - + "\n" - + "\n" - + "\n" - + ""; + @Alerts("") + public void getVisibleText() throws Exception { + final String htmlContent + = "\n" + + "\n" + + " \n" + + "\n" + + "\n" + + ""; - final WebDriver driver = loadPageWithAlerts2(html); - final String text = driver.findElement(By.id("l")).getText(); - assertEquals("", text); + final WebDriver driver = loadPage2(htmlContent); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getBody().getVisibleText()); + } } /** @@ -202,6 +208,7 @@ private void onLoadOnError(final String attribs) throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); loadPageWithAlerts2(html); } @@ -212,7 +219,7 @@ private void onLoadOnError(final String attribs) throws Exception { @Test @Alerts(DEFAULT = {"onLoad1", "onLoadJs1", "onLoad2", "body onLoad;"}, IE = {"onLoadJs1", "body onLoad", "onLoad1", "onLoad2;"}) - @NotYetImplemented(TestedBrowser.IE) + @NotYetImplemented(IE) public void onLoadOrder() throws Exception { getMockWebConnection().setResponse(new URL(URL_FIRST, "simple1.css"), ""); getMockWebConnection().setResponse(new URL(URL_FIRST, "simple2.css"), ""); @@ -281,7 +288,7 @@ public void onLoadDynamic() throws Exception { @Test @Alerts(DEFAULT = "onError [object Event]", IE = "onLoad [object Event]") - @NotYetImplemented(TestedBrowser.IE) + @NotYetImplemented(IE) public void onLoadDynamicUnknown() throws Exception { getMockWebConnection().setResponse(new URL(URL_FIRST, "simple.css"), ""); final String html @@ -307,6 +314,7 @@ public void onLoadDynamicUnknown() throws Exception { + " \n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); final WebDriver driver = loadPage2(html); Thread.sleep(200); @@ -351,6 +359,7 @@ public void testEntityRefWithoutSemicolonReplaceInAttrib() throws Exception { + " /sample?string=a¡=1\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); expandExpectedAlertsVariables(URL_FIRST); final WebDriver driver = loadPage2(html); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLinkTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLinkTest.java index ffcfd99169a..1cd94d98ece 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLinkTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlLinkTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlListItemTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlListItemTest.java index f34d1ad07a5..76eeb6e8711 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlListItemTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlListItemTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMapTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMapTest.java index e409765a6d6..9f62036b09a 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMapTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMenuTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMenuTest.java index f465e37ba37..513890a168d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMenuTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMenuTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,6 +16,7 @@ import org.junit.Test; import org.junit.runner.RunWith; +import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.htmlunit.HtmlUnitDriver; @@ -28,10 +29,36 @@ * * @author Ahmed Ashour * @author Frank Danek + * @author Ronald Brill */ @RunWith(BrowserRunner.class) public class HtmlMenuTest extends WebDriverTestCase { + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("First Item\nSecond Item") + public void getVisibleText() throws Exception { + final String html = "\n" + + "\n" + + " \n" + + "
  • First Item
  • \n" + + "
  • Second Item
  • \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(html); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getElementById("tester").getVisibleText()); + } + } + /** * @throws Exception if the test fails */ @@ -47,7 +74,7 @@ public void simpleScriptable() throws Exception { + "\n" + " \n" + "
  • First Item
  • \n" - + "
  • Secong Item
  • \n" + + "
  • Second Item
  • \n" + "
    \n" + ""; diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMetaTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMetaTest.java index 3923fe70edd..c5ae6faee32 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMetaTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMetaTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlModificationTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlModificationTest.java index 27f906ebeb2..8131140d543 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlModificationTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlModificationTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,6 +16,7 @@ import org.junit.Test; import org.junit.runner.RunWith; +import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.htmlunit.HtmlUnitDriver; @@ -32,6 +33,28 @@ @RunWith(BrowserRunner.class) public class HtmlModificationTest extends WebDriverTestCase { + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("Some text is inserted or deleted") + public void getVisibleText() throws Exception { + final String html = "\n" + + "\n" + + " Some text is inserted or deleted\n" + + ""; + + final WebDriver driver = loadPage2(html); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getElementById("tester").getVisibleText()); + } + } + /** * @throws Exception if the test fails */ diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMonthInputTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMonthInputTest.java new file mode 100644 index 00000000000..049d5ae2952 --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlMonthInputTest.java @@ -0,0 +1,206 @@ +/* + * Copyright (c) 2002-2020 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 static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.htmlunit.HtmlUnitDriver; + +import com.gargoylesoftware.htmlunit.BrowserRunner; +import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; +import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; +import com.gargoylesoftware.htmlunit.WebDriverTestCase; + +/** + * Tests for {@link HtmlMonthInput}. + * + * @author Ronald Brill + */ +@RunWith(BrowserRunner.class) +public class HtmlMonthInputTest extends WebDriverTestCase { + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = {"--null", "--null", "--null"}, + IE = {"--null", "exception", "--null"}) + public void defaultValues() throws Exception { + final String html = "foo\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = {"--null", "--null", "--null"}, + IE = {"--null", "exception", "--null"}) + public void defaultValuesAfterClone() throws Exception { + final String html = "foo\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void getVisibleText() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getBody().getVisibleText()); + } + } + + /** + * Verifies clear(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void clearInput() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final WebElement element = driver.findElement(By.id("tester")); + + element.clear(); + assertEquals(getExpectedAlerts()[0], element.getAttribute("value")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "8", + CHROME = "") + @NotYetImplemented({FF, IE}) + public void typing() throws Exception { + final String htmlContent + = "foo\n" + + "
    \n" + + " \n" + + "
    "; + + final WebDriver driver = loadPage2(htmlContent); + + final WebElement input = driver.findElement(By.id("foo")); + input.sendKeys("8"); + assertEquals(getExpectedAlerts()[0], input.getAttribute("value")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("--") + public void minMaxStep() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + "\n" + + ""; + + loadPageWithAlerts2(html); + } +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoFrames2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoFrames2Test.java new file mode 100644 index 00000000000..4bcbd628871 --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoFrames2Test.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2002-2020 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 org.junit.Test; +import org.junit.runner.RunWith; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.htmlunit.HtmlUnitDriver; + +import com.gargoylesoftware.htmlunit.BrowserRunner; +import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; +import com.gargoylesoftware.htmlunit.WebDriverTestCase; + +/** + * Tests for {@link HtmlNoFrames}. + * + * @author Ronald Brill + */ +@RunWith(BrowserRunner.class) +public class HtmlNoFrames2Test extends WebDriverTestCase { + + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void getVisibleText() throws Exception { + final String html + = "\n" + + " \n" + + " Some text\n" + + " \n" + + ""; + + final WebDriver driver = loadPage2(html); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getElementById("tester").getVisibleText()); + } + } +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoFramesTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoFramesTest.java index 249adc6299e..9b9eb30601a 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoFramesTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoFramesTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScript2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScript2Test.java index 958844da46a..c270b60cb51 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScript2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScript2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScriptTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScriptTest.java index 8d5ffc0732b..4786e7b41a4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScriptTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlNoScriptTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -18,6 +18,7 @@ import org.junit.runner.RunWith; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; +import org.openqa.selenium.htmlunit.HtmlUnitDriver; import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; @@ -33,6 +34,30 @@ @RunWith(BrowserRunner.class) public class HtmlNoScriptTest extends WebDriverTestCase { + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void getVisibleText() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
")); + } +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUnorderedListTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUnorderedListTest.java index ed712590dfc..eeca8328749 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUnorderedListTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUnorderedListTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,28 +16,34 @@ import org.junit.Test; import org.junit.runner.RunWith; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.htmlunit.HtmlUnitDriver; import com.gargoylesoftware.htmlunit.BrowserRunner; -import com.gargoylesoftware.htmlunit.SimpleWebTestCase; +import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; +import com.gargoylesoftware.htmlunit.WebDriverTestCase; /** * Tests for {@link HtmlUnorderedList}. * - * @author Ahmed Ashour - * @author Marc Guillemot + * @author Ronald Brill */ @RunWith(BrowserRunner.class) -public class HtmlUnorderedListTest extends SimpleWebTestCase { +public class HtmlUnorderedListTest extends WebDriverTestCase { /** + * Verifies getVisibleText(). * @throws Exception if the test fails */ @Test - public void asText() throws Exception { - final String html = "\n" - + "\n" + @Alerts("first item\nsecond item\nsomething without li node\nthird item") + public void getVisibleText() throws Exception { + final String htmlContent + = "\n" + + "\n" + "\n" - + "
    \n" + + "
      \n" + "
    • first item
    • \n" + "
    • second item
    • \n" + "something without li node\n" @@ -45,34 +51,13 @@ public void asText() throws Exception { + "
    \n" + ""; - final HtmlPage page = loadPage(html); - final HtmlElement node = page.getHtmlElementById("foo"); - final String ls = System.lineSeparator(); - final String expectedText = "first item" + ls - + "second item" + ls - + "something without li node" + ls - + "third item"; + final WebDriver driver = loadPage2(htmlContent); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); - assertEquals(expectedText, node.asText()); - assertEquals(expectedText, page.asText()); - } - - /** - * Browsers ignore closing information in a self closing UL tag. - * @throws Exception if the test fails - */ - @Test - public void asXml() throws Exception { - final String content - = "\n" - + "\n" - + "
      \n" - + "foo\n" - + ""; - final HtmlPage page = loadPage(content); - final HtmlElement element = page.getHtmlElementById("myNode"); - - assertEquals("
        \r\n
      \r\n", element.asXml()); - assertTrue(page.asXml().contains("
    ")); + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getBody().getVisibleText()); + } } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUrlInput2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUrlInput2Test.java index b98c12aae4d..5c7ede73748 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUrlInput2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUrlInput2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -18,6 +18,7 @@ import org.junit.runner.RunWith; import com.gargoylesoftware.htmlunit.BrowserRunner; +import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.SimpleWebTestCase; /** @@ -28,6 +29,26 @@ @RunWith(BrowserRunner.class) public class HtmlUrlInput2Test extends SimpleWebTestCase { + /** + * Verifies that a asText() returns the value string. + * @throws Exception if the test fails + */ + @Test + @Alerts("http://htmlunit.sourceforge.net") + public void asText() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final HtmlPage page = loadPage(html); + assertEquals(getExpectedAlerts()[0], page.getBody().asText()); + } + /** * @throws Exception if the test fails */ diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUrlInputTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUrlInputTest.java index 3ceb0b00b30..edb27acb943 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUrlInputTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlUrlInputTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -19,10 +19,11 @@ import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; +import org.openqa.selenium.htmlunit.HtmlUnitDriver; import com.gargoylesoftware.htmlunit.BrowserRunner; -import com.gargoylesoftware.htmlunit.WebDriverTestCase; import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; +import com.gargoylesoftware.htmlunit.WebDriverTestCase; /** * Tests for {@link HtmlUrlInput}. @@ -33,6 +34,32 @@ @RunWith(BrowserRunner.class) public class HtmlUrlInputTest extends WebDriverTestCase { + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void getVisibleText() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getBody().getVisibleText()); + } + } + /** * @throws Exception if the test fails */ diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWeekInputTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWeekInputTest.java new file mode 100644 index 00000000000..66e9c1eed46 --- /dev/null +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWeekInputTest.java @@ -0,0 +1,206 @@ +/* + * Copyright (c) 2002-2020 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 static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.htmlunit.HtmlUnitDriver; + +import com.gargoylesoftware.htmlunit.BrowserRunner; +import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; +import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; +import com.gargoylesoftware.htmlunit.WebDriverTestCase; + +/** + * Tests for {@link HtmlWeekInput}. + * + * @author Ronald Brill + */ +@RunWith(BrowserRunner.class) +public class HtmlWeekInputTest extends WebDriverTestCase { + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = {"--null", "--null", "--null"}, + IE = {"--null", "exception", "--null"}) + public void defaultValues() throws Exception { + final String html = "foo\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = {"--null", "--null", "--null"}, + IE = {"--null", "exception", "--null"}) + public void defaultValuesAfterClone() throws Exception { + final String html = "foo\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "36", + CHROME = "") + @NotYetImplemented({FF, IE}) + public void typing() throws Exception { + final String htmlContent + = "foo\n" + + "
    \n" + + " \n" + + "
    "; + + final WebDriver driver = loadPage2(htmlContent); + + final WebElement input = driver.findElement(By.id("foo")); + input.sendKeys("36"); + assertEquals(getExpectedAlerts()[0], input.getAttribute("value")); + } + + /** + * Verifies getVisibleText(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void getVisibleText() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final String text = driver.findElement(By.id("tester")).getText(); + assertEquals(getExpectedAlerts()[0], text); + + if (driver instanceof HtmlUnitDriver) { + final HtmlPage page = (HtmlPage) getWebWindowOf((HtmlUnitDriver) driver).getEnclosedPage(); + assertEquals(getExpectedAlerts()[0], page.getBody().getVisibleText()); + } + } + + /** + * Verifies clear(). + * @throws Exception if the test fails + */ + @Test + @Alerts("") + public void clearInput() throws Exception { + final String htmlContent + = "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + ""; + + final WebDriver driver = loadPage2(htmlContent); + final WebElement element = driver.findElement(By.id("tester")); + + element.clear(); + assertEquals(getExpectedAlerts()[0], element.getAttribute("value")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("--") + public void minMaxStep() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + "
    \n" + + " \n" + + "
    \n" + + "\n" + + ""; + + loadPageWithAlerts2(html); + } +} diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWordBreakTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWordBreakTest.java index f353928a918..2049165d758 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWordBreakTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/HtmlWordBreakTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentExpressionEvaluatorTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentExpressionEvaluatorTest.java index 6c8eb59bd50..0c9b10fd61d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentExpressionEvaluatorTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentExpressionEvaluatorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentsTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentsTest.java index cebcc878a76..306562399de 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentsTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/IEConditionalCommentsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/LoggingRefreshHandler.java b/src/test/java/com/gargoylesoftware/htmlunit/html/LoggingRefreshHandler.java index 3b3736f374b..94464d5d7a5 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/LoggingRefreshHandler.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/LoggingRefreshHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtml2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtml2Test.java index 1b8904726a8..2ba96b86cbe 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtml2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtml2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtmlTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtmlTest.java index 7ac7d7494d3..08f1cced023 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtmlTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/MalformedHtmlTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/NamedAttrNodeMapImplTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/NamedAttrNodeMapImplTest.java index 123c51afd41..1ddb985e8e5 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/NamedAttrNodeMapImplTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/NamedAttrNodeMapImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/XHtmlPage2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/XHtmlPage2Test.java index e9f334fcda1..5ae60241590 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/XHtmlPage2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/XHtmlPage2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/XHtmlPageTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/XHtmlPageTest.java index 9d7c227af92..f0d506dcab7 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/XHtmlPageTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/XHtmlPageTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/XmlSerializerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/XmlSerializerTest.java index a7156055b23..4a6eab219e2 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/XmlSerializerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/XmlSerializerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,6 +15,8 @@ package com.gargoylesoftware.htmlunit.html; import java.io.File; +import java.net.URL; +import java.net.UnknownHostException; import org.junit.Rule; import org.junit.Test; @@ -25,11 +27,13 @@ import com.gargoylesoftware.htmlunit.MockWebConnection; import com.gargoylesoftware.htmlunit.SimpleWebTestCase; import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link XmlSerializer}. * * @author Ahmed Ashour + * @author Ronald Brill */ @RunWith(BrowserRunner.class) public class XmlSerializerTest extends SimpleWebTestCase { @@ -45,7 +49,62 @@ public class XmlSerializerTest extends SimpleWebTestCase { * @throws Exception if the test fails */ @Test - public void unsupportedProtocol() throws Exception { + public void notExistingLink() throws Exception { + final String html = + "\n" + + "" + + " \n" + + "\n" + + ""; + + final WebClient client = getWebClient(); + final MockWebConnection connection = getMockWebConnection(); + connection.setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); + connection.setResponse(URL_FIRST, html); + client.setWebConnection(connection); + + final HtmlPage page = client.getPage(URL_FIRST); + + final File tmpFolder = tmpFolderProvider_.newFolder("hu"); + final File file = new File(tmpFolder, "hu_XmlSerializerTest_notExistingLink.html"); + page.save(file); + assertTrue(file.exists()); + assertTrue(file.isFile()); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void unknownHostExceptionLink() throws Exception { + final URL imageUrl = new URL(URL_FIRST, "none.jpg"); + final String html = + "\n" + + "" + + " \n" + + "\n" + + ""; + + final WebClient client = getWebClient(); + final MockWebConnection connection = getMockWebConnection(); + connection.setThrowable(imageUrl, new UnknownHostException(imageUrl.toExternalForm())); + connection.setResponse(URL_FIRST, html); + client.setWebConnection(connection); + + final HtmlPage page = client.getPage(URL_FIRST); + + final File tmpFolder = tmpFolderProvider_.newFolder("hu"); + final File file = new File(tmpFolder, "hu_XmlSerializerTest_unknownHostExceptionLink.html"); + page.save(file); + assertTrue(file.exists()); + assertTrue(file.isFile()); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void unsupportedProtocolLink() throws Exception { final String html = "" + "\n" + ""; @@ -64,4 +123,84 @@ public void unsupportedProtocol() throws Exception { assertTrue(file.isFile()); } + /** + * @throws Exception if the test fails + */ + @Test + public void notExistingImage() throws Exception { + final String html = + "\n" + + "" + + " \n" + + "\n" + + ""; + + final WebClient client = getWebClient(); + final MockWebConnection connection = getMockWebConnection(); + connection.setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); + connection.setResponse(URL_FIRST, html); + client.setWebConnection(connection); + + final HtmlPage page = client.getPage(URL_FIRST); + + final File tmpFolder = tmpFolderProvider_.newFolder("hu"); + final File file = new File(tmpFolder, "hu_XmlSerializerTest_notExistingImage.html"); + page.save(file); + assertTrue(file.exists()); + assertTrue(file.isFile()); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void unknownHostExceptionImage() throws Exception { + final URL imageUrl = new URL(URL_FIRST, "none.jpg"); + final String html = + "\n" + + "" + + " \n" + + "\n" + + ""; + + final WebClient client = getWebClient(); + final MockWebConnection connection = getMockWebConnection(); + connection.setThrowable(imageUrl, new UnknownHostException(imageUrl.toExternalForm())); + connection.setResponse(URL_FIRST, html); + client.setWebConnection(connection); + + final HtmlPage page = client.getPage(URL_FIRST); + + final File tmpFolder = tmpFolderProvider_.newFolder("hu"); + final File file = new File(tmpFolder, "hu_XmlSerializerTest_unknownHostExceptionImage.html"); + page.save(file); + assertTrue(file.exists()); + assertTrue(file.isFile()); + } + + /** + * @throws Exception if the test fails + */ + @Test + public void unsupportedProtocolImage() throws Exception { + final String html = + "\n" + + "" + + " \n" + + "\n" + + ""; + + final WebClient client = getWebClient(); + final MockWebConnection connection = getMockWebConnection(); + connection.setResponse(URL_FIRST, html); + client.setWebConnection(connection); + + final HtmlPage page = client.getPage(URL_FIRST); + + final File tmpFolder = tmpFolderProvider_.newFolder("hu"); + final File file = new File(tmpFolder, "hu_XmlSerializerTest_unsupportedProtocolImage.html"); + page.save(file); + assertTrue(file.exists()); + assertTrue(file.isFile()); + } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/impl/SimpleRangeTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/impl/SimpleRangeTest.java index de7eb1f3e29..f23926ee630 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/impl/SimpleRangeTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/impl/SimpleRangeTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParser2Test.java similarity index 99% rename from src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java rename to src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParser2Test.java index 648922721ed..6dc138b3fc4 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParser2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.gargoylesoftware.htmlunit.html; +package com.gargoylesoftware.htmlunit.html.parser; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; @@ -24,6 +24,7 @@ import com.gargoylesoftware.htmlunit.BrowserRunner.Alerts; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.html.HtmlPageTest; /** * Test class for {@link HTMLParser}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser3Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParser3Test.java similarity index 96% rename from src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser3Test.java rename to src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParser3Test.java index 0c7d082f656..2cfcb2e8a55 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser3Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParser3Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.gargoylesoftware.htmlunit.html; +package com.gargoylesoftware.htmlunit.html.parser; import static java.nio.charset.StandardCharsets.ISO_8859_1; import static java.nio.charset.StandardCharsets.UTF_8; @@ -35,6 +35,7 @@ import com.gargoylesoftware.htmlunit.BrowserRunner; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.WebServerTestCase; +import com.gargoylesoftware.htmlunit.html.HtmlPage; import com.gargoylesoftware.htmlunit.util.MimeType; /** diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser4Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParser4Test.java similarity index 97% rename from src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser4Test.java rename to src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParser4Test.java index 26068149f27..7d024fb21aa 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParser4Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParser4Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -12,9 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.gargoylesoftware.htmlunit.html; - -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; +package com.gargoylesoftware.htmlunit.html.parser; import org.junit.Test; import org.junit.runner.RunWith; @@ -25,6 +23,7 @@ import com.gargoylesoftware.htmlunit.BrowserRunner.BuggyWebDriver; import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; import com.gargoylesoftware.htmlunit.WebDriverTestCase; +import com.gargoylesoftware.htmlunit.html.HtmlPageTest; /** * Test class for {@link HTMLParser}. @@ -445,11 +444,8 @@ public void svg_withoutNamespace() throws Exception { @Alerts({"titles", "HEAD", "Outer Html", "DIV", "Inner Html", "bodyTitles", "DIV", "Inner Html", "innerDiv", "outerDiv"}) - @BuggyWebDriver(IE) - // The correct values for IE are: - // IE = {"titles", "HEAD", "Outer Html", "DIV", "", - // "bodyTitles", "DIV", "", - // "innerDiv", "outerDiv"}) + @BuggyWebDriver(IE = {"titles", "HEAD", "Outer Html", "DIV", "", + "bodyTitles", "DIV", "", "innerDiv", "outerDiv"}) // This is pretty mysterious because the second title HAS the text 'Inner Html' inside. // Currently I do not know why it behaves this way so I take the default behavior. public void completeHtmlInsideDiv() throws Exception { @@ -503,11 +499,8 @@ public void completeHtmlInsideDiv() throws Exception { @Alerts({"titles", "HEAD", "Outer Html", "DIV", "Inner Html", "bodyTitles", "DIV", "Inner Html", "innerDiv", "outerDiv"}) - @BuggyWebDriver(IE) - // The correct values for IE are: - // IE = {"titles", "HEAD", "Outer Html", "DIV", "", - // "bodyTitles", "DIV", "", - // "innerDiv", "outerDiv"}) + @BuggyWebDriver(IE = {"titles", "HEAD", "Outer Html", "DIV", "", + "bodyTitles", "DIV", "", "innerDiv", "outerDiv"}) // This is pretty mysterious because the second title HAS the text 'Inner Html' inside. // Currently I do not know why it behaves this way so I take the default behavior. public void writeCompleteHtmlInsideDIV() throws Exception { diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserListenerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParserListenerTest.java similarity index 98% rename from src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserListenerTest.java rename to src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParserListenerTest.java index c89ad967aa3..15e219d300b 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserListenerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParserListenerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.gargoylesoftware.htmlunit.html; +package com.gargoylesoftware.htmlunit.html.parser; import java.net.URL; import java.util.ArrayList; @@ -27,6 +27,7 @@ import com.gargoylesoftware.htmlunit.MockWebConnection; import com.gargoylesoftware.htmlunit.SimpleWebTestCase; import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.html.HtmlPage; /** * Test class for {@link HTMLParserListener}. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParserTest.java similarity index 86% rename from src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserTest.java rename to src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParserTest.java index 9f2fb105a8d..032d0a515ff 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/HTMLParserTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/parser/HTMLParserTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -12,7 +12,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package com.gargoylesoftware.htmlunit.html; +package com.gargoylesoftware.htmlunit.html.parser; import java.net.URL; @@ -24,6 +24,13 @@ import com.gargoylesoftware.htmlunit.StringWebResponse; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.WebResponse; +import com.gargoylesoftware.htmlunit.html.DomElement; +import com.gargoylesoftware.htmlunit.html.HtmlDivision; +import com.gargoylesoftware.htmlunit.html.HtmlElement; +import com.gargoylesoftware.htmlunit.html.HtmlPage; +import com.gargoylesoftware.htmlunit.html.HtmlPageTest; +import com.gargoylesoftware.htmlunit.html.HtmlTableColumnGroup; +import com.gargoylesoftware.htmlunit.html.XHtmlPage; /** * Test class for {@link HTMLParser}. @@ -47,7 +54,8 @@ public void simpleHTMLString() throws Exception { final WebResponse webResponse = new StringWebResponse( "TITLE
    TEST
    ", URL_FIRST); - final HtmlPage page = HTMLParser.parseHtml(webResponse, webClient.getCurrentWindow()); + final HtmlPage page = webClient.getPageCreator().getHtmlParser() + .parseHtml(webResponse, webClient.getCurrentWindow()); final String stringVal = page.getFirstByXPath("//div").getFirstChild().getNodeValue(); assertEquals("TEST", stringVal); @@ -143,7 +151,8 @@ public void tableWithoutColgroup() throws Exception { final WebClient webClient = getWebClient(); final WebResponse webResponse = new StringWebResponse(html, URL_FIRST); - final XHtmlPage page = HTMLParser.parseXHtml(webResponse, webClient.getCurrentWindow()); + final XHtmlPage page = webClient.getPageCreator().getHtmlParser() + .parseXHtml(webResponse, webClient.getCurrentWindow()); final DomElement col = page.getElementsByTagName("col").get(0); assertEquals(col.getParentNode().getNodeName(), HtmlTableColumnGroup.TAG_NAME); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/xpath/HtmlUnitXPath2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/html/xpath/HtmlUnitXPath2Test.java index 4daa331c10d..723a7b56f08 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/xpath/HtmlUnitXPath2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/xpath/HtmlUnitXPath2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/html/xpath/HtmlUnitXPathTest.java b/src/test/java/com/gargoylesoftware/htmlunit/html/xpath/HtmlUnitXPathTest.java index bc1bf525160..ded2bb8afed 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/html/xpath/HtmlUnitXPathTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/html/xpath/HtmlUnitXPathTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/ArgumentsTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/ArgumentsTest.java index 13ef80a7d0a..2f58b43f967 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/ArgumentsTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/ArgumentsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/AttributeCaseTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/AttributeCaseTest.java index 7eb8e2c97ad..ee948613d11 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/AttributeCaseTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/AttributeCaseTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/DebugFrameImplTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/DebugFrameImplTest.java index a8e23283d61..c753ff74059 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/DebugFrameImplTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/DebugFrameImplTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -20,12 +20,11 @@ import java.net.URL; import org.apache.commons.io.IOUtils; -import org.apache.log4j.Appender; -import org.apache.log4j.Layout; -import org.apache.log4j.Level; -import org.apache.log4j.Logger; -import org.apache.log4j.PatternLayout; -import org.apache.log4j.WriterAppender; +import org.apache.logging.log4j.Level; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.core.Logger; +import org.apache.logging.log4j.core.appender.WriterAppender; +import org.apache.logging.log4j.core.layout.PatternLayout; import org.junit.After; import org.junit.Test; @@ -42,7 +41,7 @@ */ public class DebugFrameImplTest extends SimpleWebTestCase { - private final Logger loggerDebugFrameImpl_ = Logger.getLogger(DebugFrameImpl.class); + private final Logger loggerDebugFrameImpl_ = (Logger) LogManager.getLogger(DebugFrameImpl.class); private Level originalLogLevel_; private WebClient client_; @@ -54,6 +53,7 @@ public class DebugFrameImplTest extends SimpleWebTestCase { public DebugFrameImplTest() throws Exception { client_ = new WebClient(BrowserVersion.FIREFOX_60); ((JavaScriptEngine) client_.getJavaScriptEngine()).getContextFactory().setDebugger(new DebuggerImpl()); + originalLogLevel_ = loggerDebugFrameImpl_.getLevel(); loggerDebugFrameImpl_.setLevel(Level.TRACE); } @@ -100,17 +100,21 @@ void loggedCalls() throws Exception { final String expectedLog = IOUtils.toString(getClass().getResourceAsStream("debugFrameImplTest.txt"), ISO_8859_1); - final StringWriter sw = new StringWriter(); - final Layout layout = new PatternLayout("%m%n"); - final Appender appender = new WriterAppender(layout, sw); - loggerDebugFrameImpl_.addAppender(appender); + final StringWriter stringWriter = new StringWriter(); + final PatternLayout layout = PatternLayout.newBuilder().withPattern("%msg%n").build(); + + final WriterAppender writerAppender = WriterAppender.newBuilder().setName("writeLogger").setTarget(stringWriter) + .setLayout(layout).build(); + writerAppender.start(); + + loggerDebugFrameImpl_.addAppender(writerAppender); try { client_.getPage(url); } finally { - loggerDebugFrameImpl_.removeAppender(appender); + loggerDebugFrameImpl_.removeAppender(writerAppender); } - assertEquals(expectedLog, sw.toString()); + assertEquals(expectedLog, stringWriter.toString()); } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/FunctionsWrapperTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/FunctionsWrapperTest.java index b4ef2b6801f..a488cc392bd 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/FunctionsWrapperTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/FunctionsWrapperTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/GlobalFunctionsTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/GlobalFunctionsTest.java index cf8b5436794..8a633fd8afe 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/GlobalFunctionsTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/GlobalFunctionsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -175,4 +175,30 @@ public void encodeURIComponentUtf8() throws Exception { final WebDriver driver = loadPage2(html, URL_FIRST, "text/html;charset=UTF-8", UTF_8); verifyAlerts(driver, getExpectedAlerts()); } + + /** + * Test case for https://github.com/HtmlUnit/htmlunit/issues/94. + * @throws Exception if the test fails + */ + @Test + @Alerts({"\u00ee\u0010\u0043\u0072\u00f4\u00ef\u00b6\u0062\u0034", + "\u00ee\u0010\u0043\u0072\u00f4\u00ef\u00b6\u0062\u0034"}) + public void decodeURIComponent() throws Exception { + final String html + = "\n" + + "foo\n" + + "\n" + + "\n" + + "\n" + + ""; + + loadPageWithAlerts2(html); + } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/HtmlUnitContextFactoryTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/HtmlUnitContextFactoryTest.java index 5dcfd57c3c1..cfee95a5e32 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/HtmlUnitContextFactoryTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/HtmlUnitContextFactoryTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -37,7 +37,7 @@ public void customBrowserVersion() throws Exception { final String html = ""; final BrowserVersion browserVersion - = new BrowserVersion.BrowserVersionBuilder(BrowserVersion.FIREFOX_52) + = new BrowserVersion.BrowserVersionBuilder(BrowserVersion.FIREFOX_68) .setApplicationName("Firefox") .setApplicationVersion("5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0") .setUserAgent("Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0") diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEConditionalCompilationTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEConditionalCompilationTest.java index ca84aa5f32b..f6e838f3d26 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEConditionalCompilationTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEConditionalCompilationTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEWeirdSyntaxTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEWeirdSyntaxTest.java index 8ebb3da950c..b9a03cf4472 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEWeirdSyntaxTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/IEWeirdSyntaxTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -82,11 +82,14 @@ private void doTestTryCatchFinally(final String beforeCatch, final String before */ @Test public void windowDotHandlerFunction() throws Exception { - final String html = "\n" + final String html = "\n" + + "\n" + + "\n" + + "\n" + ""; doTestWithEvaluatorExceptionExcept(html); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/IteratorTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/IteratorTest.java index ec35766b743..a00cc047fde 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/IteratorTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/IteratorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -33,8 +33,7 @@ public class IteratorTest extends WebDriverTestCase { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "Iterator not available", - FF52 = {"first,1", "second,2"}) + @Alerts("Iterator not available") public void simple() throws Exception { final String html = "\n" @@ -60,8 +59,7 @@ public void simple() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = "Iterator not available", - FF52 = "[object StopIteration]") + @Alerts("Iterator not available") public void stopIteration() throws Exception { final String html = "\n" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java index 4075c7aba44..8e93375fec9 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngine2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -16,6 +16,8 @@ import static org.junit.Assert.fail; +import java.net.URL; + import org.junit.Test; import org.junit.runner.RunWith; import org.openqa.selenium.By; @@ -874,4 +876,69 @@ public void functioNamesExceptionsStrict() throws Exception { loadPageWithAlerts2(html); } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("false") + public void ctorBooleanDocumentAll() throws Exception { + final String html = "foo\n" + + "\n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("exception") + public void javaNotAccessable() throws Exception { + final String html = "\n" + + "\n" + + "\n" + + "\n" + + ""; + + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("Received: from worker - exception") + public void javaNotAccessableFromWorker() throws Exception { + final String html = "\n" + + "\n"; + + final String workerJs = "var pi = 'from worker';\n" + + "try {\n" + + " pi = pi + ' - ' + java.lang.Math.PI\n" + + "} catch (e) { pi = pi + ' - ' + 'exception'; }\n" + + "postMessage(pi);\n"; + + getMockWebConnection().setResponse(new URL(URL_FIRST, "worker.js"), workerJs); + + loadPageWithAlerts2(html, 2000); + } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngineTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngineTest.java index 05900235460..7226fab7f54 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngineTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavaScriptEngineTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavascriptErrorListener2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavascriptErrorListener2Test.java index 863eabeb93e..68d030c711d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavascriptErrorListener2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavascriptErrorListener2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavascriptErrorListenerTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavascriptErrorListenerTest.java index 271370874da..d5ed1971972 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavascriptErrorListenerTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/JavascriptErrorListenerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/MockActiveXObject.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/MockActiveXObject.java index 23371a7e020..b600e10af28 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/MockActiveXObject.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/MockActiveXObject.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeArrayTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeArrayTest.java index feee1ca18f3..c8176be3a34 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeArrayTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeArrayTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -409,7 +409,7 @@ public void fromUserDefinedIterable() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = {"TypeError"}, + @Alerts(DEFAULT = "TypeError", IE = "not supported") public void fromObject() throws Exception { final String html @@ -2015,4 +2015,29 @@ public void lastIndexOfStatic() throws Exception { loadPageWithAlerts2(html, URL_FIRST, DEFAULT_WAIT_TIME); } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = "3", + IE = "not supported") + public void of() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + "\n" + + "\n" + + ""; + + loadPageWithAlerts2(html); + } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeDateTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeDateTest.java index 1409cf7d23a..7953597066d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeDateTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeDateTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeErrorTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeErrorTest.java index 9555785ea89..b4674c70a0c 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeErrorTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeErrorTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -92,7 +92,7 @@ public void stackNewError() throws Exception { */ @Test @Alerts(DEFAULT = {"string", "true"}, - IE = {"undefined"}) + IE = "undefined") public void stackNewErrorWithoutThrow() throws Exception { final String html = "\n" + + "\n" + + " \n" + + ""; + + loadPageWithAlerts2(html); + } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeRegExpTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeRegExpTest.java index 4b613767278..d7d7af5751e 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeRegExpTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeRegExpTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeStringTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeStringTest.java index 1f2d0957244..ac7da32e578 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeStringTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/NativeStringTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/PostponedActionTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/PostponedActionTest.java index 3bad5e2fd19..1902b036930 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/PostponedActionTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/PostponedActionTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/RhinoTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/RhinoTest.java index 3a2f4c3525b..74de7c855ec 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/RhinoTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/RhinoTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/ScriptRuntimeTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/ScriptRuntimeTest.java index 748ebd6b306..d5a273553a6 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/ScriptRuntimeTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/ScriptRuntimeTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/ScriptableObjectTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/ScriptableObjectTest.java index 66b553d3597..11641774b00 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/ScriptableObjectTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/ScriptableObjectTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/SimpleScriptable2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/SimpleScriptable2Test.java index 267aee50583..cd47a3e3da7 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/SimpleScriptable2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/SimpleScriptable2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,7 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -291,6 +291,17 @@ public void set_ReadOnly_window_length() throws Exception { set_ReadOnly("window.length"); } + /** + * Setting the property works in FF. + * + * @throws Exception if the test fails + */ + @Test + @Alerts("0") + public void set_ReadOnly_style_length() throws Exception { + set_ReadOnly("document.body.style.length"); + } + /** * All functions seem to be able to be set. * @@ -326,8 +337,9 @@ private void set_ReadOnly(final String expression) throws Exception { @Test @Alerts(DEFAULT = {"function", "true", "function get length() {\n [native code]\n}", "0", "0"}, CHROME = {"undefined", "false", "undefined", "exception"}, + FF68 = {"function", "true", "function length() {\n [native code]\n}", "0", "0"}, IE = {"function", "true", "\nfunction length() {\n [native code]\n}\n", "0", "0"}) - @NotYetImplemented({CHROME, FF}) + @NotYetImplemented({CHROME, FF60}) public void lookupGetter() throws Exception { final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ + "\n" + + ""; + + final WebDriver driver = loadPage2(html); + + final Logs logs = driver.manage().logs(); + final LogEntries logEntries = logs.get(LogType.BROWSER); + final List logEntryList = logEntries.getAll(); + + final int count = logEntryList.size(); + assertTrue(count > 0); + + long timestamp = 0; + for (int i = 0; i < 4; i++) { + final LogEntry logEntry = logEntryList.get(i); + assertTrue(logEntry.getMessage(), logEntry.getMessage().contains("test log " + i)); + assertTrue(logEntry.getTimestamp() >= timestamp); + timestamp = logEntry.getTimestamp(); + } + } + + /** + * @throws Exception if the test fails + */ + @Test + @BuggyWebDriver + public void assertOnly() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + ""; + + final WebDriver driver = loadPage2(html); + + final Logs logs = driver.manage().logs(); + final LogEntries logEntries = logs.get(LogType.BROWSER); + final List logEntryList = logEntries.getAll(); + + assertEquals(1, logEntryList.size()); + + final LogEntry logEntry = logEntryList.get(0); + assertTrue(logEntry.getMessage(), logEntry.getMessage().contains("Assertion failed")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @BuggyWebDriver + public void assertString() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + ""; + + final WebDriver driver = loadPage2(html); + + final Logs logs = driver.manage().logs(); + final LogEntries logEntries = logs.get(LogType.BROWSER); + final List logEntryList = logEntries.getAll(); + + assertEquals(1, logEntryList.size()); + + final LogEntry logEntry = logEntryList.get(0); + assertTrue(logEntry.getMessage(), logEntry.getMessage().contains("Assertion failed: the # is not even")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @BuggyWebDriver + public void assertObject() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + ""; + + final WebDriver driver = loadPage2(html); + + final Logs logs = driver.manage().logs(); + final LogEntries logEntries = logs.get(LogType.BROWSER); + final List logEntryList = logEntries.getAll(); + + assertEquals(1, logEntryList.size()); + + final LogEntry logEntry = logEntryList.get(0); + assertTrue(logEntry.getMessage(), logEntry.getMessage() + .contains("Assertion failed: ({number: 1.0, errorMsg: \"the # is not even\"})")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @BuggyWebDriver + public void assertObjects() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + ""; + + final WebDriver driver = loadPage2(html); + + final Logs logs = driver.manage().logs(); + final LogEntries logEntries = logs.get(LogType.BROWSER); + final List logEntryList = logEntries.getAll(); + + assertEquals(1, logEntryList.size()); + + final LogEntry logEntry = logEntryList.get(0); + assertTrue(logEntry.getMessage(), logEntry.getMessage() + .contains("Assertion failed: ({number: 1.0}) ({errorMsg: \"the # is not even\"})")); + } + + /** + * @throws Exception if the test fails + */ + @Test + @BuggyWebDriver + public void assertParams() throws Exception { + final String html + = "\n" + + "\n" + + "\n" + + ""; + + final WebDriver driver = loadPage2(html); + + final Logs logs = driver.manage().logs(); + final LogEntries logEntries = logs.get(LogType.BROWSER); + final List logEntryList = logEntries.getAll(); + + assertEquals(1, logEntryList.size()); + + final LogEntry logEntry = logEntryList.get(0); + assertTrue(logEntry.getMessage(), logEntry.getMessage() + .contains("Assertion failed: the word is foo")); + } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java index f95a5d6e4e1..50c9dac1e92 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ElementTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ExternalTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ExternalTest.java index 16b0542a6ee..1cb3e7c6e96 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ExternalTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ExternalTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,9 +14,6 @@ */ package com.gargoylesoftware.htmlunit.javascript.host; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; - import org.junit.Test; import org.junit.runner.RunWith; @@ -100,16 +97,21 @@ public void addSearchProvider() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts({"IsSearchProviderInstalled defined", "IsSearchProviderInstalled: 0"}) - @BuggyWebDriver({IE, CHROME}) // fail with missing permission + @Alerts(DEFAULT = {"IsSearchProviderInstalled defined", "IsSearchProviderInstalled: 0"}, + FF68 = {"IsSearchProviderInstalled defined", "IsSearchProviderInstalled: undefined"}) + // fail with missing permission + @BuggyWebDriver(IE = {"IsSearchProviderInstalled defined", "exception"}, + CHROME = {"IsSearchProviderInstalled defined", "IsSearchProviderInstalled: undefined"}) public void isSearchProviderInstalled() throws Exception { final String html = "foo\n" + + "\n" + + " \n" + + "\n" + + "\n"; + + final WebDriver driver = loadPage2(html); + + verifyAlerts(() -> driver.findElement(By.id("log")) + .getAttribute("value").trim().replaceAll("\r", ""), String.join("\n", getExpectedAlerts())); + } + /** * @throws Exception if an error occurs */ diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ReflectTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ReflectTest.java index 67baac08ffa..d4f0c5baade 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ReflectTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ReflectTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ScreenTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ScreenTest.java index ec934a0acc3..59017968f4d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ScreenTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/ScreenTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SetTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SetTest.java index f769159c64a..c872ac33b9c 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SetTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SetTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/StorageTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/StorageTest.java index 1c0af18b1f4..7a26d693903 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/StorageTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/StorageTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,7 +14,6 @@ */ package com.gargoylesoftware.htmlunit.javascript.host; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; import java.util.List; @@ -162,7 +161,8 @@ public void globalStorage() throws Exception { */ @Test @Alerts("I was here") - @BuggyWebDriver({CHROME, FF}) + @BuggyWebDriver(CHROME = "null", + FF = "null") // The way ChromeDriver and FFDriver start the real browsers clears the LocalStorage somehow. // But when executed manually the LocalStorage is shared. @NotYetImplemented diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SymbolTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SymbolTest.java index 0b9332345aa..4fc639f640d 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SymbolTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/SymbolTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextDecoderTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextDecoderTest.java index d094858d1b9..a5f3c70cf37 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextDecoderTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextDecoderTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -736,7 +736,7 @@ public void encode() throws Exception { * @throws Exception on test failure */ @Test - @Alerts(DEFAULT = {"HtmlUnit"}, + @Alerts(DEFAULT = "HtmlUnit", IE = "no TextDecoder") public void decode() throws Exception { final String html = "\n" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextEncoderTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextEncoderTest.java index 141b0b5b749..8405f053d29 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextEncoderTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/TextEncoderTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/URLSearchParamsTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/URLSearchParamsTest.java index ba019fb378d..0989d7d4bca 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/URLSearchParamsTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/URLSearchParamsTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,6 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript.host; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF60; import org.junit.Test; import org.junit.runner.RunWith; @@ -256,10 +257,12 @@ public void set() throws Exception { @Test @Alerts(DEFAULT = {"function keys() { [native code] }", "[object Iterator]", "key1", "key2", "key1", "", "true"}, - FF = {"function keys() {\n [native code]\n}", "[object URLSearchParamsIterator]", + FF60 = {"function keys() {\n [native code]\n}", "[object URLSearchParamsIterator]", + "key1", "key2", "key1", "", "true"}, + FF68 = {"function keys() {\n [native code]\n}", "[object URLSearchParams Iterator]", "key1", "key2", "key1", "", "true"}, IE = {}) - @NotYetImplemented(CHROME) + @NotYetImplemented({CHROME, FF60}) public void keys() throws Exception { final String html = "\n" @@ -299,10 +302,12 @@ public void keys() throws Exception { @Test @Alerts(DEFAULT = {"function values() { [native code] }", "[object Iterator]", "val1", "", "val3", "val4", "true"}, - FF = {"function values() {\n [native code]\n}", "[object URLSearchParamsIterator]", + FF60 = {"function values() {\n [native code]\n}", "[object URLSearchParamsIterator]", + "val1", "", "val3", "val4", "true"}, + FF68 = {"function values() {\n [native code]\n}", "[object URLSearchParams Iterator]", "val1", "", "val3", "val4", "true"}, IE = {}) - @NotYetImplemented(CHROME) + @NotYetImplemented({CHROME, FF60}) public void values() throws Exception { final String html = "\n" @@ -342,10 +347,12 @@ public void values() throws Exception { @Test @Alerts(DEFAULT = {"function entries() { [native code] }", "[object Iterator]", "key1-val1", "key2-", "key1-val3", "-val4", "true"}, - FF = {"function entries() {\n [native code]\n}", "[object URLSearchParamsIterator]", + FF60 = {"function entries() {\n [native code]\n}", "[object URLSearchParamsIterator]", + "key1-val1", "key2-", "key1-val3", "-val4", "true"}, + FF68 = {"function entries() {\n [native code]\n}", "[object URLSearchParams Iterator]", "key1-val1", "key2-", "key1-val3", "-val4", "true"}, IE = {}) - @NotYetImplemented(CHROME) + @NotYetImplemented({CHROME, FF60}) public void entries() throws Exception { final String html = "\n" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/URLTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/URLTest.java index b2ba7e4802c..bb844ca69df 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/URLTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/URLTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WeakMapTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WeakMapTest.java index e125a05b3c0..1e8262180f1 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WeakMapTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WeakMapTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -61,7 +61,7 @@ public void constructorArray() throws Exception { */ @Test @Alerts(DEFAULT = "exception", - IE = {"false"}) + IE = "false") @NotYetImplemented(IE) public void constructorSetParam() throws Exception { final String html diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WeakSetTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WeakSetTest.java index b37ae2f0011..e9882054618 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WeakSetTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WeakSetTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WebSocketTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WebSocketTest.java index 7b4ca19d163..e50c7062cb2 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WebSocketTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WebSocketTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,6 +14,7 @@ */ package com.gargoylesoftware.htmlunit.javascript.host; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import static java.nio.charset.StandardCharsets.UTF_16LE; @@ -395,22 +396,132 @@ public void onWebSocketClose(final int closeCode, final String message) { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = {"onOpenListener", "onOpen", - "onMessageTextListener", "server_text", "§§URL§§", "", "null", - "onMessageText", "server_text", "§§URL§§", "", "null", - "onMessageBinaryListener", "[object ArrayBuffer]", "§§URL§§", "", "null", - "onMessageBinary", "[object ArrayBuffer]", "§§URL§§", "", "null", + @Alerts(DEFAULT = {"onOpenListener", + "onOpen", "open", "[object WebSocket]", "[object WebSocket]", + "undefined", "undefined", "undefined", "undefined", + "onMessageTextListener", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "§§URL§§", "", "null", + "onMessageText", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "§§URL§§", "", "null", + "onMessageBinaryListener", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "§§URL§§", "", "null", + "onMessageBinary", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "§§URL§§", "", "null", + "onCloseListener code: 1000", + "onClose code: 1000"}, + FF60 = {"onOpenListener", + "onOpen", "open", "[object WebSocket]", "undefined", + "undefined", "undefined", "undefined", "undefined", + "onMessageTextListener", "message", "[object WebSocket]", "undefined", + "server_text", "§§URL§§", "", "null", + "onMessageText", "message", "[object WebSocket]", "undefined", + "server_text", "§§URL§§", "", "null", + "onMessageBinaryListener", "message", "[object WebSocket]", "undefined", + "[object ArrayBuffer]", "§§URL§§", "", "null", + "onMessageBinary", "message", "[object WebSocket]", "undefined", + "[object ArrayBuffer]", "§§URL§§", "", "null", + "onCloseListener code: 1000", + "onClose code: 1000"}, + IE = {"onOpenListener", + "onOpen", "open", "[object WebSocket]", "[object WebSocket]", + "undefined", "undefined", "undefined", "undefined", + "onMessageTextListener", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "", "undefined", "null", + "onMessageText", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "", "undefined", "null", + "onMessageBinaryListener", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "", "undefined", "null", + "onMessageBinary", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "", "undefined", "null", + "onCloseListener code: 1005", + "onClose code: 1005"}) + @NotYetImplemented(IE) + public void events() throws Exception { + expandExpectedAlertsVariables("ws://localhost:" + PORT); + final String expected = String.join("\n", getExpectedAlerts()); + + startWebServer("src/test/resources/com/gargoylesoftware/htmlunit/javascript/host", + null, null, new EventsWebSocketHandler()); + try { + final WebDriver driver = getWebDriver(); + driver.get(URL_FIRST + "WebSocketTest_events.html"); + + final WebElement logElement = driver.findElement(By.id("log")); + final long maxWait = System.currentTimeMillis() + DEFAULT_WAIT_TIME; + + String text; + do { + Thread.sleep(100); + + text = logElement.getAttribute("value").trim().replaceAll("\r", ""); + } + while (text.length() <= expected.length() && System.currentTimeMillis() < maxWait); + + assertEquals(expected, text); + } + finally { + stopWebServers(); + } + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts(DEFAULT = {"onOpenListener", + "onOpen", "open", "[object WebSocket]", "[object WebSocket]", + "undefined", "undefined", "undefined", "undefined", + "onMessageTextListener", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "§§URL§§", "", "null", + "onMessageText", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "§§URL§§", "", "null", + "onMessageBinaryListener", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "§§URL§§", "", "null", + "onMessageBinary", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "§§URL§§", "", "null", "onCloseListener code: 1000 wasClean: true", "onClose code: 1000 wasClean: true"}, - IE = {"onOpenListener", "onOpen", - "onMessageTextListener", "server_text", "", "undefined", "null", - "onMessageText", "server_text", "", "undefined", "null", - "onMessageBinaryListener", "[object ArrayBuffer]", "", "undefined", "null", - "onMessageBinary", "[object ArrayBuffer]", "", "undefined", "null", + FF68 = {"onOpenListener", + "onOpen", "open", "[object WebSocket]", "[object WebSocket]", + "undefined", "undefined", "undefined", "undefined", + "onMessageTextListener", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "§§URL§§", "", "null", + "onMessageText", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "§§URL§§", "", "null", + "onMessageBinaryListener", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "§§URL§§", "", "null", + "onMessageBinary", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "§§URL§§", "", "null", + "onCloseListener code: 1000 wasClean: false", + "onClose code: 1000 wasClean: false"}, + FF60 = {"onOpenListener", + "onOpen", "open", "[object WebSocket]", "undefined", + "undefined", "undefined", "undefined", "undefined", + "onMessageTextListener", "message", "[object WebSocket]", "undefined", + "server_text", "§§URL§§", "", "null", + "onMessageText", "message", "[object WebSocket]", "undefined", + "server_text", "§§URL§§", "", "null", + "onMessageBinaryListener", "message", "[object WebSocket]", "undefined", + "[object ArrayBuffer]", "§§URL§§", "", "null", + "onMessageBinary", "message", "[object WebSocket]", "undefined", + "[object ArrayBuffer]", "§§URL§§", "", "null", + "onCloseListener code: 1000 wasClean: false", + "onClose code: 1000 wasClean: false"}, + IE = {"onOpenListener", + "onOpen", "open", "[object WebSocket]", "[object WebSocket]", + "undefined", "undefined", "undefined", "undefined", + "onMessageTextListener", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "", "undefined", "null", + "onMessageText", "message", "[object WebSocket]", "[object WebSocket]", + "server_text", "", "undefined", "null", + "onMessageBinaryListener", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "", "undefined", "null", + "onMessageBinary", "message", "[object WebSocket]", "[object WebSocket]", + "[object ArrayBuffer]", "", "undefined", "null", "onCloseListener code: 1005 wasClean: true", "onClose code: 1005 wasClean: true"}) - @NotYetImplemented(IE) - public void events() throws Exception { + @NotYetImplemented({FF, IE}) + public void wasClean() throws Exception { expandExpectedAlertsVariables("ws://localhost:" + PORT); final String expected = String.join("\n", getExpectedAlerts()); @@ -418,7 +529,7 @@ public void events() throws Exception { null, null, new EventsWebSocketHandler()); try { final WebDriver driver = getWebDriver(); - driver.get(URL_FIRST + "WebSocketTest_events.html"); + driver.get(URL_FIRST + "WebSocketTest_wasClean.html"); final WebElement logElement = driver.findElement(By.id("log")); final long maxWait = System.currentTimeMillis() + DEFAULT_WAIT_TIME; @@ -446,17 +557,16 @@ public void events() throws Exception { "onCloseListener code: 1006 wasClean: false", "onClose code: 1006 wasClean: false"}) public void eventsNoSocketServer() throws Exception { - startWebServer("src/test/resources/com/gargoylesoftware/htmlunit/javascript/host", - null, null, null); + startWebServer("src/test/resources/com/gargoylesoftware/htmlunit/javascript/host", null, null, null); try { final WebDriver driver = getWebDriver(); - driver.get(URL_FIRST + "WebSocketTest_events.html"); + driver.get(URL_FIRST + "WebSocketTest_wasClean.html"); final WebElement logElement = driver.findElement(By.id("log")); int counter = 0; String text; do { - Thread.sleep(100); + Thread.sleep(DEFAULT_WAIT_TIME); text = logElement.getAttribute("value").trim().replaceAll("\r", ""); } @@ -587,4 +697,27 @@ public void prototypeUrl() throws Exception { + ""; loadPageWithAlerts2(html); } + + /** + * @throws Exception if the test fails + */ + @Test + public void socketsGetClosedOnPageReplace() throws Exception { + startWebServer("src/test/resources/com/gargoylesoftware/htmlunit/javascript/host", + null, null, new ChatWebSocketHandler()); + try { + final WebDriver driver = getWebDriver(); + driver.get(URL_FIRST + "WebSocketTest_chat.html"); + + driver.findElement(By.id("username")).sendKeys("Browser"); + driver.findElement(By.id("joinB")).click(); + + assertVisible("joined", driver); + + driver.get(URL_FIRST + "plain.html"); + } + finally { + stopWebServers(); + } + } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java index 0edf6c14ac9..d0c65783509 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/Window2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -15,7 +15,7 @@ package com.gargoylesoftware.htmlunit.javascript.host; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF52; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import org.junit.Test; import org.junit.runner.RunWith; @@ -29,6 +29,7 @@ import com.gargoylesoftware.htmlunit.BrowserRunner.NotYetImplemented; import com.gargoylesoftware.htmlunit.WebDriverTestCase; import com.gargoylesoftware.htmlunit.html.HtmlPageTest; +import com.gargoylesoftware.htmlunit.util.MimeType; /** * Tests for {@link Window}. The only difference with {@link WindowTest} is that these @@ -178,6 +179,23 @@ public void atobUnicode() throws Exception { loadPageWithAlerts2(html); } + /** + * @throws Exception if the test fails + */ + @Test + @Alerts({"M8OuwqY=", "3\u00C3\u00AE\u00C2\u00A6"}) + public void atobUnicodeOutput() throws Exception { + final String html + = "\n" + + "\n" + + ""; + loadPageWithAlerts2(html); + } + /** * @throws Exception if the test fails */ @@ -728,8 +746,8 @@ public void IEScriptEngineXxx() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(CHROME = {"true", "true", "133", "true", "true", "10"}, - FF = {"true", "true", "94", "true", "true", "14"}, + @Alerts(CHROME = {"true", "true", "92", "true", "true", "16"}, + FF = {"true", "true", "86", "true", "true", "14"}, IE = {"true", "true", "63", "true", "true", "16"}) public void heightsAndWidths() throws Exception { final String html @@ -751,7 +769,9 @@ public void heightsAndWidths() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts({"true", "1234"}) + @Alerts(DEFAULT = {"true", "1234"}, + IE = {"true", "1256"}) + @NotYetImplemented(IE) public void setInnerWidth() throws Exception { final String html = "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", + com.gargoylesoftware.htmlunit.util.MimeType.TEXT_HTML); loadPageWithAlerts2(html); } @@ -1434,6 +1436,8 @@ public void openWindow_aboutblank_document_img() throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", + com.gargoylesoftware.htmlunit.util.MimeType.TEXT_HTML); loadPageWithAlerts2(html); } @@ -1456,6 +1460,8 @@ public void openWindow_empty_img() throws Exception { + "\n" + "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", + com.gargoylesoftware.htmlunit.util.MimeType.TEXT_HTML); loadPageWithAlerts2(html); } @@ -1758,6 +1764,8 @@ public void onloadScript() throws Exception { + " \n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", + com.gargoylesoftware.htmlunit.util.MimeType.TEXT_HTML); final WebDriver driver = loadPage2(html); Thread.sleep(200); @@ -2233,17 +2241,28 @@ public void propagationNestedDetached() throws Exception { "property: prevented=true returnValue: true -> return true", "listener: prevented=true returnValue: true -> x (x)", "listener: prevented=true returnValue: x -> null (null)"}, + FF68 = {"listener: stop propagation & return false", + "FIRED a1", + "listener: return true", + "property: return false", + "listener: return true", + "listener: prevented=false returnValue: true -> false (false)", + "listener: prevented=true returnValue: false -> true (false)", + "listener: prevented=true returnValue: false -> preventDefault() (false)", + "property: prevented=true returnValue: false -> return true", + "listener: prevented=true returnValue: false -> x (false)", + "listener: prevented=true returnValue: false -> null (false)"}, CHROME = {"listener: stop propagation & return false", "FIRED a1", "listener: return true", "property: return false", "listener: return true", "listener: prevented=false returnValue: true -> false (false)", - "listener: prevented=true returnValue: false -> true (true)", - "listener: prevented=false returnValue: true -> preventDefault() (false)", + "listener: prevented=true returnValue: false -> true (false)", + "listener: prevented=true returnValue: false -> preventDefault() (false)", "property: prevented=true returnValue: false -> return true", - "listener: prevented=true returnValue: false -> x (true)", - "listener: prevented=false returnValue: true -> null (false)"}) + "listener: prevented=true returnValue: false -> x (false)", + "listener: prevented=true returnValue: false -> null (false)"}) public void stopPropagation() throws Exception { final String html = HtmlPageTest.STANDARDS_MODE_PREFIX_ + "\n" diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrency2Test.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrency2Test.java index 79fa79df699..e56eceff9f1 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrency2Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrency2Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrencyTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrencyTest.java index 0e2d6c6d5fd..fb4eec631bb 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrencyTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowConcurrencyTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowTest.java index 9f56033529d..d62216175ef 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/WindowTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,7 +14,6 @@ */ package com.gargoylesoftware.htmlunit.javascript.host; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.FF52; import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.IE; import static org.junit.Assert.fail; @@ -970,7 +969,7 @@ public void openWindow_text() throws Exception { final List emptyList = Collections.emptyList(); webConnection.setResponse(URL_FIRST, firstContent, 200, "OK", MimeType.TEXT_HTML, emptyList); - webConnection.setResponse(URL_SECOND, secondContent, 200, "OK", "text/plain", emptyList); + webConnection.setResponse(URL_SECOND, secondContent, 200, "OK", MimeType.TEXT_PLAIN, emptyList); webClient.setWebConnection(webConnection); final HtmlPage firstPage = webClient.getPage(URL_FIRST); @@ -999,7 +998,7 @@ public void webWindowClosed(final WebWindowEvent event) { final HtmlAnchor anchor = firstPage.getHtmlElementById("link"); final Page secondPage = anchor.click(); assertEquals("First", firstPage.getTitleText()); - assertEquals("text/plain", secondPage.getWebResponse().getContentType()); + assertEquals(MimeType.TEXT_PLAIN, secondPage.getWebResponse().getContentType()); assertEquals(2, events.size()); @@ -1194,7 +1193,7 @@ public void webWindowClosed(final WebWindowEvent event) { @Test @Alerts(DEFAULT = {"undefined", "Jane", "Smith", "sdg", "finished"}, CHROME = "not available", - FF60 = "not available") + FF = "not available") public void showModalDialog() throws Exception { final String html1 = "\n" + "\n" - + " " + + " " + ""; loadPageWithAlerts(html); @@ -78,7 +78,33 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64," +// + "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAHklEQVR42mNgg" +// + "ID/VMJwMGrgqIGjBo4aOGrgiDMQAMu0ZqjgcrwWAAAAAElFTkSuQmCC") +// public void fillRectWidthHeight() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " // + ""; // // loadPageWithAlerts(html); @@ -105,7 +131,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -135,7 +161,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -162,7 +188,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -189,7 +215,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -220,7 +246,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -250,7 +276,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -277,7 +303,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -309,7 +335,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -338,7 +364,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -368,7 +394,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -399,7 +425,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -429,7 +455,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -458,7 +484,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -487,7 +513,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -516,7 +542,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -546,7 +572,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -575,7 +601,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -606,7 +632,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -633,7 +659,66 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64," +// + "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAoUlEQVR42mNgGAVAYAHE04F4PhCXALE" +// + "MpYa9B+ICIE4B4uVA/B2Iu4GYhxwDZ0MNQwYqQLwdiK8DsQY5BmbgkMuBut6FFANzoN7EBTyA+DkQCx" +// + "BrICgCPhPwmgCp3m4G4t1AzEKtZAOKzctYIocioAGNgABqGupCS0MzqO39+0C8HprIKYpxZI3TodlwO" +// + "dTFGaSmSVzptACao+aTmmuGKQAA9NQeZdHpsYYAAAAASUVORK5CYII=") +// public void ellipseStroke() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64," +// + "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAlUlEQVR42mNgGAUg8P8/gwMQhwCxATUM2" +// + "wzE/5HwYyDOAGIOcl32Hwc+D8QKpBoYgsdAEP4MxC6kGGhAwECYoRykGHqbCENDSDEwhQgD15NiIAsQny" +// + "Zg4Hsg5iHFUBmoJnyG+pAa4y7QCMBl4Gxy0qULHpe+Jzexy+AJUxdysyMLNPuhJ6lmauR1A2iOAgUHy2h" +// + "RygAA45xHqtsvRxIAAAAASUVORK5CYII=") +// public void ellipseFill() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " // + ""; // // loadPageWithAlerts(html); @@ -661,7 +746,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -690,7 +775,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -718,7 +803,7 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " // + ""; // // loadPageWithAlerts(html); @@ -747,7 +832,215 @@ public void strokeRect() throws Exception { // + " }\n" // + "\n" // + "\n" -// + " " +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64," +// + "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAUElEQVR42mNgGAUjHfxnMADi7UD8HIjf" +// + "A/F+IDahxLDPQIwOfwOxBTkG7sZiGAweJsfA53gMfD8oDKS6l6kcKQhDQS59DU02h8k3bBQMHwAAK9tu" +// + "aRzvBV4AAAAASUVORK5CYII=") +// public void arcFillPath() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64," +// + "iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAoUlEQVR42mNgGLrgP4MKELcD8WUg/g7Ev" +// + "6FskJgOKQZxAHE31ABc8DfUYA5ChvEA8Wk8BqHD3UDMgs/A+SQYBoPduAwzIeBNfFADm4GTyTQMBPuxGX" +// + "iaAgNvYzPwOwUG/sdmILnhtxmIbbAZeJkEQ0C+mY49MkhLMs+BuAaIRYjJIfiSDcj1KeCET2L+XY0lJ7j" +// + "gzw2E8/FpqPc1GEbBgAAA5clFDZmvvgIAAAAASUVORK5CYII=") +// public void arcFillPathAngle() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAYU" +// + "lEQVR42mNgGAXUBhJA/J8MLIHP0PlQTAwgSq0KEH+H0tRQR7TNpPiEoO0kuY4YF5DkOkKu" +// + "IMt1+FxClutwuYYi12FzEUWuQ3elBzVch+zK/9RwHbIr/1PLdTBgMzzKPwBs1inGPcAUbg" +// + "AAAABJRU5ErkJggg==") +// public void closePath() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAFUl" +// + "EQVR42mNgGAWjYBSMglEwCqgDAAZUAAEyx8IOAAAAAElFTkSuQmCC") +// public void closePathNoSubpath() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAFUl" +// + "EQVR42mNgGAWjYBSMglEwCqgDAAZUAAEyx8IOAAAAAElFTkSuQmCC") +// public void closePathPointOnly() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAFUl" +// + "EQVR42mNgGAWjYBSMglEwCqgDAAZUAAEyx8IOAAAAAElFTkSuQmCC") +// public void closePathTwice() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " +// + ""; +// +// loadPageWithAlerts(html); +// } +// +// /** +// * @throws Exception if the test fails +// */ +// @Test +// @Alerts("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAA" +// + "XklEQVR42mNgoCHgIFGcoGHPgVgFTRzEfw3E8kD8Hw+WwGbofCjGJUZIHgOAXPMdyZWk" +// + "8hkIuZIcF+N0pQcO2wnJ43Tlfzy2E5LH6sr/eGwnJI8V2FAoPwpGwSjACwDUtCTLu8r4" +// + "+AAAAABJRU5ErkJggg==") +// public void closePathClosesOnlyLastSubpath() throws Exception { +// final String html = "\n" +// + "\n" +// + "\n" +// + " " // + ""; // // loadPageWithAlerts(html); diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/CanvasRenderingContext2DTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/CanvasRenderingContext2DTest.java index 014352caa7a..021c3ab9f80 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/CanvasRenderingContext2DTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/CanvasRenderingContext2DTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,6 +14,8 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.canvas; +import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; + import java.io.InputStream; import java.util.Collections; import java.util.List; @@ -278,17 +280,8 @@ private void drawImage(final String fileName) throws Exception { FF = "data:image/png;base64," + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4z8DwHwAFAAH/q842iQAAAABJRU5ErkJggg==", IE = "data:image/png;base64," - + "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKeSURBVDhP" - + "jVJNTxNRFD3zTSm1UyKlCsEIRCC6EVFijC5MFE1kqTv1B+jChXsSE6Nx48qYsDPRxI0rjR8JGDFGhRBRdiAhliKlLVRmhmk7" - + "nS/vey0IO8/Me2/m3nfuue++K4Dwen5ek5dXb6maFhdFEfSCO3YiAIqmNTc8dPZJ3cLB9716N37mxLGjE57nQxAEGszBVv5R" - + "W8OQAgv4PDX9aPjCuZucTSAtYLNcloIggE+DrUEQIiBCEAbEC/lgUWVZwqnBgRsvXr59wNkEHkCmZ1uZrwKymx5m1zz8KHhI" - + "Gy63bRgmcrk8jvR03X4zNta/HYCBbRAFER6ddSJTwawdgSU3w5R1FH0Vk8s2JC2KVGofWpNJYcN09jPevwBsUJDplRLWiSCI" - + "KtQGGQfiIlJRCU2ahPeLJiRJhKZpNRJhOwCxYVV9fM1WsLLpwvE8eK6PtqiIUKwdEUEVSxsO37uFXRnkrCrKrktEBzmjBMu2" - + "IQQeuvYIiIgBvq2WsLBWqgWrY0cN2E2F6Iy4uNotohFlTC0VcedDBpPpIpaLFmZ+G/w6d/B3H6FD1/ApbaCw/gdTiznMrazh" - + "Z3Yd39MFjM/l4Fcd9LZEeLZbkLdmZlTEEKdTEh5+WcVMoQpFZu4QjzM+787LfQm0NEpcjFqCo5YBFYwZVUXFUG8rBtsasZcK" - + "7VcrcCsVqHT+K306rg+0QWvQSIzkfM6sZVCpeNwok2IymcS1k024dNjCQsGmbgS6kzGkmmOIxWIkopCWAMeh2yDwDIrFPC+s" - + "QL2uKDJ0PY7Ojnac7z+Ei8d70HOwHYlEgmcoULOxvfl8lpeCZ/Ds+dNMQo9/bNYTUfbPwd18qs91kKRhGuX7d+/9Yr/cNzIy" - + "IpumqbDv/4Vt297o6Kj7F1Q7+m7gqVhgAAAAAElFTkSuQmCC") + + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAANSURBVBhXY" + + "/jPwPAfAAUAAf+mXJtdAAAAAElFTkSuQmCC") @NotYetImplemented // The output depends on the deflation algorithm // check the output of: $pngcheck -v file.png @@ -308,17 +301,8 @@ public void drawImage_1x1_32bits() throws Exception { FF = "data:image/png;base64," + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4z8DwHwAFAAH/q842iQAAAABJRU5ErkJggg==", IE = "data:image/png;base64," - + "iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKeSURBVDhP" - + "jVJNTxNRFD3zTSm1UyKlCsEIRCC6EVFijC5MFE1kqTv1B+jChXsSE6Nx48qYsDPRxI0rjR8JGDFGhRBRdiAhliKlLVRmhmk7" - + "nS/vey0IO8/Me2/m3nfuue++K4Dwen5ek5dXb6maFhdFEfSCO3YiAIqmNTc8dPZJ3cLB9716N37mxLGjE57nQxAEGszBVv5R" - + "W8OQAgv4PDX9aPjCuZucTSAtYLNcloIggE+DrUEQIiBCEAbEC/lgUWVZwqnBgRsvXr59wNkEHkCmZ1uZrwKymx5m1zz8KHhI" - + "Gy63bRgmcrk8jvR03X4zNta/HYCBbRAFER6ddSJTwawdgSU3w5R1FH0Vk8s2JC2KVGofWpNJYcN09jPevwBsUJDplRLWiSCI" - + "KtQGGQfiIlJRCU2ahPeLJiRJhKZpNRJhOwCxYVV9fM1WsLLpwvE8eK6PtqiIUKwdEUEVSxsO37uFXRnkrCrKrktEBzmjBMu2" - + "IQQeuvYIiIgBvq2WsLBWqgWrY0cN2E2F6Iy4uNotohFlTC0VcedDBpPpIpaLFmZ+G/w6d/B3H6FD1/ApbaCw/gdTiznMrazh" - + "Z3Yd39MFjM/l4Fcd9LZEeLZbkLdmZlTEEKdTEh5+WcVMoQpFZu4QjzM+787LfQm0NEpcjFqCo5YBFYwZVUXFUG8rBtsasZcK" - + "7VcrcCsVqHT+K306rg+0QWvQSIzkfM6sZVCpeNwok2IymcS1k024dNjCQsGmbgS6kzGkmmOIxWIkopCWAMeh2yDwDIrFPC+s" - + "QL2uKDJ0PY7Ojnac7z+Ei8d70HOwHYlEgmcoULOxvfl8lpeCZ/Ds+dNMQo9/bNYTUfbPwd18qs91kKRhGuX7d+/9Yr/cNzIy" - + "IpumqbDv/4Vt297o6Kj7F1Q7+m7gqVhgAAAAAElFTkSuQmCC") + + "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAANSURBVBhXY" + + "/jPwPAfAAUAAf+mXJtdAAAAAElFTkSuQmCC") @NotYetImplemented public void drawImage_1x1_24bits() throws Exception { drawImage("1x1red_24_bit_depth.png"); @@ -363,13 +347,14 @@ public void measureText() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts(CHROME = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAABVUl" - + "EQVRYR+3UMS9lURTF8Z+vwBcQDZ1ESyWZMSPRUChQk1FNohPVRDeJaCRaodAoJRoVrZrOF1BrZct9yXW" - + "D916yzTT7Vveec/c6a//POmfE22cSizhoDa8172f4hjs8deq6n2P4hb/YwiUemp9ibh+7H+i0a8PPc9S" - + "ODGH0Ajs4+mKjbUu/e00OYzQETnGMc/zE90Z1G3tYwBzuByT6A0tYbXTatTe4xhXW3jMaJqY7pNfRJjq" - + "FDUTHM43JiEiMzzfUB9n6MDqBP5j9rHYYol2j44jc9haIxXoZPxmC6CNu+9X+C6PLLWqxUe3GYhe+xGj" - + "cBkHyEKMDEg1zUbfZxOk1c82B7Gc0Du9KZLhLtM+t8/+my2g2+yJaRLMJZOtVRotoNoFsvcpoEc0mkK1" - + "XGS2i2QSy9SqjRTSbQLZeZbSIZhPI1quMFtFsAtl6ldEimk0gW+8FX3djZf6IgMoAAAAASUVORK5CYII=", + @Alerts(CHROME = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAABWEl" + + "EQVRYR+3UvUodURTF8d99BMkLiI12QlqtBI0INqawuLFWtArYiVWwE4QUgbSSFElhKViktLXWzhewtpU" + + "tc2Ey6P2AfbXZU82cM3udtf9nndPz/zOPDZy1hvvN+2+s4gYPnbru5wfs4xR7uMRd81PMneDoFZ12bfh" + + "5jNreBEYvcIgfUzbatvR10OQkRkPgF37iL9ax1qge4BifsIzbMYmGxia2G5127TX+4Qr9l4z+wWKH9Be" + + "0iS5gB9Hxx8ZkRCTGVxrq42x9GJ3DNywNq52EaNfoLCK3gwVisUHGzycgeo+gN7T2LYxutajFRrUbi12" + + "YitG4DYLkd8yMSTTMRd1uE6fnzDUHcpTROLyfI8NdoiNunfebLqPZ7ItoEc0mkK1XGS2i2QSy9SqjRTS" + + "bQLZeZbSIZhPI1quMFtFsAtl6ldEimk0gW68yWkSzCWTrVUaLaDaBbL0nX4NjZfKcb1cAAAAASUVORK5" + + "CYII=", FF = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAn0lEQVR" + "Yhe3S4Q2DIBCG4W+WzuEgTuIozOIw7kJ/FJLzehSpJibmfRJixOP8BKW9SVJyc6nMS9KiMdvBvr31X3o" + "Nmws7L/o3aNOvhqukXK61LpexmOf2Y44Etb1b69coaA6G39FaV9ma6AR6QW24uhHSBUfv67bBeh80BfO" @@ -442,4 +427,65 @@ public void createRadialGradient() throws Exception { + ""; loadPageWithAlerts2(html); } + + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts(DEFAULT = {"1", "0.5", "0", "0.699999988079071", "0"}, + CHROME = {"1", "0.5", "0", "0.7", "0"}) + @NotYetImplemented(CHROME) + public void globalAlpha() throws Exception { + final String html = + "\n" + + "\n" + + "\n" + + ""; + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if an error occurs + */ + @Test + @Alerts({"0.5", "0.5", "0.5", "0.5"}) + public void globalAlphaInvalid() throws Exception { + final String html = + "\n" + + "\n" + + "\n" + + ""; + loadPageWithAlerts2(html); + } } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/ImageDataTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/ImageDataTest.java index 0f61bcf9c46..7bdc5bfed4e 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/ImageDataTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/canvas/ImageDataTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -14,20 +14,18 @@ */ package com.gargoylesoftware.htmlunit.javascript.host.canvas; -import static com.gargoylesoftware.htmlunit.BrowserRunner.TestedBrowser.CHROME; - 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; /** * Tests for {@link ImageData}. * * @author Ahmed Ashour + * @author Ronald Brill */ @RunWith(BrowserRunner.class) public class ImageDataTest extends WebDriverTestCase { @@ -36,9 +34,7 @@ public class ImageDataTest extends WebDriverTestCase { * @throws Exception if an error occurs */ @Test - @Alerts(DEFAULT = {"200", "100", "50", "255", "100", "50", "125", "255", "123", "111", "222", "255"}, - CHROME = {"200", "100", "50", "255", "99", "50", "125", "255", "123", "111", "222", "255"}) - @NotYetImplemented(CHROME) + @Alerts({"200", "100", "50", "255", "100", "50", "125", "255", "123", "111", "222", "255"}) public void getImageData() throws Exception { final String html = "\n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); + loadPageWithAlerts2(html); } @@ -191,7 +193,7 @@ private void background(final String backgroundStyle) throws Exception { @Test @Alerts(DEFAULT = {"transparent", "none", "repeat", "0% 0%", "scroll"}, CHROME = {"rgba(0, 0, 0, 0)", "none", "repeat", "0% 0%", "scroll"}, - FF60 = {"rgba(0, 0, 0, 0)", "none", "repeat", "0% 0%", "scroll"}) + FF = {"rgba(0, 0, 0, 0)", "none", "repeat", "0% 0%", "scroll"}) public void backgroundCssEmpty() throws Exception { backgroundCss(""); } @@ -220,7 +222,7 @@ public void backgroundCssColorRgb() throws Exception { @Test @Alerts(DEFAULT = {"transparent", "url(\"§§URL§§myImage.png\")", "repeat", "0% 0%", "scroll"}, CHROME = {"rgba(0, 0, 0, 0)", "url(\"§§URL§§myImage.png\")", "repeat", "0% 0%", "scroll"}, - FF60 = {"rgba(0, 0, 0, 0)", "url(\"§§URL§§myImage.png\")", "repeat", "0% 0%", "scroll"}) + FF = {"rgba(0, 0, 0, 0)", "url(\"§§URL§§myImage.png\")", "repeat", "0% 0%", "scroll"}) public void backgroundCssImage() throws Exception { backgroundCss("url(myImage.png)"); } @@ -231,7 +233,7 @@ public void backgroundCssImage() throws Exception { @Test @Alerts(DEFAULT = {"transparent", "none", "repeat-x", "0% 0%", "scroll"}, CHROME = {"rgba(0, 0, 0, 0)", "none", "repeat-x", "0% 0%", "scroll"}, - FF60 = {"rgba(0, 0, 0, 0)", "none", "repeat-x", "0% 0%", "scroll"}) + FF = {"rgba(0, 0, 0, 0)", "none", "repeat-x", "0% 0%", "scroll"}) public void backgroundCssRepeat() throws Exception { backgroundCss("repeat-x"); } @@ -242,7 +244,7 @@ public void backgroundCssRepeat() throws Exception { @Test @Alerts(DEFAULT = {"transparent", "none", "repeat", "20px 100%", "scroll"}, CHROME = {"rgba(0, 0, 0, 0)", "none", "repeat", "20px 100%", "scroll"}, - FF60 = {"rgba(0, 0, 0, 0)", "none", "repeat", "20px 100%", "scroll"}) + FF = {"rgba(0, 0, 0, 0)", "none", "repeat", "20px 100%", "scroll"}) public void backgroundCssPosition() throws Exception { backgroundCss("20px 100%"); } @@ -253,7 +255,7 @@ public void backgroundCssPosition() throws Exception { @Test @Alerts(DEFAULT = {"transparent", "none", "repeat", "100% 100%", "scroll"}, CHROME = {"rgba(0, 0, 0, 0)", "none", "repeat", "100% 100%", "scroll"}, - FF60 = {"rgba(0, 0, 0, 0)", "none", "repeat", "100% 100%", "scroll"}) + FF = {"rgba(0, 0, 0, 0)", "none", "repeat", "100% 100%", "scroll"}) public void backgroundCssPosition2() throws Exception { backgroundCss("bottom right"); } @@ -264,7 +266,7 @@ public void backgroundCssPosition2() throws Exception { @Test @Alerts(DEFAULT = {"transparent", "none", "repeat", "0% 100%", "scroll"}, CHROME = {"rgba(0, 0, 0, 0)", "none", "repeat", "0% 100%", "scroll"}, - FF60 = {"rgba(0, 0, 0, 0)", "none", "repeat", "0% 100%", "scroll"}) + FF = {"rgba(0, 0, 0, 0)", "none", "repeat", "0% 100%", "scroll"}) public void backgroundCssPosition3() throws Exception { backgroundCss("left bottom"); } @@ -273,9 +275,7 @@ public void backgroundCssPosition3() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(FF = {"transparent", "none", "repeat", "50% 0%", "scroll"}, - CHROME = {"rgba(0, 0, 0, 0)", "none", "repeat", "50% 0%", "scroll"}, - FF60 = {"rgba(0, 0, 0, 0)", "none", "repeat", "50% 0%", "scroll"}, + @Alerts(DEFAULT = {"rgba(0, 0, 0, 0)", "none", "repeat", "50% 0%", "scroll"}, IE = {"transparent", "none", "repeat", "top", "scroll"}) public void backgroundCssPosition4() throws Exception { backgroundCss("top center"); @@ -287,7 +287,7 @@ public void backgroundCssPosition4() throws Exception { @Test @Alerts(DEFAULT = {"transparent", "none", "repeat", "0% 0%", "fixed"}, CHROME = {"rgba(0, 0, 0, 0)", "none", "repeat", "0% 0%", "fixed"}, - FF60 = {"rgba(0, 0, 0, 0)", "none", "repeat", "0% 0%", "fixed"}) + FF = {"rgba(0, 0, 0, 0)", "none", "repeat", "0% 0%", "fixed"}) public void backgroundCssAttachment() throws Exception { backgroundCss("fixed"); } @@ -338,6 +338,8 @@ private void backgroundCss(final String backgroundStyle) throws Exception { + " \n" + ""; + getMockWebConnection().setDefaultResponse("Error: not found", 404, "Not Found", MimeType.TEXT_HTML); + loadPageWithAlerts2(html); } diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration4Test.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration4Test.java index 42e6679f563..89340ed02c6 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration4Test.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclaration4Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. diff --git a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclarationTest.java b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclarationTest.java index 215978d27f6..45fcb3ea4e5 100644 --- a/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclarationTest.java +++ b/src/test/java/com/gargoylesoftware/htmlunit/javascript/host/css/CSSStyleDeclarationTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002-2019 Gargoyle Software Inc. + * Copyright (c) 2002-2020 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. @@ -907,6 +907,7 @@ public void display() throws Exception { @Test @Alerts(DEFAULT = {"none", "rgb(0, 128, 0)", "none", "rgb(0, 128, 0)"}, CHROME = {"", "", "none", "rgb(0, 128, 0)"}, + FF68 = {"", "", "none", "rgb(0, 128, 0)"}, IE = {"inline", "rgb(0, 0, 0)", "none", "rgb(0, 128, 0)"}) @NotYetImplemented(IE) public void displayDefaultOverwritesNone() throws Exception { @@ -936,10 +937,9 @@ public void displayDefaultOverwritesNone() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = {"block", "rgb(0, 0, 0)", "inline", "rgb(0, 0, 0)"}, + @Alerts(DEFAULT = {"inline", "rgb(0, 0, 0)", "inline", "rgb(0, 0, 0)"}, CHROME = {"", "", "inline", "rgb(0, 0, 0)"}, - FF60 = {"inline", "rgb(0, 0, 0)", "inline", "rgb(0, 0, 0)"}, - IE = {"inline", "rgb(0, 0, 0)", "inline", "rgb(0, 0, 0)"}) + FF68 = {"", "", "inline", "rgb(0, 0, 0)"}) public void displayDefault() throws Exception { final String html = "\n" + "\n" @@ -1529,7 +1529,7 @@ public void setProperty() throws Exception { */ @Test @Alerts(DEFAULT = {"green ", "black important", "green "}, - FF = {"green ", "green ", "green "}) + FF60 = {"green ", "green ", "green "}) public void setPropertyImportant() throws Exception { final String[] expected = getExpectedAlerts(); setPropertyBackgroundColor("'background-color', 'white', 'crucial'", expected[0]); @@ -2378,8 +2378,7 @@ public void getPropertyPriority() throws Exception { * @throws Exception if the test fails */ @Test - @Alerts(DEFAULT = {"black", "pink", "color: pink;", "color: pink;"}, - FF52 = {"BLACK", "pink", "color: pink;", "color: pink;"}) + @Alerts({"black", "pink", "color: pink;", "color: pink;"}) public void caseInsensitive() throws Exception { final String html = "First\n" + + + "\n" + + ""; + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("true") + public void offsetTopListItems() throws Exception { + final String html = "\n" + + "\n" + + "
      \n" + + "
    • row1
    • \n" + + "
    • row2
    • \n" + + "
    \n" + + + "\n" + + + "\n" + + ""; + loadPageWithAlerts2(html); + } + + /** + * @throws Exception if the test fails + */ + @Test + @Alerts("true") + public void offsetLeftAfterTable() throws Exception { + final String html = "\n" + + "\n" + + " \n" + + " \n" + + "
    abcdefghijklmnopqrstuvwxyz
    \n" + + "
    Heho
    \n" + + + "\n" + + + "\n" + + ""; + loadPageWithAlerts2(html); + } + /** * @throws Exception if the test fails */ @@ -1707,7 +1778,9 @@ public void selector() throws Exception { * @throws Exception if an error occurs */ @Test - @Alerts({"", "0px", "20%", "80px", "25%", "100px"}) + @Alerts(DEFAULT = {"", "0px", "20%", "80px", "25%", "100px"}, + FF68 = {"", "0px", "20%", "360px", "25%", "100px"}) + @NotYetImplemented(FF68) public void marginLeftRight() throws Exception { final String html = "\n" + "\n" @@ -679,7 +682,10 @@ public void createHTMLDocumentInnerAddImgAddDocToIframe() throws Exception { + "